An Angular 2+ scaffolding setup for creating libraries
Since the last release a lot has been done:
np
library has been removed from local projects (please see the migration guide for details)rollup.js
, which would fail buildsngl pub
with --no-cleanup
or --yolo
(⚠️ at your own risk!)tslint.json
courtesy of @tommuellertypings
from package.json
ngl up
will now run npm install
& npm upgrade
to get libraries up-to-date for youngc
works with Angular 5 from @litzebauerThanks to everyone who contributed to the project so far, either by code contributions or discussions!
commonjs
attribute is now usable from custom Rollup configs (see README)package.json
template Librarian version didn't match the version of installed version, this is fixed. It also supports using a URL, if you're so inclined to work off of one of the branches--performing ngl up
will keep pointing to the URL you specified and update to the latest from that branchThe build from this morning had a couple bugs in the upgrade process, also updated the README
This is hopefully the last (or one of the last) pre-releases before the full-fledged version 1 release.
What's changed?
dist
. We are using np
to do "smart" publishing, but are now passing a --no-publish
flag so we get the benefits of np
but can do an npm publish dist
to publish the APF version of your code.@myscope/my-package
)!--examples
or -x
when running the command (i.e., ngl c hello-ewe -x
or ngl c -x
)Here's what's been added:
erector-set
(00a8441)Released beta 7 a bit premature!
It didn't include the updates for peerDependencies
and had some issues with overwriting values in package.json
. This should take care of that. Sorry!
Follow the the previous release notes for more!
This is an important update for the following reasons:
package.json
was incorrectly assigning the typings for published libraries. The attribute and value were both wrong. We've changed types
to typings
and the value from ./index.d.ts
to ./[ library name].d.ts
. This means for a library with a name of super-cool-lib
, the "typings"
value would be ./super-cool-lib.d.ts
dependencies
to peerDependencies
For migration, in package.json
, you can:
version
hasn't been overwritten--this is happening in some cases.types
jsnext:main
(if it is there)dependencies
not in peerDependencies
to peerDependencies
and then remove dependencies
.Changes in this release:
package.json
, also defaults the README title based on the entered library name (ie, if you do my-awesome-library
, the README title will be My Awesome Library
)ExtractTextPlugin
fix for Webpack builds (by @jhwegener)upgrade
task informationThis is the first real beta (despite the .4
)--it comes with 3 big features: Angular Package Format and the upgrade
command, and custom configurations.
To stay as close to the Angular team's recommendations as possible, the publish format has changed to align with the Angular Package Format
This comes with a host of updates to the build process. But doing so has improved the build process and made it more robust.
Additionally there is a new command: upgrade
. This command allows you to upgrade the version of Angular Librarian as well as update the files managed by Angular Librarian in 1 command. The files managed by Angular Librarian are:
.gitignore
*.npmignore
*package.json
*tsconfig.es2015.json
tsconfig.es5.json
tsconfig.json
tsconfig.test.json
tslint
src/test.js
tasks/
webpack/
Any files with a asterisk (*) next to their name have a merge strategy associated with them:
.gitignore
and .npmignore
will take any custom lines (case-sensitive) and add them to the new filepackage.json
will ensure any dependencies you've added are kept in the dependencies
and devDependencies
attributes, as necessary.To support upgrading, we've introduced the concept of custom configurations. By adding a configs
folder to your project and placing a configuration file for one of the extensible files, you can enhance the capabilities Angular Librarian provides out of the box. By doing this, we can ensure that the files Angular Librarian manages files can be safely updated without destroying your custom configuration.
For more information on custom configurations, please see the Custom Configurations section of the README
This release contains two fixes from our first two external contributors:
ngl
so that p
creates a pipe and pub
publishessource-map
to cheap-module-eval-source-map
Thanks for the contributions!