Browse Source

storage-node: prettier formatting

Mokhtar Naamani 4 years ago
parent
commit
8b34fc03d2

+ 1 - 1
package.json

@@ -7,7 +7,7 @@
     "test": "yarn && yarn workspaces run test",
     "test-migration": "yarn && yarn workspaces run test-migration",
     "postinstall": "yarn workspace @joystream/types build && yarn workspace storage-node run build",
-	"cargo-checks": "devops/git-hooks/pre-commit && devops/git-hooks/pre-push",
+    "cargo-checks": "devops/git-hooks/pre-commit && devops/git-hooks/pre-push",
     "cargo-build": "scripts/cargo-build.sh",
     "lint": "yarn workspaces run lint"
   },

+ 3 - 4
storage-node/.travis.yml

@@ -1,9 +1,9 @@
 language: node_js
 
 node_js:
-    - 10
-    - 12
-    - 13
+  - 10
+  - 12
+  - 13
 
 services:
   - docker
@@ -12,4 +12,3 @@ script:
   - docker-compose -f ./scripts/compose/devchain-and-ipfs-node/docker-compose.yaml up -d
   - yarn test
   - docker-compose -f ./scripts/compose/devchain-and-ipfs-node/docker-compose.yaml stop
-

+ 70 - 70
storage-node/LICENSE.md

@@ -217,23 +217,23 @@ produce it from the Program, in the form of source code under the
 terms of section 4, provided that you also meet all of these
 conditions:
 
--   a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
--   b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under
-    section 7. This requirement modifies the requirement in section 4
-    to "keep intact all notices".
--   c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy. This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged. This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
--   d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
+- a) The work must carry prominent notices stating that you modified
+  it, and giving a relevant date.
+- b) The work must carry prominent notices stating that it is
+  released under this License and any conditions added under
+  section 7. This requirement modifies the requirement in section 4
+  to "keep intact all notices".
+- c) You must license the entire work, as a whole, under this
+  License to anyone who comes into possession of a copy. This
+  License will therefore apply, along with any applicable section 7
+  additional terms, to the whole of the work, and all its parts,
+  regardless of how they are packaged. This License gives no
+  permission to license the work in any other way, but it does not
+  invalidate such permission if you have separately received it.
+- d) If the work has interactive user interfaces, each must display
+  Appropriate Legal Notices; however, if the Program has interactive
+  interfaces that do not display Appropriate Legal Notices, your
+  work need not make them do so.
 
 A compilation of a covered work with other separate and independent
 works, which are not by their nature extensions of the covered work,
@@ -252,42 +252,42 @@ sections 4 and 5, provided that you also convey the machine-readable
 Corresponding Source under the terms of this License, in one of these
 ways:
 
--   a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
--   b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the Corresponding
-    Source from a network server at no charge.
--   c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source. This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
--   d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge. You need not require recipients to copy the
-    Corresponding Source along with the object code. If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source. Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
--   e) Convey the object code using peer-to-peer transmission,
-    provided you inform other peers where the object code and
-    Corresponding Source of the work are being offered to the general
-    public at no charge under subsection 6d.
+- a) Convey the object code in, or embodied in, a physical product
+  (including a physical distribution medium), accompanied by the
+  Corresponding Source fixed on a durable physical medium
+  customarily used for software interchange.
+- b) Convey the object code in, or embodied in, a physical product
+  (including a physical distribution medium), accompanied by a
+  written offer, valid for at least three years and valid for as
+  long as you offer spare parts or customer support for that product
+  model, to give anyone who possesses the object code either (1) a
+  copy of the Corresponding Source for all the software in the
+  product that is covered by this License, on a durable physical
+  medium customarily used for software interchange, for a price no
+  more than your reasonable cost of physically performing this
+  conveying of source, or (2) access to copy the Corresponding
+  Source from a network server at no charge.
+- c) Convey individual copies of the object code with a copy of the
+  written offer to provide the Corresponding Source. This
+  alternative is allowed only occasionally and noncommercially, and
+  only if you received the object code with such an offer, in accord
+  with subsection 6b.
+- d) Convey the object code by offering access from a designated
+  place (gratis or for a charge), and offer equivalent access to the
+  Corresponding Source in the same way through the same place at no
+  further charge. You need not require recipients to copy the
+  Corresponding Source along with the object code. If the place to
+  copy the object code is a network server, the Corresponding Source
+  may be on a different server (operated by you or a third party)
+  that supports equivalent copying facilities, provided you maintain
+  clear directions next to the object code saying where to find the
+  Corresponding Source. Regardless of what server hosts the
+  Corresponding Source, you remain obligated to ensure that it is
+  available for as long as needed to satisfy these requirements.
+- e) Convey the object code using peer-to-peer transmission,
+  provided you inform other peers where the object code and
+  Corresponding Source of the work are being offered to the general
+  public at no charge under subsection 6d.
 
 A separable portion of the object code, whose source code is excluded
 from the Corresponding Source as a System Library, need not be
