# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [6.0.6] - 2022-12-09

### Fixed

- `Unexpected token` error was thrown for `await var __webpack_public_path__;` line in `main.ts` file. This has been fixed by updating the `ts-morph` dependency version to the corresponding version of `typescript` used in Angular 12.

## [6.0.5] - 2022-09-08

### Fixed

- After running the package commands and creating a CX experience using SDLC, the .txt was not overwritten. Instead, the OOTB content is used. This is fixed by changing the order of copyAssets and copyDependencies. (MAINT-17216)

## [6.0.4] - 2022-07-22

### Fixed

- In Angular 12, due to critical CSS inlining, the styles path was not added correctly. This has been fixed by ensuring that the correct path is now inserted for the href link in the generated `index.hbs` file. (MAINT-16811)

## [6.0.3] - 2022-05-09

### Fixed

- Add support to deeper options in `optimization` files during build (WF-720).

## [6.0.2] - 2022-04-13

### Changed

- The Node version upgraded to 16.
## [6.0.1] - 2022-03-04

### Fixed

- Add project type validation to `isNgAppWorkspaceProject` for projects that have similar structure to applications (MAINT-14056).

## [6.0.0] - 2022-02-22

### Added

- Added support for Angular 12.
- Added support for Ivy.

## Changed

- Updated server builder to support new property from Webpack, `allowedCommonJsDependencies`.

## [5.1.5] - 2021-08-18

### Fixed

- Fix `peerDependencies` warnings (MAINT-12646)

## [5.1.4] - 2021-07-23

### Fixed

- Changed property `versionOfDependencies` limit to 1999 chars (MAINT-12453)

## [5.1.3] - 2021-07-21

### Fixed

- Fixed disclaimer rendering for `build-apps` and `package-apps` (WF-174).
- Fixed error about 2000 chars limit for the property `versionOfDependencies` (MAINT-12453)

## [5.1.2] - 2021-07-20

### Changed

- Added breaking changes notice for `bb-ang` `build-apps` and `package-apps` (WF-174)
- Fixed `package-libs` generates invalid export statements (WF-279)

## [5.1.1] - 2021-07-16

### Fixed

- Fixed property type not parsed as BOOLEAN (MAINT-12065)

## [5.1.0] - 2021-07-06

### Added

- Update node and npm to LTS version (WF-357)

## [5.0.1] - 2021-06-14

### Fixed

- Fix install wrong typescript dependency caused by @microsoft/api-extractor package (MAINT-12235)
- Use the new typescript API for creating nodes instead of the deprecated API (MAINT-12235).

## [5.0.1] - 2021-06-14

### Fixed

- Wrong path in request for JS bundle file after Angular 11 upgrade (WF-312)

## [5.0.0] - 2021-01-05

### Changed

- Support for Angular 11 (SDK-2359)

## [4.4.6] - 2021-03-25

### Changed

- Support bundle definition in `copy-assets` with the module name instead of list of the components.

## [4.4.5] - 2021-01-26

### Fixed

- Fix resource path  in `build-apps`for deprecated locale (SDK-2392).
## [4.4.4] - 2021-01-22

### Fixed

- Fix localized builds that are not generated correctly for  `build-apps` for Angular view engine (SDK-2390).

## [4.4.3] - 2020-11-24

### Fixed

- Fix `builder` regression with Angular 8 localization for lazy loading.

## [4.4.2] - 2020-11-24

### Fixed

- Fix `builder` to support lazyloading with localize under dist (MAINT-10853).

## [4.4.1] - 2020-11-18

### Fixed

- **builder**: Wrong bundle URL on localised applications while using lazy loading (MAINT-10853).

## [4.4.0] - 2020-10-22

- **build-app**: If `angular.json` contains a `i18n` project option then build
  with a single `ng build` command, instead of building each locale separately
  using the deprecated `--i18n-file` options.

## [4.3.3] - 2020-10-06

- **build-apps**: Do not build "feature" Items (SDK-2314)

## [4.3.2] - 2020-10-05

- **build-apps**: Avoid modifying item source model.xml during build (SDK-2314)

## [4.3.1] - 2020-09-30

- **build-apps**, **package-apps**: Include all items from project source in provisioning package (MAINT-10480)

## [4.3.0] - 2020-09-18

### Changed

- **extract-api**, **check-api**: Update api-extractor to latest and set defaults for new rules.

## [4.2.6] - 2020-09-17

### Fixed

- **extract-api**, **check-api**: Correctly report all warnings and errors

## [4.2.5] - 2020-09-17

