All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
2.1.0 (2018-02-21)
- pass 'setParentNodes' when calling 'createCompilerHost' (#625) (9baa0bc)
- prune multiple import statements for
tslib
(#588) (2b6dac4), closes #587 - recognize aliased and namespace decorator imports (#585) (8f88c5a)
- return redirect target of typescript source file (#637) (c1fced0), closes #473
styleIncludePaths
for feature parity with Angular CLI (#603) (ab973f4), closes #282- comments cleanup and license header file (#574) (0237f24), closes #362
- export and test public api surface (#584) (6858e2e)
2.0.0 (2018-02-05)
Version 2 of ng-packagr is targeting Angular 5 (and beyond). Update your projects by:
$ yarn add --dev ng-packagr@^2.0.0 @angular/compiler@^5.0.0 @angular/compiler-cli@^5.0.0 tsickle
- Users now need to install
@angular/compiler
,@angular/compiler-cli
,typescript
, andtsickle
to thedevDependency
section of their project (if not already installed). ng-packagr uses both the TypeScript and the Angular compiler version provided by the user workspace. - The setting for external dependencies (
lib.externals
) has been removed in favour oflib.umdModuleIds
which is now just used to provide the UMD module identifiers of external dependencies. By default, all dependencies are now treated as externals and thus are not embedded in the final bundle. If a dependency should be embedded in the distributables, it needs to be explicity added tolib.embedded
. Please consult the updated README on migrating your package confguration fromlib.externals
tolib.umdModuleIds
andlib.embedded
. - Discovery of primary and secondary entry points is changed to read from the following file sources. File locations are tried in this order:
package.json
withngPackage
propertyng-package.json
(requires apackage.json
as sibling)ng-package.js
(with a default export, requires apackage.json
as sibling)
- Setting
ngPackage.src
has no effect any more. The source directory (base path) is equivalent to the location of the (primary)ng-package.json
,package.json
, orng-package.js
. - UMD Module IDs of packages have been changed: when you published a scoped npm package, e.g.
@sample/core
, the UMD module ID used to becore
including only the second part of the npm package name. With this change, the UMD module ID is nowsample.core
. For secondary entrypoints, e.g.@sample/core/testing
, the UMD module ID now also includes every part of the npm package name, e.g.sample.core.testing
. Publishing your npm packages built with this version of ng-packagr causes a new UMD module ID to be generated. Users of your library need to update their configuration, e.g. when using SystemJS!
An excerpt of each bug fix and feature is listed below for the respective release candidate version!
- comments cleanup and license header file (#574) (0237f24), closes #362
- export and test public api surface (#584) (6858e2e)
2.0.0-rc.13 (2018-02-03)
- add
postcss-discard-comments
as a dependency (#544) (bce5705), closes #543 - css comments should be discarded irrespective of
cssUrl
(#562) (d6eb971) - embed
tslib
helpers in UMD bundles only (#573) (7a996ef), closes #371 - map
rxjs/util/*
to its UMD module ID by default (#580) (7c452fb), closes #579 - pin rollup dependency to 0.53.0 (13a79d4)
- report build errors (d136422)
- strip bom from templates and stylesheet files (#571) (5830e6a), closes #487
- update rollup to version
^0.55.0
(#534) (0cb0cce), closes #488 #523 - write type definition files (via triple-slash reference) to npm package (#443) (9dad573)
- expand api to
.withTsConfig(string|TsConfig)
,.forProject()
(#561) (48f3569), closes #557 - le jardin, a broccoli-inspired rewrite (#572) (6efc2d2)
2.0.0-rc.12 (2018-01-25)
- dispose the previous TransformationResult after inlining (#533) (b4c7e89)
- strip comments from processed styles (#512) (542aed2), closes #503
2.0.0-rc.11 (2018-01-17)
- add language level support for library authors (#486) (b33e0bc)
- enable custom
sassIncludePaths
for resolving scss imports (#494) (f8e8dc5)
2.0.0-rc.10 (2018-01-10)
- exclude ng-package.json from entry point discovery (#471) (38103ac), closes #463
- relax version constraints, enable TypeScript 2.6 (w/ tsickle ^0.26.0) (3c3c6a7)
- update dependendy tsickle to >=0.25.5 <0.26.0 (#456) (136867a), closes #452
- stabilize command API, move towards customizing through DI (#470) (f992283)
- turn on
downlevelIteration
flag for ES5 bundles (#475) (616888a), closes #418
2.0.0-rc.9 (2017-12-30)
2.0.0-rc.8 (2017-12-26)
- remove
umdModuleIds
for esm2015 flattening (rollupes
format) (#429) (b103b74) - remove moduleId from rollup bundle options (#444) (da332d2)
- update rollup to version ^0.53.0 (#438) (8918809)
- dynamic rollup configuration for esm flattening (#395) (5712429)
- expose
build
andversion
commands from public API (#447) (286819c) - expose a public API surface for programmatic usage (ec2b29f)
- remove
src
property from package schema (#431) (960484c)
- Setting
ngPackage.src
has no effect any more. The source directory (base path) is equivalent to the location of the (primary)ng-package.json
,package.json
, orng-package.js
. lib.externals
has been removed in favour oflib.umdModuleIds
which is now just used to provide the UMD module identifiers of external dependencies. By default, all dependencies are now treated as externals and thus are not embedded in the final bundle. If a dependency should be embedded in the distributables, it needs to be explicity added tolib.embedded
. Please consult the updated README on migrating your package confguration fromlib.externals
tolib.umdModuleIds
andlib.embedded
.
2.0.0-rc.7 (2017-12-15)
- log error message only on build failure (51643e1)
- print
@angular/compiler-cli
version (b0e362e) - print rollup warnings to
log.warn()
(356a01b) - relax on non-call-expression decorators in typescript parsing (7135c42)
- set
peerDependencies
totsickle: ^0.24.0
andtypescript: >=2.4.2 <2.6
(#387) (001f63f) - set peerDependency
tsickle: >=0.24.0 <0.26
(d682cd2) - update fs-extra to version ^5.0.0 (#400) (9e6d081)
- discover entry points from user packages (#383) (4a7e96e), closes #190
- do not prune working directory on build failure (6445316)
- provide version info with
ng-packagr --version
cli option (#393) (758c403)
- Discovery of primary and secondary entry points is changed to read from the following file sources. File locations are tried in this order:
package.json
withngPackage
propertyng-package.json
(requires apackage.json
as sibling)ng-package.js
(with a default export, requires apackage.json
as sibling)
2.0.0-rc.6 (2017-12-09)
Bug fixes for the previous release candidate.
Contains a fix addressing typescript build errors due to synthesized nodes, see #369.
Peer Dependencies on ngc and tsc changed to caret version ranges:
"@angular/compiler: "^5.0.0"
"typescript: ">= 2.4.2 < 2.6
Make sure to use an appropriate combination of Angular and TypeScript!
- peer depend on angular >=5.0.0 <6.0.0, typescript >= 2.4.2 < 2.6 (3674f0e)
- register ngc emit callback for
tsickle
processing (#384) (15bd7c1) - show proper path of failure on sass inline (#380) (8c380aa)
2.0.0-rc.5 (2017-12-06)
- consistent
flatModuleFile
naming for bundles (#361) (17b4e0f) - enable tslib
importHelpers
, reducing bundle sizes (#338) (f1e4cf6) - expose programmatic API and typings (#342) (61c7b50)
- implement
transformSources()
w/ domain model (#356) (89ce2ce) - relocate source map file paths to
ng://<(at)org>/<package>/<sub>
(#332) (c9b8d73) - resolve "~" scss import statements to nearest
node_modules
(#352) (ee9800b), closes #346 - resource inlining w/ TypeScript transformations (#279) (4753066)
- Introduces a domain model for Package and Entry Point (as defined in Angular Package Format Specification Glossary). Refactors the source code transformation pipeline. Albeit the refactoring was undertaken with care and integration tests were not changed, it may cause undesired behaviour.
2.0.0-rc.4 (2017-11-28)
2.0.0-rc.3 (2017-11-24)
- support new cdk modules 'accordion' and 'layout'
@angular/cdk@5.0.0-rc0
(#297) (3016585) - support rxjs lettable operators (#307) (5de8045), closes #247
2.0.0-rc.2 (2017-11-17)
2.0.0-rc.1 (2017-11-17)
2.0.0-rc.0 (2017-11-14)
Migrating towards Angular v5, a series of v2.0.0
release candidates will be published.
These releases will be published using the next
tag on npm.
Please install the versions with "ng-packagr: "^2.0.0-rc.0"
or yarn add --dev ng-packagr@next
.
The v2.0.0
release candidates collect several breaking changes compared to the last v1.x
.
- invoke ngc thru
@angular/compiler-cli
version 5.0.x (c5c32c5), closes #219 - update typescript to ~2.4.2 for Angular v5 support (#270) (2c6db4f)
- when you published a scoped npm package, e.g.
@sample/core
, the UMD module ID used to becore
including only the second part of the npm package name. With this change, the UMD module ID is nowsample.core
. For secondary entrypoints, e.g.@sample/core/testing
, the UMD module ID now also includes every part of the npm package name, e.g.sample.core.testing
. Publishing your npm packages built with this version of ng-packagr causes a new UMD module ID to be generated. Users of your library need to update their configuration, e.g. when using SystemJS! - Users now need to install
@angular/compiler
and@angular/compiler-cli
to thedevDependency
section of their project (if not already installed). ng-packagr uses both the TypeScript and the Angular compiler version provided by the user workspace.
1.6.0 (2017-11-14)
This release rolls back premature Angular v5 support in v1.6.0-rc.0
.
It is recommended to use this version of ng-packagr for building Angular v4 libraries,
as typescript
in 2.3.x
and @angular/tsc-wrapped
in 4.4.x
are used.
Libraries generated with this version of ng-packagr will ship with AoT metadata in version 3, which is intended for Angular v4.
1.5.2 (2017-11-14)
This release reverts a regression introduced in v1.5.1
.
See pull request #268.
Previously, a user of ng-packagr could install an incompatible typescript version for ng-packagr. Prevent inadvertent typescript installs by depending on a user's typescript installation (peerDependencies). This should be (is a) non-breaking change as any Angular project requires typescript as devDependency.
- depend on user's typescript (8f5bb9c)
1.6.0-rc.0 (2017-11-10)
- add tsx/jsx support (#228) (4068664)
- invoke ngc thru
@angular/compiler-cli
version 5.0.x (#271) (c5c32c5), closes #219 - update typescript to ~2.4.2 for Angular v5 support (#270) (2c6db4f)
1.5.1 (2017-11-10)
1.5.0 (2017-11-05)
Secondary entrypoints – such as @angular/core/testing
, @angular/common/http
, @angular/cdk/a11y
, et al. – can now be bundled with ng-packagr. Angular's tsc-wrapped
is now version ^4.4.5 and typescript
is ^2.3.4 – whether these work well with Angular 5 needs to be verified.
- add description for
ngPackage
property inpackage.json
(3f8e25c) - copy
README.md
andLICENSE
just for primary entry (#215)(38776d8) - validate
ngPackage
property for secondary entry resolution (#229) (ee5949b) - resolve node_modules folder dynamically from typescript (#211) (9a7008d)
- produce correct secondary package paths (#197) (4ca213e)
- respect secondary entry file customizations (#198) (9de7524)
- regression in cli defaults (18515af)
- bump
@angular/tsc-wrapped
to ^4.4.5 andtypescript
to ^2.3.4 (#200) (b2b369a) - minify UMD bundles (#205) (c58689b)
- dynamic secondary entry points (5922cb1)
- allow empty package.json for secondary entries (c0af605)
- help command on cli (c68a190)
- provide more frequent console feedback (#212) (2801db9)
- for auto-discovery of secondary entries,
package.json
files are now validated whether angPackage
property exists; the value can be an empty object. This is a breaking change for a feature introduced in release candidate versions 1.5.0-rc.0/1.5.0-rc.1. When upgrading from 1.4.x to 1.5.0, it is not-breaking.
1.5.0-rc.1 (2017-10-23)
- produce correct secondary package paths (#197) (4ca213e)
- respect secondary entry file customizations (#198) (9de7524)
- bump angular/@tsc-wrapped to ^4.4.5 and @typescript to ^2.3.4 (#200) (b2b369a)
- minify UMD bundles (#205) (c58689b)
1.5.0-rc.0 (2017-10-18)
- regression in cli defaults (18515af)
- allow empty package.json for 2ndary entries (c0af605)
- dynamic secondary entry points (5922cb1)
- help command on cli (c68a190)
1.4.1 (2017-10-11)
- include
package.schema.json
in dist artefacts and npm package (e660545)
1.4.0 (2017-10-10)
- add json schema for
package.json
with customngPackage
property (#173) (dd85fd2) - resolve ng-package config from multiple sources (c193b68)
1.3.0 (2017-10-04)
- external dependencies from
[@angular](https://github.com/angular)/cdk
are supported by default (4b20e29)
1.2.1 (2017-09-29)
1.2.0 (2017-09-20)
- add rollup commonjs plugin to support all library types (#121) (3f87f5e)
- update rollup to version 0.50.0 (#124) (fb9f529)
1.1.0 (2017-09-12)
1.0.1 (2017-08-31)
- make a dummy release for 1.0.1 (a6d6893)
1.0.0 (2017-08-31)
- ng-packagr is released 1.0.0 final (665a249)
1.0.0-pre.17 (2017-08-28)
- package: update rollup to version 0.49.0 (b5b920c)
1.0.0-pre.16 (2017-08-22)
- update rollup to version ^0.48.0 (9110899)
1.0.0-pre.15 (2017-08-16)
- move ng-package.schema.json to dist root directory (ad6325b)
- read json config values thru
schema.$$get()
(0c3130c)
- the
ng-package.schema.json
was accidentally moved tolib
folder in a previous release. Restore it in its original location!
1.0.0-pre.14 (2017-08-07)
- add 'let' to known rxjs operators (9927f93), closes #85
- move less from devDependencies to dependencies (09ef8ce), closes #88
- strip utf-8 bom when reading files (cb34889), closes #87
1.0.0-pre.13 (2017-07-28)
- support rxjs operators with different import syntaxes (#82) (d64aa40)
1.0.0-pre.12 (2017-07-27)
- Added less support (06d7f84)
1.0.0-pre.11 (2017-07-22)
- pass file pathes to
postcss.process()
(#77) (1051831)
1.0.0-pre.10 (2017-07-14)
- correct explanation of
lib.flatModuleFile
(d95afb0)
- remove node 4.x support (7a857d4)
1.0.0-pre.9 (2017-07-11)
- use pkg name for es modules folder name when
@<scope>
is undefined (#70) (cf24b1b)
1.0.0-pre.8 (2017-07-11)
- import scss files with "~" syntax from node_modules (#67) (205bbc0)
- update rollup to version ^0.45.0 (#69) (d124cb3), closes #68
1.0.0-pre.7 (2017-07-04)
- exclude node_modules from being copied to working dir (#60) (6bfe713), closes #51
- version bump rollup to ^0.43.0 (227e3b7)
1.0.0-pre.6 (2017-06-24)
- lib.externals support. (c226972)
1.0.0-pre.5 (2017-06-23)
- autoprefixer / postcss support (4115ad1), closes #54
- version bump to @angular/tsc-wrapped 4.2.0 (7091f2a)
1.0.0-pre.4 (2017-06-08)
- correct paths in generated sourcemaps (#50) (c389160), closes #46
- temporarily disable es5 source maps (804dd8c)
1.0.0-pre.3 (2017-06-06)
1.0.0-pre.2 (2017-06-06)
- package: update rollup to version 0.42.0 (#37) (75f1811)
- add
rxjs/ReplaySubject
to rollup defaults (#44) (237b24e)
1.0.0-pre.1 (2017-06-02)
- report Errors with stack traces, fail builds on promise rejection (#36) (6076074)
1.0.0-pre.0 (2017-06-02)
- use '1.0.0-pre.n' version number for any upcoming prerelease (a31c824)
1.0.0-alpha.7 (2017-06-02)
- correctly locate
typings
file (3d5c266) - set flatModuleId to the name from package.json (#24) (1e2c33f)
- remove deprecated
ng-package.json properties
(9b988b0)
1.0.0-alpha.6 (2017-06-02)
1.0.0-alpha.5 (2017-06-02)
- correctly locate
typings
file (3d5c266) - set flatModuleId to the name from package.json (#24) (1e2c33f)
1.0.0-alpha.4 (2017-06-02)
- correctly locate
typings
file (3d5c266) - set flatModuleId to the name from package.json (#24) (1e2c33f)
1.0.0-alpha.3 (2017-05-31)
- implement build steps with updated
ng-package.json
(259a9fc) - include
[@angular](https://github.com/angular)/router
in default rollup opts (3d576ee) - JSON schema for
ng-package.json
(76dd2ff)
1.0.0-alpha.2 (2017-05-27)
- default config file
ng-package.json
(#10) (00fa15c)
- the default config file is renamed from
.ng-packagr.json
tong-package.json
. Use oneng-package.json
per each Angular library project.
1.0.0-alpha.1 (2017-05-27)
- resolve pathes relative to
ng-package.json
(852ce43)