@@ -363,23 +363,23 @@ Notwithstanding any other provision of this License, for material you
 add to a covered work, you may (if authorized by the copyright holders
 of that material) supplement the terms of this License with terms:
 
--   a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
--   b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
--   c) Prohibiting misrepresentation of the origin of that material,
-    or requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
--   d) Limiting the use for publicity purposes of names of licensors
-    or authors of the material; or
--   e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
--   f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions
-    of it) with contractual assumptions of liability to the recipient,
-    for any liability that these contractual assumptions directly
-    impose on those licensors and authors.
+- a) Disclaiming warranty or limiting liability differently from the
+  terms of sections 15 and 16 of this License; or
+- b) Requiring preservation of specified reasonable legal notices or
+  author attributions in that material or in the Appropriate Legal
+  Notices displayed by works containing it; or
+- c) Prohibiting misrepresentation of the origin of that material,
+  or requiring that modified versions of such material be marked in
+  reasonable ways as different from the original version; or
+- d) Limiting the use for publicity purposes of names of licensors
+  or authors of the material; or
+- e) Declining to grant rights under trademark law for use of some
+  trade names, trademarks, or service marks; or
+- f) Requiring indemnification of licensors and authors of that
+  material by anyone who conveys the material (or modified versions
+  of it) with contractual assumptions of liability to the recipient,
+  for any liability that these contractual assumptions directly
+  impose on those licensors and authors.
 
 All other non-permissive additional terms are considered "further
 restrictions" within the meaning of section 10. If the Program as you

+ 13 - 13
storage-node/README.md

@@ -3,17 +3,16 @@
 This repository contains several Node packages, located under the `packages/`
 subdirectory. See each individual package for details:
 
-* [colossus](./packages/colossus/README.md) - the main colossus app.
-* [storage-node-backend](./packages/storage/README.md) - abstraction over the storage backend.
-* [storage-runtime-api](./packages/runtime-api/README.md) - convenience wrappers for the runtime API.
-* [storage-utils](./packages/util/README.md) - general utility functions.
-* [discovery](./packages/discovery/README.md) - service discovery using IPNS.
-* [storage-cli](./packages/cli/README.md) - cli for uploading and downloading content from the network
+- [colossus](./packages/colossus/README.md) - the main colossus app.
+- [storage-node-backend](./packages/storage/README.md) - abstraction over the storage backend.
+- [storage-runtime-api](./packages/runtime-api/README.md) - convenience wrappers for the runtime API.
+- [storage-utils](./packages/util/README.md) - general utility functions.
+- [discovery](./packages/discovery/README.md) - service discovery using IPNS.
+- [storage-cli](./packages/cli/README.md) - cli for uploading and downloading content from the network
 
-Installation
-------------
+## Installation
 
