diff --git a/PUBLISH.md b/PUBLISH.md deleted file mode 100644 index 91f01dd5..00000000 --- a/PUBLISH.md +++ /dev/null @@ -1,22 +0,0 @@ - -# Publishing to NPM - -Build for release: -``` -npm run clean -npm run build-prod -``` - -Package for release: -``` -npm pack -``` - -This creates the SDK package, `vircadia-web-sdk-vvvv.v.v.tgz`. - -Publish the package to https://npmjs.com: - -``` -npm login -npm publish --access public -``` diff --git a/README.md b/README.md index 873d6ed2..7fa7a7b9 100644 --- a/README.md +++ b/README.md @@ -7,31 +7,32 @@ metaverse server provides global services that connect the users and domains. See the user docs to [Understand the Architecture](https://docs.vircadia.dev/#understand-the-architecture). This SDK provides interfaces to: -- Connect to domains. -- Use metaverse services. + +- Connect to domains. +- Use metaverse services. The SDK is written in TypeScript. -- [Project Configuration](CONFIGURATION.md) -- [Coding Standard](CODING_STANDARD.md) + +- [Project Configuration](CONFIGURATION.md) +- [Coding Standard](CODING_STANDARD.md) The SDK is published at NPM: https://www.npmjs.com/package/@vircadia/web-sdk To learn more about using Vircadia's metaverse ecosystem, see the [Developer Documentation](https://docs.vircadia.dev). - ## Prerequisites ### Node.js https://nodejs.org/en/download/ -**Node.js** version ≥ 10.13 ; LTS version ≥ 14.16 recommended +**Node.js** version ≥ 10.13 ; LTS version ≥ 14.16 recommended **npm** version ≥ 6.4.1 ; LTS version ≥ 6.14 recommended ### Jest [Jest](https://jestjs.io/) is used for unit testing. It is included as an NPM dev dependency, however, you may also install it globally if you want -to. +to. ## Project Setup @@ -50,42 +51,51 @@ sync. Note: Unix line endings (LF, `0A` character) are used. If using Windows it is recommended that you configure Git's global setting `core.autocrlf` to be `true`. This makes the files use Windows line endings (CRLF, `0D0A` characters) on your computer but stores the files in the Git repo with Linux line endings. - ### Install NPM packages ``` npm install ``` + Loads all the supporting NPM packages as defined in `package.json` into the `node_modules` directory. ## Development and Testing ### Compile and minify for development + ``` npm run build ``` + Does a development compile and packages the SDK into the `dist` directory. ### Hot-recompile for development + ``` npm run watch ``` + Does a development compile and enables webpack to watch the sources and recomile when source files change. This is often useful when testing SDK development using the `example` tool. ### Compile and minify for production + ``` npm run build-prod ``` + Does a clean production compile and packages a releasable version of the SDK into the `dist` directory. ### Hot-recompile for production + ``` npm run watch-prod ``` + Does a clean production compile and enables webpack to watch the sources and recompile when the source files change. ### Clean the build directory + ``` npm run clean ``` @@ -93,11 +103,13 @@ npm run clean ### Lint files All files: + ``` npm run lint ``` A specific directory or file: + ``` npm run lint-path ``` @@ -106,18 +118,22 @@ npm run lint-path Unit tests can be run without any external dependencies but integration tests require a domain server to be running on `localhost` or other location specified in `./tests/test.config.json`. The location and other values of the config JSON can be -overridden with environment variables, using the same property names, but prefixed with "VIRCADIA_". +overridden with environment variables, using the same property names, but prefixed with "VIRCADIA\_". All tests: + ``` npm run test ``` + Hot retest of all tests: + ``` npm run test-watch ``` Specific tests (e.g., Packet.unit.test.js, all unit tests, all integration tests): + ``` npm run test @@ -127,19 +143,21 @@ npm run test .integration. ``` Run tests and report open handles: + ``` npm run test-debug [] ``` - ### Generate docs SDK API documentation: + ``` npm run sdkdoc ``` Developer documentation (includes SDK API documentation): + ``` npm run devdoc ``` @@ -151,3 +169,27 @@ Update contributors list in package.json: ``` npm run update-contributors ``` + +### Publishing to NPM + +Build for release: + +``` +npm run clean +npm run build-prod +``` + +Package for release: + +``` +npm pack +``` + +This creates the SDK package, `vircadia-web-sdk-vvvv.v.v.tgz`. + +Publish the package to https://npmjs.com: + +``` +npm login +npm publish --access public +``` diff --git a/packages/public/@vircadia/entity/index.ts b/packages/public/@vircadia/entity/index.ts new file mode 100644 index 00000000..e69de29b