# wasm-pack init(Deprecated) The `wasm-pack init` command creates the files neccessary for JavaScript interoperability and for publishing a package to npm. This involves generating a pkg folder. This pkg folder will contain the `README` and a `package.json` file. ## Path The `wasm-pack init` command can be given an optional path argument, e.g.: ``` wasm-pack init examples/js-hello-world ``` This path should point to a directory that contains a `Cargo.toml` file. If no path is given, the `init` command will run in the current directory. ## Target The init command accepts a `--target` argument. This will customize the output files to align with a particular type of JS module. This allows wasm-pack to generate either ES6 modules or CommonJS modules for use in browser and in NodeJS. Defaults to `browser`. The options are: ``` wasm-pack init --target nodejs ``` | Option | Description | |-----------|-----------------------------------------------------------------------------------------------------------------| | `nodejs` | Outputs JS that uses CommonJS modules, for use with a `require` statement. | | `browser` | Outputs JS that uses ES6 modules, primarily for use with `import` statements and/or bundlers such as `webpack`. | ## Scope The init command also accepts an optional `--scope` argument. This will scope your package name, which is useful if your package name might conflict with something in the public registry. For example: ``` wasm-pack init examples/js-hello-world --scope test ``` This command would create a `package.json` file for a package called `@test/js-hello-world`. For more information about scoping, you can refer to the npm documentation [here][npm-scope-documentation]. [npm-scope-documentation]: https://docs.npmjs.com/misc/scope