Package Exports
- ngx-deploy-npm
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ngx-deploy-npm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
ngx-deploy-npm π
Deploy your Angular Package to NPM directly from the Angular CLI! π
Table of contents:
- β οΈ Prerequisites
- π Quick Start (local development)
- π Continuous Delivery
- π¦ Options
- π Configuration File
- π§ Essential considerations
- π Next milestones
- License
- π Powered By ngx-deploy-starter
β οΈ Prerequisites
This command has the following prerequisites:
- Angular project created via Angular CLI v8.3.0 or greater (execute
ng update @angular/cli @angular/coreto upgrade your project if necessary)
π Quick Start (local development)
This quick start assumes that you already an existing Angular project with a publishable package created
Add
ngx-deploy-npmto your project. It will configure all your libraries present in the projectng add ngx-deploy-npmDeploy your library to NPM with all default settings. Your library will be automatically built in production mode.
ng deploy your-library
Your library should be published on npm. So go and check npm.js
π Continuous Delivery
π§ coming soon π§
π¦ Options
--configuration
- optional
- Alias:
-c - Default:
production(string) - Example:
ng deployβ Angular project is build in production modeng deploy --configuration=testβ Angular project is using the configurationtest(this configuration must exist in theangular.jsonfile)
A named build target, as specified in the configurations section of angular.json.
Each named target is accompanied by a configuration of option defaults for that target.
Same as ng build --configuration=XXX.
--tag
- optional
- Default:
latest(string) - Example:
ng deploy --tag alphaβ Your package will be available for download using that tag,npm install your-package@alphauseful for RC versions, alpha, betas.
Registers the published package with the given tag, such that npm install @ will install this version. By default, npm publish updates and npm install installs the latest tag. See npm-dist-tag for details about tags.
--access
- Default:
public(string) - Example:
ng deploy --access public
Tells the registry whether this package should be published as public or restricted. Only applies to scoped packages, which default to restricted. If you donβt have a paid account, you must publish with --access public to publish scoped packages.
--otp
- optional
- Default:
public(string) - Example:
ng deploy --otp TOKEN
If you have two-factor authentication enabled in auth-and-writes mode then you can provide a code from your authenticator with this.
--dry-run
- optional
- Default:
false(boolean) - Example:
ng deploy --dry-run
For testing: Run through without making any changes. Execute with --dry-run and nothing will happen. A list of options will be printed
π Configuration File
To avoid all these command-line cmd options, you can write down your configuration in the angular.json file in the options attribute of your deploy project's architect. Just change the kebab-case to lower camel case. This is the notation of all options in lower camel case:
- access
- configuration
- dryRun
- otp
- tag
A list of all available options is also available here.
Example:
ng deploy your-library --tag alpha --access public --dry-runbecomes
"deploy": {
"builder": "ngx-deploy-npm:deploy",
"options": {
"tag": "alpha",
"access": "public",
"dryRun": "true"
}
}And just run ng deploy π.
βΉοΈ You can always use the --dry-run option to verify if your configuration is right.
π§ Essential considerations
Readme and Licence
The licence and the readme must be in the root of the library. They are being copyed at the moment of deployment
Version bumping
This deployer do not bumps or creates a new version of the package, it just build the package/library, take the package.json as it and publish it.
You must take care about the version by yourself. Maybe using a script that sets the version
π Next milestones
We are looking forward to the following features:
- Implement Continuous Everything:
- Integration
- Inspection
- Delivery
- Specify which library add the deployer on the
ng add - Compatibility with Nx
- Continuous Delivery Documentation
- Add all the RFC proposals of ngx-deploy-starter
- ChangeLog Compatibility
- Custom Readme and Licence Paths
Your feature that's not on the list yet?
We look forward to any help. PRs are welcome! π
License
Code released under the MIT license.