Currently, the version of a release is determined by the git tag.
This PR changes release script to determine the release version from the
`version` property in the root `package.json`.
Release docs have also been updated.
npm 7.5.6 contains several fixes that allow it to work successfully with the Angular CLI.
The minimum npm engine value is now set to support npm versions greater than 7.5.6 (npm 6 support remains unchanged).
A warning will be shown to users with npm 7 versions less than 7.5.6 when used with the new, add, or update commands.
This change provides an improved performance baseline as well as access to newer Node.js APIs and Javascript language features which the Angular CLI will now be able to leverage.
BREAKING CHANGE:
Node.js version 10 will become EOL on 2021-04-30.
Angular CLI 12 will require Node.js 12.13+ or 14.15+. Node.js 12.13 and 14.15 are the first LTS releases for their respective majors.
This change will display an error message if using npm 7 (or versions earlier than 6). This is a temporarily change while npm 7 usability concerns are addressed.
BREAKING CHANGE: deprecated API's `ModuleNotFoundException`, `ResolveOptions`, `resolve` have been removed. Use `MODULE_NOT_FOUND` and `require.resolve` instead.
**Note**: this change only effect users using `@angular-devkit/core` public API and not application developers.
Currently, we can't publish v10 because the `--match` pattern in describe can't match the tag `v10.0.0`. The new glob has the following semantics:
```
v[0-9]*.[0-9]*.[0-9]*
```
Couldn't make it stricter because didn't find an easy way to enable extglobs for git for everyone.
Yarn displays a warning due to an unknown engine value of `pnpm`. Until this is corrected upstream, the value can be temporarily removed to eliminate the multiple, but otherwise harmless, warnings shown to users upon package install.
Version 10.13.0 was the first version of 10.x that was considered LTS. This also provides an improved performance baseline as well as access to newer Node.js APIs and Javascript language features which the Angular CLI will now be able to leverage.
Closes#13228
It is currently unused and requires an old version of the `source-map` package. This old version conflicts with the use of newer versions that are required to provide the necessary functionality and performance within the published packages.
This was dropped because we used to have postinstall scripts that
we did not want to use on npm. We don't anymore, so there's no
use in removing those scripts.
This should make it easier to manage and diff. This takes 2 things into account:
1. we have either stable or experimental versions and each are kept in monorepo.
2. we dont keep hash and update only changed packages.
This commit also removed the hash to make sure this does not happen.
* docs: add README files to all root folders
Except benchmark and tools.
* refactor: move rules/ directory to etc/
And fix a linting error that was found while updating tslint usage
* ci: lint errors out if TSLint shows a warning
This is not a warning from the code itself, but from TSLint. For example,
if a rule was missing, TSLint will just ignore the rule, show something on
STDOUT and not fail.
This fixes CI where local rules were missing for unknown reasons. It will
now fail CI when that happens, which is the correct behaviour.
Replace the v8-profiler dependency with v8-profiler-node8 as the first one
doesn't support node 8 and 10, and that @angular/cli support only node 8
and 10.
The require() logic by default is not enough; require("file") would pick the json
if there are both a file.ts and file.json. This does not show up in prod because
js files are prioritized over json, but it does show up in bootstrap because we
compile ts in memory and there are no .js file on disk (which require()
could potentially see).
This is necessary for the schema change because schema.json and
schema.ts collides. We should also rename the commands from *-impl.ts to
just *.ts (they were named that way because of this conflict).
Before it would try to load the package from the CLI project, as a
regular require() call, now it adds a check to see if it can be resolved
from the process.cwd(), before doing the previous behaviour.
Also adding a new package, webpack, which is a plugin and loader for
webpack that adds support for AoT.
It is behind a `--aot` flag in the CLI that is supported by build and
serve.
Moving Angular-CLI into `packages/` and building the angular-cli.
The published packages will now have JavaScript only (with their d.ts), instead of being a mix of TypeScript and JavaScript, and it won't have the hacks of having a custom require extension to load the TypeScript.
Our development flow will be more streamlined, tools are going to be better (no more undefined symbols that are actually defined), and the npm packages will boot up way faster (since there's no more compilation during runtime).
Locally nothing changes, use `npm link` and run your local `ng`. Using the `npm` releases though it should be all javascript from the release.
The E2E tests also now uses the `dist` folder output to install in the new E2E app, making sure the process works for an app published to npm.
Note: Even though we're following the lerna structure, we won't be using their tool anytime soon.