Deliver web apps with confidence 🚀
Find a file
Paul Gschwendtner b46b3cf43e refactor: remove remaining dynamic require usages in package output (#43431)
Removes the remaining usages of dynamic require statements in the
package output. Since we declare all shipped packages as strict ESM,
we cannot use dynamic require statements anymore. This commit switches
these usages to actual `import` statements.

Note: Tsickle continues to remain an optional dependency since bundling
does not work with its UMD package output. Also tsickle is rarely used by
consumers, if at all, so bundling does not really provide any significant
value. To continue keeping tsickle optional (since it's still needed by the
`annotateForClosureCompiler` option which is also respected in ngtsc), we
pass-through a tsickle instance as a parameter to `main`. This allows us to
keep the compile functions synchronous without having to refactor the majority
of the watch compilation code, and majority of tests for ngc, ngtsc.

Consumers (like the `ngc` bin entry-point) can then load tsickle based on their
module format. e.g. tsickle can be imported through `require` to keep everything
sync, but in ESM, the dynamic import can be used beforehand to pass `tsickle` to
the `main` function. We can revisit this in the future but for now this does the
trick without exceeding the scope of this commit..

PR Close #43431
2021-10-01 18:28:45 +00:00
.circleci ci: disable components-repo-unit-tests job due to APF v13 (#43431) 2021-10-01 18:28:44 +00:00
.devcontainer build: upgrade to node 14 (#41544) 2021-04-14 09:40:17 -07:00
.github refactor(bazel): move ng_module.bzl file into sub-directory for consistent structure (#43431) 2021-10-01 18:28:42 +00:00
.husky build: remove unnecessary husky gitignore file (#42870) 2021-07-19 17:31:55 -07:00
.ng-dev build: update bazel setup to latest dev-infra package and rules_nodejs v4.2.0 (#43431) 2021-10-01 18:28:41 +00:00
.vscode docs: fix typos in .vscode/README.md (#43621) 2021-09-28 14:28:14 -07:00
.yarn build: update to yarn v1.22.10 (#40562) 2021-01-26 10:52:27 -08:00
aio build: update to latest version Angular CLI supporting ESM package output (#43431) 2021-10-01 18:28:44 +00:00
docs build(docs-infra): add sealed markers to classes in API pages (#42807) 2021-08-17 09:23:09 -07:00
goldens test: update all api goldens to match with new NPM package output (#43431) 2021-10-01 18:28:43 +00:00
integration test: update bazel integration test to use linker for v13 APF (#43431) 2021-10-01 18:28:45 +00:00
modules docs: refactor example apps to use dynamic imports for loadChildren (#43591) 2021-09-29 14:45:17 -07:00
packages refactor: remove remaining dynamic require usages in package output (#43431) 2021-10-01 18:28:45 +00:00
scripts build: set executable bit for build-packages-dist script (#43431) 2021-10-01 18:28:44 +00:00
third_party build: rename shims_for_IE.js -> shims_for_internal_tests.js (#43002) 2021-08-02 10:38:42 -07:00
tools refactor: make all imports compatible with ESM/CJS output. (#43431) 2021-10-01 18:28:45 +00:00
.bazelignore test: delete integration test for language service plugin (#41740) 2021-04-23 11:00:40 -07:00
.bazelrc build: remove dev-infra directory and migrate to relying on @angular/dev-infra-private-builds (#43061) 2021-08-16 10:44:27 -07:00
.bazelversion build: remove outdated note when updating bazel version (#42760) 2021-07-09 14:50:14 -07:00
.clang-format feat(tooling): Add a .clang-format for automated JavaScript formatting. 2015-04-02 08:44:34 -07:00
.editorconfig build: use https link to editorconfig.org in .editorconfig (#27664) 2018-12-18 09:30:09 -08:00
.gitattributes build: remove ts-api-guardian from repository (#42735) 2021-07-26 12:02:14 -07:00
.gitignore build: Turn tsec checks into bazel tests. (#43108) 2021-09-13 14:45:57 -07:00
.gitmessage build: remove dev-infra directory and migrate to relying on @angular/dev-infra-private-builds (#43061) 2021-08-16 10:44:27 -07:00
.mailmap build: add a Git .mailmap with my new name (#19550) 2017-10-09 14:35:30 -07:00
.npmrc build: rely on engines to prevent using npm for dependency install (#41477) 2021-04-07 12:05:01 -07:00
.nvmrc build: upgrade to node 14 (#41544) 2021-04-14 09:40:17 -07:00
.prettierrc ci: use prettier to format yml files (#42136) 2021-05-19 11:20:20 -07:00
.pullapprove.yml refactor: expose new @angular/localize/tools entry-point for CLI usage (#43431) 2021-10-01 18:28:44 +00:00
.yarnrc build: update to yarn v1.22.10 (#40562) 2021-01-26 10:52:27 -08:00
browser-providers.conf.js ci: remove IE11 from the list of browsers used during CI (#43002) 2021-08-02 10:38:42 -07:00
BUILD.bazel build: rename shims_for_IE.js -> shims_for_internal_tests.js (#43002) 2021-08-02 10:38:42 -07:00
CHANGELOG.md release: cut the v13.0.0-next.9 release (#43656) 2021-09-30 13:23:26 -07:00
CODE_OF_CONDUCT.md docs: add Discord as an official communication channel (#39149) 2020-10-14 10:23:15 -07:00
CONTRIBUTING.md docs: update commit message guidelines to reflect current requirements (#43650) 2021-10-01 08:55:01 -07:00
gulpfile.js build: convert CLDR locale extraction from Gulp to Bazel tool (#42230) 2021-07-16 12:44:59 -07:00
karma-js.conf.js build: rename shims_for_IE.js -> shims_for_internal_tests.js (#43002) 2021-08-02 10:38:42 -07:00
LICENSE docs: update the copyright notice date (#40707) 2021-02-16 10:04:23 -08:00
package.json refactor: make all imports compatible with ESM/CJS output. (#43431) 2021-10-01 18:28:45 +00:00
README.md docs: update tagline (#41922) 2021-05-03 10:04:05 -07:00
renovate.json ci: configure renovate to manage GitHub workflow updates (#43146) 2021-08-16 11:37:20 -07:00
test-events.js build: update license headers to reference Google LLC (#37205) 2020-05-26 14:26:58 -04:00
test-main.js build: remove unnecessary polyfills from tests (#42567) 2021-06-14 14:14:41 -07:00
tsconfig-tslint.json build: remove dev-infra directory and migrate to relying on @angular/dev-infra-private-builds (#43061) 2021-08-16 10:44:27 -07:00
tslint.json build: enable esModuleInterop in TypeScript compilations (#43431) 2021-10-01 18:28:45 +00:00
WORKSPACE build: make bazel integrations compatible with windows (#43431) 2021-10-01 18:28:43 +00:00
yarn.lock build: update to latest version Angular CLI supporting ESM package output (#43431) 2021-10-01 18:28:44 +00:00
yarn.lock.readme.md build: remove travisci leftovers (#27979) 2019-01-09 10:41:16 -08:00

Angular - The modern web developer's platform.

angular-logo
Angular is a development platform for building mobile and desktop web applications
using Typescript/JavaScript and other languages.

www.angular.io

Contributing Guidelines · Submit an Issue · Blog

CI status   Angular on npm   Discord conversation


Documentation

Get started with Angular, learn the fundamentals and explore advanced topics on our documentation website.

Advanced

Development Setup

Prerequisites

Setting Up a Project

Install the Angular CLI globally:

npm install -g @angular/cli

Create workspace:

ng new [PROJECT NAME]

Run the application:

cd [PROJECT NAME]
ng serve

Angular is cross-platform, fast, scalable, has incredible tooling, and is loved by millions.

Quickstart

Get started in 5 minutes.

Ecosystem

angular ecosystem logos

Changelog

Learn about the latest improvements.

Upgrading

Check out our upgrade guide to find out the best way to upgrade your project.

Contributing

Contributing Guidelines

Read through our contributing guidelines to learn about our submission process, coding rules and more.

Want to Help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues labeled as help wanted or good first issue.

Code of Conduct

Help us keep Angular open and inclusive. Please read and follow our Code of Conduct.

Community

Join the conversation and help the community.

Love Angular badge

Love Angular? Give our repo a star ⬆️.