### Fixed

- **build-apps**, **package-apps**: Include all catalog items in provisioned manifest (MAINT-10480).

## [4.2.4] - 2020-09-16

### Fixed

- **build-apps**: Not including all catalog items in provisioned manifest is fixed (MAINT-10480).

## [4.2.3] - 2020-09-10

### Fixed

- **build-apps**: Fix packaging structured content for CX5 (don't remove src property).

## [4.2.2] - 2020-08-08

### Fixed

- Typescript 4.0.2 peer dependency blocks upgrade to angular 10.1 (SDK-2289)

## [4.2.1] - 2020-08-07

### Fixed

- **build-apps**, **copy-assets**: Leave assets in the item package where they are used server side (MAINT-10208)

## [4.2.0] - 2020-08-03

### Fixed

- **build-apps**, **copy-assets**: Recursively trace app module dependency items to find available assets (MAINT-10208)

## [4.1.0] - 2020-08-31

### Added

- **build-apps**: Added support for CX 5.9 (via `--portal-version=5.9.x.x`)

## [4.0.1] - 2020-08-14

### Fixed

- **package-libs**: The build output can't be consumed as the template files are missing (SDK-2264)

## [4.0.0] - 2020-08-05

### Changed

- Support for Angular 10.

## [3.14.1] - 2020-07-14

### Fixed

- **build-apps**, **package-apps**: Provided name from model.xml.

## [3.14.0] - 2020-07-02

### Added

- **package-libs**: remove some properties from built libs which might exposes internal information, it will automatically remove any property starting with underscore or the property name one of the following `author,publishConfig,rights`

## [3.13.4] - 2020-06-25

### Fixed

- **copy-assets**, **build-apps**, **package-apps**: Give a meaningful error if bundles are not
  defined in a supported syntax.

## [3.13.3] - 2020-06-18

### Fixed

- **build-apps**: Fix running `ng build` with a space in the directory name on Windows.

## [3.13.2] - 2020-06-17

### Fixed

- **build-apps**: Fix running `ng build` with a space in the directory name.

## [3.13.1] - 2020-06-11

### Fixed

- **build-apps**, **package-apps**: Fixed for missing structured content in the provisioning package (SDK-2047)

## [3.13.0] - 2020-06-10

### Added

- **build-apps**, **package-apps**: Ability to have structured content added to the provisioning package (SDK-2047).

## [3.11.6] - 2020-05-12

### Fixed

- **extract-api**, **check-api**: Global type names will no longer cause conflicts (https://github.com/microsoft/rushstack/issues/1350)

## [3.11.5] - 2020-05-04

### Added

- **build-apps**: Added missing dependencies when building the application (MAINT-9612)

## [3.11.4] - 2020-04-24

### Fixed

- Include builder's schemas in distribution package

## [3.11.3] - 2020-04-23

### Added

- Added support for contenttype items when packaging.
- **api-extract**,**api-check**: fix the way we resolve package.json for libs
- **api-extract**,**api-check**: ignore dist folders from searching libs
- **package-libs**: Fixed slow performance ignore node_module from building dependency graph

## [3.11.2] - 2020-04-21

### Fixed

- Fixed `.npmignore` so that it does not publish unneeded files.

## [3.11.1] - 2020-04-07

### Fixed

- **build-apps**, **package-apps**, **create-provisioning-package** remove false warnings when use --applications flag (MAINT-9427)

## [3.11.0] - 2020-04-02

### Added

- Add JSON5 support to parsing of `angular.json` (ie: for custom builder, and for packaging apps).
- Enable `vendorChunk` to be set in `angular.json`.

### Changed

- Don't hardcode `--vendorChunk` to `false` anymore. Angular defaults this value to `true`, so this will also change the build behavior to set `vendorChunk` to true. To disable it again, you can set it in your `angular.json`. Note: In the default project from `@bb-cli/schematics` the `production` configuration is already be set to `false`.

## [3.10.1] - 2020-03-27

### Fixed

- **build-apps**, **package-apps** Extend-container flag to respect name in `model.xml` (MAINT-9341).

## [3.10.0] - 2020-03-17

### Changed

- Update node and npm to LTS version (SDK-1985)

## [3.9.0] - 2020-03-13

### Added

- **package-libs**: Automatically add version from package.json to model.xml when running package:libs (SDK-1940)
- **build-apps**: Added build apps command (SDK-1702)
- **create-provisioning-package**: Added pack apps command (SDK-1702)

### Deprecated

- **package-apps**: Now deprecated in favor of build-apps and create-provisioning-package (SDK-2026)

## [3.8.3] - 2020-01-07

### Fixed

- **package-apps**: It did not include invalid model xmls, after fixing now bb-ang works with the project's generated for banking schematics. (SDK-2026)

## [3.8.2] - 2020-01-07

### Fixed

- **api-extract**: Fix extract API for collections (SDK-1984).

## [3.8.1] - 2019-11-12

### Fixed

- **package-apps**: Fix extend container doesn't work correctly (SDK-1963).

## [3.8.0] - 2019-11-09

### Added

- **package-apps**: add support for Backbase builder

## [3.6.3] - 2019-11-19

### Fixed

- **package-apps**: Respect `name` from custom `model.xml` when generating asset paths in `index.hbs` (MAINT-8547)

## [3.6.2] - 2019-11-12

### Fixed

- **package-apps**: Fix support for CX5 (broken since 3.5.0)

## [3.6.1] - 2019-11-07

### Fixed

- **package-libs**: While packaging libs, search for `tsconfig.package-lib.json` at the correct place.

## [3.6.0] - 2019-11-01

### Added

- **package-apps**: Added a warning when attempting to package the standalone environment for CX.

## [3.5.3] - 2019-10-31

### Fixed

- Roll back to 3.5.1 as stripping internals is a breaking change.

## [3.5.2] - 2019-10-30

### Added

- Added --stripInternal TS compiler options to remove APIs annotated with @internal

## [3.5.1] - 2019-10-22

### Fixed

- add flag to enable customization for app container's HTML and model.xml (SDK-1701)

## [3.5.0] - 2019-10-18

### Fixed

- Add support of the differential loading to fix missing polyfills (SDK-1845)

### Added

- Added ability to customize app container's HTML and model.xml (SDK-1701)

## [3.4.2] - 2019-10-04

### Fixed

- Fix order of script tags in generated app container. The external scripts should have been loading before the app main bundle.

  Warning: This might break existing applications if they were relying on the behaviour of this bug.

## [3.4.1] - 2019-10-03

### Fixed

- Updated dependencies to fix security vulnerability

## [3.4.0] - 2019-10-01

### Added

- Add ability to `extract-api` for packages with multiple entry points.

## [3.3.1] - 2019-09-24

### Fixed

- fix adding custom assets to apps sometimes fails due to racing conditions with file system.

## [3.3.0] - 2019-08-30

### Added

- Add report-folder option to `extract-api` and `check-api` command.

## [3.2.1] - 2019-08-26

### Fixed

- Improve error messages for `extract-api` command.

## [3.2.0] - 2019-08-21

### Added

- New command: `check-api` ensure public APIs are not accidentally broken.
  See `bb-ang check-api --help` for more.

- New command: `extract-api` extract Public APIs from your libs.
  See `bb-ang extract-api --help` for more.

## [3.1.0] - 2019-08-16

### Added

- Ability to run `package-apps` with `--serial-build` option to run the app builds in serial rather than parallel. This can help to decrease the memory and CPU footprint of packaging your apps.

## [3.0.3] - 2019-07-03

### Fixed

- Fix support of CX5 for all models

## [3.0.0] - 2019-05-29

### Added

- Add enableResourceInlining to configuration to fix AOT compilation issues
- Added ability to package-apps for CX5 (requires deleting the index.hbs and model.xml from the existing app).

### Changed

- update angular version to 8.0.0
- set required node version to `>=10.9.0 <11.0.0`
- bump `dependency-cruiser` major version.
- Update version of the @angular/cli and related deps to 8.0.0
- Update version of the typescript peer to fit latest angular 8 requirments.

### Fixed

- Remove deprecated config option (backwards compatible) (SDK-1596).

## [3.0.0-pr.10] - 2019-04-29

### Changed

- update angular version to 8.0.0-rc.1

## [3.0.0-pr.9] - 2019-03-26

### Changed

- set required node version to `>=10.9.0 <11.0.0`
- update angular version to 8.0.0-beta.9

## [3.0.0-pr.8] - 2019-03-25

### Changed

- bump `dependency-cruiser` major version.

## [3.0.0-pr.7] - 2019-03-20

### Fixed

- Remove deprecated config option (backwards compatible) (SDK-1596).

## [3.0.0-pr.6] - 2019-01-30

### Changed

- Update version of the @angular/cli and related deps to @next version for angular@8 support (SDK-1525).

## [3.0.0-pr.5] - 2019-01-30

### No changes

## [3.0.0-pr.4] - 2019-01-30

### Added

- Add enableResourceInlining to fix AOT compilation issues

## [3.0.0-pr.3] - 2019-01-30

### Fixed

- Update version of the typescript peer to fit latest angular 7 requirments: 3.2.x (SDK-1524).
- Update versions of ng-packagr and related dependencies to fix npm warnings caused by TS version missmatch (SDK-1524).

## [2.0.1-pr.51] - 2018-03-15

### Added

- Added ability to allocate memory to the `ng build` process via `--build-memory`.

## [2.0.1-pr.50] - 2018-03-14

### Added

- Exclude @bb-cli namespace from the search of the dependencies to avoid failures while parsing XML (MAINT-6938).

## [2.0.1-pr.49] - 2018-03-14

### Added

- Add ability to specify raml file path in the package.json (via `config.wa3-raml-path` option) (SDK-1583).

## [2.0.1-pr.48] - 2018-03-06

### Added

- Add error handling for copying application name from model.xml (NOJIRA)

### Fixed

- Fix the wrong path to the model.xml (NOJIRA)

## [2.0.1-pr.47] - 2018-03-06

### Fixed

- Use package name from model.xml while copying resources for the application (NOJIRA)

## [2.0.1-pr.46] - 2018-02-27

### Added

- Compatibility of WC3 apps with external profile was added (SDK-1544).
- `catalog-root` option was added to allow to customise the static resources path root (SDK-1544).

## [2.0.1-pr.45] - 2018-02-07

### Added

- 3rd party libraries in WA3 app added to angular.json scripts section are now handled by bb-ang (SDK-1441 and MAINT-6753)
  > #### Warning
  >
  > Please revise your application `scripts` section in `angular.json` to make sure you don't have any extra resources in it (e.g. dev-mocks.js).

## [2.0.1-pr.44] - 2018-02-07

### Added

- Add enableResourceInlining to fix AOT compilation issues

## [2.0.1-pr.43] - 2018-01-25

### Added

- Add missing Changelog

## [2.0.1-pr.42] - 2018-01-25

### Added

- Add missing Changelog

## [2.0.1-pr.41] - 2018-01-17

### Fixed

- Fixed order the build order of the libs when the libs are interdependent. In some circumstances
  somes libs were being build before other libs which they depended on.

## [2.0.1-pr.40] - 2018-01-14

### Added

- New command: `combine-coverage` to combine all coverage reports into a single report.
  See `bb-ang combine-coverage --help` for more.

## [2.0.1-pr.39] - 2018-01-07

### Fixed

- Fix packing apps when the path to the project has spaces in the name (MAINT-6526)

## [2.0.1-pr.38] - 2018-12-27

### Added

- Add an ability to have entry points on a package

## [2.0.1-pr.37] - 2018-12-14

### Added

- Update to latest version of ng-packagr (under the hood).

## [2.0.1-pr.36] - 2018-12-14

### Added

- Update to support Angular 7

## [2.0.1-pr.35] - 2018-12-14

### Fixed

- Fix errors reported by npm audit (by updating ng-packagr)

## [2.0.1-pr.34] - 2018-11-09

### Fixed

- Fix an ability to specify the array of white-listed namespaces for dependencies via node-deps-scope option in bb-ang (SDK-1446)

## [2.0.1-pr.33] - 2018-10-31

### Fixed

- Add `application` option to bb-ang to have an ability to specify a list of applications to be processed by package:apps (SDK-1433)

## [2.0.1-pr.32] - 2018-10-31

### Fixed

- Any @bb-cli/\* modules are excluded from the dependency scanning process to avoid clashes while looking for model.xml (SDK-1432)

## [2.0.1-pr.31] - 2018-09-18

### Fixed

- Package apps copies assets into App assets path without extra "dist" directory (SDK-1424)

## [2.0.1-pr.30] - 2018-09-18

### Added

- Copy "CHANGELOG.md" to package during package libs

## [2.0.1-pr.29] - 2018-09-14

### Fixed

- Fixed bug when there is no locale, and no styles to load, the generated style HBS
  was invalid

## [2.0.1-pr.24 - 2.0.1-pr-28]

### Changelog missing

## [2.0.1-pr.23] - 2018-09-14

### Added

- Ability to pack assets folder into a widget library (SDK-1364)

## [2.0.1-pr.22] - 2018-09-06

### Added

- `--output-hashing` option to enable cache-busting output hashing of generated JS/CSS

## [2.0.1-pr.21] - 2018-08-06

### Added

- `--configuration` parameter to allow arbitrary environment configurations (SDK-1351)