-*Requirements*
+_Requirements_
 
 This project uses [yarn](https://yarnpkg.com/) as Node package manager. It also
 uses some node packages with native components, so make sure to install your
@@ -31,7 +30,7 @@ On Mac OS (using [homebrew](https://brew.sh/)):
 $ brew install libtool automake autoconf
 ```
 
-*Building*
+_Building_
 
 ```bash
 $ yarn install
@@ -43,7 +42,7 @@ The command will install dependencies, and make a `colossus` executable availabl
 $ yarn colossus --help
 ```
 
-*Testing*
+_Testing_
 
 Run an ipfs node and a joystream-node development chain (in separate terminals)
 
@@ -77,7 +76,8 @@ yarn colossus --dev
 Start pioneer ui:
 ``sh
 yarn workspace pioneer start
-```
+
+````
 
 Browse pioneer on http://localhost:3000/
 You should find Alice account is the storage working group lead and is a storage provider
@@ -100,4 +100,4 @@ scripts/build-joystream-node-docker-image.sh
 # Run docker-compose to start an ipfs node, and joystream-node in development mode
 # initializes the chain with development settings, and start a storage-node
 storage-node/scripts/run-dev-instance.sh
-```
+````

+ 10 - 10
storage-node/docs/json-signing.md

@@ -5,15 +5,15 @@ on the order in which keys are added or even the system's collation method,
 signing JSON cryptographically is fraught with issues. We circumvent them
 by wrapping any JSON to be signed in another JSON object:
 
-* `version` contains the version of the wrapper JSON, currently always `1`.
-* `serialized` contains the serialized version of the data, currently this
+- `version` contains the version of the wrapper JSON, currently always `1`.
+- `serialized` contains the serialized version of the data, currently this
   will be the base64 encoded, serialized JSON payload.
-* `signature` contains the base64 encoded signature of the `serialized` field
+- `signature` contains the base64 encoded signature of the `serialized` field
   value prior to its base64 encoding.
-* `payload` [optional] contains the deserialized JSON object corresponding
+- `payload` [optional] contains the deserialized JSON object corresponding
   to the `serialized` payload.
 
-For signing and verification, we'll use polkadot's *ed25519* or *sr25519* keys
+For signing and verification, we'll use polkadot's _ed25519_ or _sr25519_ keys
 directly.
 
 ## Signing Process
@@ -33,21 +33,21 @@ Given some structured data:
 1. Currently, verify that the `version` field's value is `1`.
 1. Try to base64 decode the `serialized` and `signature` fields.
 1. Verify that the decoded `signature` is valid for the decoded `serialized`
-  field.
+   field.
 1. JSON deserialize the decoded `serialized` field.
 1. Add the resulting structured data as the `payload` field, and return the
-  modified object.
+   modified object.
 
 # Alternatives
 
 There are alternative schemes available for signing JSON objects, but they
 have specific issues we'd like to avoid.
 
-* [JOSE](https://jose.readthedocs.io/en/latest/) has no support for the *ed25519*
-  or *sr25519* keys used in polkadot apps, and
+- [JOSE](https://jose.readthedocs.io/en/latest/) has no support for the _ed25519_
+  or _sr25519_ keys used in polkadot apps, and
   [appears to be fraught with security issues](https://paragonie.com/blog/2017/03/jwt-json-web-tokens-is-bad-standard-that-everyone-should-avoid).
   Either makes its use hard to justify.
-* While [PASETO](https://paseto.io/) does use *ed25519* keys and seems to have
+- While [PASETO](https://paseto.io/) does use _ed25519_ keys and seems to have
   a reasonably robuts JavaScript implementation, it requires its secret keys to
   be 512 bits long, while polkadot provides 256 bit secret keys. The implication
   is that we would have to manage 512 bit keys and their corresponding public

+ 1 - 1
storage-node/packages/cli/README.md

@@ -37,4 +37,4 @@ $ yarn storage-cli --help
     dev-init          Setup chain with Alice as lead and storage provider.
     dev-check         Check the chain is setup with Alice as lead and storage provider.
 
-```
+```

+ 1 - 3
storage-node/packages/cli/tsconfig.json

@@ -1,7 +1,5 @@
 {
-  "include": [
-    "src"
-  ],
+  "include": ["src"],
   "extends": "../../tsconfig.json",
   "compilerOptions": {
     "outDir": "dist",

+ 6 - 13
storage-node/packages/colossus/README.md

@@ -1,7 +1,6 @@
 ![Storage Nodes for Joystream](../../banner.svg)
 
-Development
------------
+## Development
 
 Run a development server (an ipfs node and development chain should be running on the local machine)
 
@@ -16,9 +15,7 @@ The setup can be done by running the dev-init command for the storage-cli:
 yarn storage-cli dev-init
 ```
 
-
-Command-Line
-------------
+## Command-Line
 
 ```sh
 $ yarn colossus --help
@@ -50,9 +47,7 @@ $ yarn colossus --help
 To run a storage server in production you will need to enroll on the network first to
 obtain your provider-id and role account.
 
-
-API Packages
-------------
+## API Packages
 
 Since it's not entirely clear yet how APIs will develop in future, the approach
 taken here is to package individual APIs up individually. That is, instead of
@@ -62,11 +57,10 @@ API package's path.
 For example, for a `foo` API in its version `v1`, its definitions should live
 in `./paths/foo/v1.js` and `./paths/foo/v1/*.js` respectively.
 
-*Note:* until a reasonably stable API is reached, this project uses a `v0`
+_Note:_ until a reasonably stable API is reached, this project uses a `v0`
 version prefix.
 
-Interface/implementation
-------------------------
+## Interface/implementation
 
 For reusability across API versions, it's best to keep files in the `paths`
 subfolder very thin, and instead inject implementations via the `dependencies`
@@ -75,8 +69,7 @@ configuration value of `express-openapi`.
 These implementations line to the `./lib` subfolder. Adjust `app.js` as
 needed to make them available to API packages.
 
-Streaming Notes
----------------
+## Streaming Notes
 
 For streaming content, it is required that stream metadata is located at the
 start of the stream. Most software writes metadata at the end of the stream,

+ 1 - 1
storage-node/packages/colossus/api-base.yml

@@ -2,7 +2,7 @@ openapi: '3.0.0'
 info:
   title: 'Joystream Storage Node API.'
   version: '1.0.0'
-paths: {}  # Will be populated by express-openapi
+paths: {} # Will be populated by express-openapi
 
 components:
   # Re-usable parameter definitions

+ 10 - 9
storage-node/packages/discovery/README.md

@@ -22,13 +22,14 @@ used in a browser environment, or the local ipfs node otherwise.
 There is a distinction in the discovery workflow:
 
 1. If run in the browser environment, a HTTP request to a participating node
-  is performed to discover nodes.
+   is performed to discover nodes.
 2. If run in a node.js process, instead:
-  - A trusted (local) IPFS node must be configured.
-  - The chain is queried to resolve a worker id to an IPNS id.
-  - The trusted IPFS node is used to resolve the IPNS id to an IPFS
-    file.
-  - The IPFS file is fetched; this contains the structured data.
+
+- A trusted (local) IPFS node must be configured.
+- The chain is queried to resolve a worker id to an IPNS id.
+- The trusted IPFS node is used to resolve the IPNS id to an IPFS
+  file.
+- The IPFS file is fetched; this contains the structured data.
 
 Web services providing the HTTP endpoint used in the first approach will
 themselves use the second approach for fulfilling queries.
@@ -61,8 +62,8 @@ use of the information.
 Additionally, some services may only provide an `endpoint` value, as defined
 here:
 
-* `version`: A numeric version identifier for the service info field.
-* `endpoint`: A publicly accessible base URL for a service API.
+- `version`: A numeric version identifier for the service info field.
+- `endpoint`: A publicly accessible base URL for a service API.
 
 The `endpoint` should include a scheme and full authority, such that appending
 `swagger.json` to the path resolves the OpenAPI definition of the API served
@@ -107,7 +108,7 @@ always `1`.
   "discovery": {
     "version": 1,
     "endpoint": "http://quux.io/"
-  },
+  }
 }
 ```
 

+ 0 - 2
storage-node/packages/helios/README.md

@@ -2,10 +2,8 @@
 
 A basic tool to scan the joystream storage network to get a birds eye view of the health of the storage providers and content replication status.
 
-
 ## Scanning
 
 ```
 yarn helios
 ```
-

+ 1 - 2
storage-node/packages/runtime-api/README.md

@@ -1,5 +1,4 @@
-Summary
-=======
+# Summary
 
 This package contains convenience functions for the runtime API.
 

+ 6 - 1
storage-node/packages/runtime-api/test/data/edwards.json

@@ -1 +1,6 @@
-{"address":"5HDnLpCjdbUBR6eyuz5geBJWzoZdXmWFXahEYrLg44rvToCK","encoded":"0x475f0c37c7893517f5a93c88b81208346211dfa9b0fd09e08bfd34f6e14da5468f48c6d9b0b4cbfbd7dd03a6f0730f5ee9a01b0cd30265e6b1b9fb652958889d5b174624568f49f3a671b8c330c3920814e938383749aa9046366ae6881281e0d053a9aa913a54ad53bd2f1dcf6c26e6b476495ea058832a36f122d09c18154577f951298ac72e6f471a6dca41e4d5741ed5db966001ae5ffd2b99d4c7","encoding":{"content":["pkcs8","ed25519"],"type":"xsalsa20-poly1305","version":"2"},"meta":{"name":"Edwards keypair for testing","whenCreated":1558974074691}}
+{
+  "address": "5HDnLpCjdbUBR6eyuz5geBJWzoZdXmWFXahEYrLg44rvToCK",
+  "encoded": "0x475f0c37c7893517f5a93c88b81208346211dfa9b0fd09e08bfd34f6e14da5468f48c6d9b0b4cbfbd7dd03a6f0730f5ee9a01b0cd30265e6b1b9fb652958889d5b174624568f49f3a671b8c330c3920814e938383749aa9046366ae6881281e0d053a9aa913a54ad53bd2f1dcf6c26e6b476495ea058832a36f122d09c18154577f951298ac72e6f471a6dca41e4d5741ed5db966001ae5ffd2b99d4c7",
+  "encoding": { "content": ["pkcs8", "ed25519"], "type": "xsalsa20-poly1305", "version": "2" },
+  "meta": { "name": "Edwards keypair for testing", "whenCreated": 1558974074691 }
+}

+ 6 - 1
storage-node/packages/runtime-api/test/data/edwards_unlocked.json

@@ -1 +1,6 @@
-{"address":"5EZxbX2arChvhYL7cEgSybJL3kzEeuPqqNYyLqRBJxZx7Mao","encoded":"0x3053020101300506032b65700422042071f2096e5857177f03768478d0c006f60d1ee684f14feaede0f9c17e139e65586ec832e5db75112b0a4585b6a9ffe58fa056e5b1228f02663e9e64743e65c9a5a1230321006ec832e5db75112b0a4585b6a9ffe58fa056e5b1228f02663e9e64743e65c9a5","encoding":{"content":["pkcs8","ed25519"],"type":"none","version":"2"},"meta":{"name":"Unlocked keypair for testing","whenCreated":1558975434890}}
+{
+  "address": "5EZxbX2arChvhYL7cEgSybJL3kzEeuPqqNYyLqRBJxZx7Mao",
+  "encoded": "0x3053020101300506032b65700422042071f2096e5857177f03768478d0c006f60d1ee684f14feaede0f9c17e139e65586ec832e5db75112b0a4585b6a9ffe58fa056e5b1228f02663e9e64743e65c9a5a1230321006ec832e5db75112b0a4585b6a9ffe58fa056e5b1228f02663e9e64743e65c9a5",
+  "encoding": { "content": ["pkcs8", "ed25519"], "type": "none", "version": "2" },
+  "meta": { "name": "Unlocked keypair for testing", "whenCreated": 1558975434890 }
+}

+ 6 - 1
storage-node/packages/runtime-api/test/data/schnorr.json

@@ -1 +1,6 @@
-{"address":"5GjxHjq9rtcxsfgcNswLGjYNRu8UmHAnYq7KfACE3yTjfYVk","encoded":"0x3dd5965708bbf4316c431ba8274b885a6017d82bc8bcb8c8b02e00c0c90356fb8a379f4be44bd454c76799d9d09bda7fc03c695340e23818f60cfcf00f3b48f42fb8d362e74f261354e99fff9cb2f91d899a722f0051db74d985602f3e95e49a99c73f77951022f98a99bb90981e3c1f60a5642ed583cd65b0161f8461d30f8b320bcd98cd7fb7ec71886d76825696d6fc11ac14a7391f2cdcb2b721d4","encoding":{"content":["pkcs8","sr25519"],"type":"xsalsa20-poly1305","version":"2"},"meta":{"name":"Schnorr keypair for testing","whenCreated":1558974091206}}
+{
+  "address": "5GjxHjq9rtcxsfgcNswLGjYNRu8UmHAnYq7KfACE3yTjfYVk",
+  "encoded": "0x3dd5965708bbf4316c431ba8274b885a6017d82bc8bcb8c8b02e00c0c90356fb8a379f4be44bd454c76799d9d09bda7fc03c695340e23818f60cfcf00f3b48f42fb8d362e74f261354e99fff9cb2f91d899a722f0051db74d985602f3e95e49a99c73f77951022f98a99bb90981e3c1f60a5642ed583cd65b0161f8461d30f8b320bcd98cd7fb7ec71886d76825696d6fc11ac14a7391f2cdcb2b721d4",
+  "encoding": { "content": ["pkcs8", "sr25519"], "type": "xsalsa20-poly1305", "version": "2" },
+  "meta": { "name": "Schnorr keypair for testing", "whenCreated": 1558974091206 }
+}

+ 5 - 6
storage-node/packages/util/README.md

@@ -1,12 +1,11 @@
-Summary
-=======
+# Summary
 
 This package contains general utility functions for running the colossus
 storage node.
 
-* `lru` contains an in-memory least-recently-used cache abstraction.
-* `fs/*` contains helpers for resolving path names and walking file system
+- `lru` contains an in-memory least-recently-used cache abstraction.
+- `fs/*` contains helpers for resolving path names and walking file system
   hierarchies.
-* `pagination` contains utility functions for paginating APIs.
-* `ranges` contains functions for dealing with `Range` headers in download
+- `pagination` contains utility functions for paginating APIs.
+- `ranges` contains functions for dealing with `Range` headers in download
   requests.

+ 2 - 2
storage-node/scripts/compose/devchain-and-ipfs-node/docker-compose.yaml

@@ -3,13 +3,13 @@ services:
   ipfs:
     image: ipfs/go-ipfs:latest
     ports:
-      - "127.0.0.1:5001:5001"
+      - '127.0.0.1:5001:5001'
     volumes:
       - ipfs-data:/data/ipfs
   chain:
     image: joystream/node:latest
     ports:
-      - "127.0.0.1:9944:9944"
+      - '127.0.0.1:9944:9944'
     volumes:
       - chain-data:/data
     command: --dev --ws-external --base-path /data

+ 3 - 6
storage-node/tsconfig.json

@@ -9,15 +9,12 @@
     "esModuleInterop": true,
     "baseUrl": ".",
     "skipLibCheck": true,
-    "types" : [ "node", "mocha" ]
+    "types": ["node", "mocha"]
   },
   "files": [],
-  "exclude": [
-    "**/node_modules/*",
-    "build"
-  ],
+  "exclude": ["**/node_modules/*", "build"],
   "references": [
     { "path": "packages/cli" }
- //   { "path": "packages/storage" }
+    //   { "path": "packages/storage" }
   ]
 }