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.
before: `ng g c member-list` output `create src/app/ng-list/ng-list.component.scss`.
after: `ng g c member-list` output ` create src/app/member-list/member-list.component.scss`.
Close#1405Close#1829
This also will load angular-cli.json in the HOME directory as a fallback, supports more stuff from the JSON Schema (like default values) than the old one, and actually verify that what you inputs is the right thing.
This will be its own NPM package at some point, as other people will probably be interested in having a JSON Schema loader that gives type safety and provides fallbacks and metadata.
Closes#1763
* build: use webpack for building apps.
This pull request replaces the underlying broccoli build system and then
replaces it with webpack as the build and bundler.
This will affect the following commands (however the user-level)
functionality should go unchanged (besides unimplemented flags which
will come after this PR.):
ng build (with --env flag and --watch flag supported)
ng serve (with --port flag supported)
ng test / ng e2e
The webpack configuration is blackboxed, and therefore users will not
see a webpack.config.js file in their repository.
Also this PR will bump the typescript version to 2.0 (beta).
Fixes#909#1155#882
* chore(lint) Corrected any eslint errors and cleaned up unused files
* chore(cleanup) additional cleanup tasks performed. Removed unneeded code, indentation causing linting errors, add back tsconfig sourcemapping, removed console logs, deleted material unused files.
* chore: remove bind from serve command
* chore: simplify test command
* chore: fix test warnings
* chore: revert whitespace changes
* chore: re-add mapRoot to tsconfig
* chore: remove unused import
* bugfix: fix broken tests
* fix: fix mobile-specific feature test
* bugfix: fix public folder test
* fix: fixes for path mappings, tests, and coverage (#1359)
* fix(): Multiple fixes for path mappings:
* Removed invalid test case that was throwing path mappings tests because of a typescript bug.
* Readded PathsPlugin for Path Mappings
* Removed coverage preprocessor which was throwing bad type errors against ts code when it shouldn't be.
* Added sourcemap support for istanbul instrumenter. Coverage files are still being generated.
* fix: fix the way the build command runs for mobile tests
* fix: fix the way the build command runs for mobile tests
* fix: replaced promise based ng command with sh.exec to allow mappings test to run correctly against mobile
* fix: replaced promise based ng command with sh.exec to allow mappings test to run correctly against mobile
* fix: add environment configuration replacement (#1364)
* fix: add environment configuration replacement
* remove debuggers
* fix: move mobile test above config test because it relies on prod build from previous step
* fix: removed unneeded interface moved config paths
* fix(tests): re-enable sass/less/stylus tests (#1363)
* chore: remove systemjs (#1376)
* chore: remove vendor.ts (#1383)
* chore: remove material2 test option (#1385)
* fix(build): re-add support for sourceDir (#1378)
* chore(build): remove broccoli (#1386)
* chore: remove windows elevation check (#1384)
* fix(test): add missing sourceDir (#1387)
* fix: update node polyfill support properties for prod config to allow dev-server (aka ng serve) (#1395)
* chore(tests): add prod env e2e test (#1394)
* chore: cleanup of new files (#1388)
* fix(serve): disable HMR (#1402)
* chore: review docs (#1407)
* feat(env): decouple build from env file (#1404)
* fix: fix tsconfig for editors (#1420)
* chore: fix webpack branch after merge conflicts (#1423)
* fix: update to awesome-typescript-loader 2.1.0 (#1425)
* fix: update to awesome-typescript-loader 2.1.0 which fixes a few issues shimming typings libs in tsconfig.json
* fix: forgot to set libs in tsconfig blueprint
* chore(blueprints): remove module.id (#1426)
* feat: add host flag support for ng serve (#1442)
* feat(test): add karma plugin (#1437)
* chore(blueprints): re-add outDir (#1428)
* feat: use @types instead of typings (#1449)
* fix: make sourcemaps work in test (#1447)
* feat: add utilities for typescript ast (#1159) (#1453)
'ast-utils.ts' provides typescript ast utility functions
Currently, when building for production with --mobile, there
is a runtime error because require is being called. This is
because the app/index.js file is being concatenated into the
final script, in addition to having already been processed
by System bundler. Since it's already included in the bundle,
it shouldn't be explicitly added to the concatenated JS file.
Motivation: allow angular-cli builds to take advantage of other brocolli plugins that do double duty as ember-cli addons. Specifically, `broccoli-asset-rev`
Expose the `_options` property as a public getter through `options` to allow the ember addon to query for options without throwing fatal build errors
Closes#1226