@nx/angular 20.2.0-canary.20241130-ec5a5e6 → 20.2.0-canary.20241203-6b87005
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/executors.json +1 -1
- package/fesm2022/nx-angular-mf.mjs.map +1 -1
- package/fesm2022/nx-angular-testing.mjs.map +1 -1
- package/fesm2022/nx-angular.mjs.map +1 -1
- package/generators.json +1 -1
- package/migrations.json +151 -1
- package/package.json +8 -15
- package/src/builders/dev-server/lib/normalize-options.js +3 -0
- package/src/builders/dev-server/lib/validate-options.js +1 -9
- package/src/builders/dev-server/schema.json +3 -4
- package/src/executors/application/application.impl.d.ts +1 -1
- package/src/executors/application/application.impl.js +4 -1
- package/src/executors/application/schema.json +78 -6
- package/src/executors/application/utils/normalize-options.d.ts +2 -0
- package/src/executors/application/utils/normalize-options.js +33 -0
- package/src/executors/application/utils/validate-options.js +18 -4
- package/src/executors/browser-esbuild/browser-esbuild.impl.d.ts +1 -1
- package/src/executors/browser-esbuild/browser-esbuild.impl.js +0 -9
- package/src/executors/browser-esbuild/schema.json +1 -1
- package/src/executors/delegate-build/delegate-build.impl.d.ts +1 -1
- package/src/executors/module-federation-dev-server/module-federation-dev-server.impl.d.ts +1 -1
- package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.d.ts +1 -1
- package/src/executors/module-federation-ssr-dev-server/module-federation-ssr-dev-server.impl.js +8 -12
- package/src/executors/module-federation-ssr-dev-server/schema.d.ts +2 -14
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.d.ts +1 -2
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.js +11 -20
- package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.d.ts +1 -1
- package/src/executors/ng-packagr-lite/ng-packagr-lite.impl.js +1 -1
- package/src/executors/ng-packagr-lite/schema.json +0 -8
- package/src/executors/package/ng-packagr-adjustments/ng-packagr.d.ts +1 -2
- package/src/executors/package/ng-packagr-adjustments/ng-packagr.js +4 -21
- package/src/executors/package/package.impl.d.ts +2 -2
- package/src/executors/package/package.impl.js +1 -1
- package/src/executors/package/schema.d.ts +1 -3
- package/src/executors/package/schema.json +0 -10
- package/src/executors/utilities/ng-packagr/{stylesheet-processor.js → pre-v19/stylesheet-processor.js} +2 -2
- package/src/executors/utilities/ng-packagr/stylesheet-processor.di.js +11 -5
- package/src/executors/utilities/ng-packagr/tailwindcss.d.ts +0 -6
- package/src/executors/utilities/ng-packagr/tailwindcss.js +0 -32
- package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.d.ts +23 -0
- package/src/executors/utilities/ng-packagr/v19+/stylesheet-processor.js +93 -0
- package/src/generators/application/application.js +1 -0
- package/src/generators/application/files/ng-module/src/app/app.component.ts__tpl__ +4 -5
- package/src/generators/application/files/nx-welcome/claimed/ng-module/src/app/nx-welcome.component.ts__tpl__ +2 -1
- package/src/generators/application/files/nx-welcome/claimed/standalone/src/app/nx-welcome.component.ts__tpl__ +2 -2
- package/src/generators/application/files/nx-welcome/not-configured/ng-module/src/app/nx-welcome.component.ts__tpl__ +2 -1
- package/src/generators/application/files/nx-welcome/not-configured/standalone/src/app/nx-welcome.component.ts__tpl__ +2 -2
- package/src/generators/application/files/nx-welcome/unclaimed/ng-module/src/app/nx-welcome.component.ts__tpl__ +2 -1
- package/src/generators/application/files/nx-welcome/unclaimed/standalone/src/app/nx-welcome.component.ts__tpl__ +2 -2
- package/src/generators/application/files/standalone-components/src/app/app.component.ts__tpl__ +4 -6
- package/src/generators/application/lib/add-serve-static-target.d.ts +1 -1
- package/src/generators/application/lib/add-serve-static-target.js +1 -3
- package/src/generators/application/lib/create-files.js +4 -1
- package/src/generators/application/lib/create-project.js +24 -31
- package/src/generators/application/lib/normalize-options.js +1 -6
- package/src/generators/application/schema.d.ts +1 -0
- package/src/generators/application/schema.json +7 -2
- package/src/generators/component/component.js +4 -0
- package/src/generators/component/files/__fileName__.spec.ts__tpl__ +1 -1
- package/src/generators/component/files/__fileName__.ts__tpl__ +5 -13
- package/src/generators/component/lib/normalize-options.js +2 -0
- package/src/generators/component/schema.d.ts +1 -0
- package/src/generators/component/schema.json +5 -0
- package/src/generators/convert-to-application-executor/convert-to-application-executor.js +1 -4
- package/src/generators/convert-to-application-executor/schema.json +1 -1
- package/src/generators/directive/directive.js +5 -0
- package/src/generators/directive/files/__fileName__.ts__tpl__ +2 -2
- package/src/generators/directive/lib/normalize-options.js +3 -1
- package/src/generators/host/files/common/{v17+/src → src}/main.server.ts__tmpl__ +1 -1
- package/src/generators/host/lib/update-ssr-setup.js +2 -1
- package/src/generators/host/schema.d.ts +1 -0
- package/src/generators/host/schema.json +4 -0
- package/src/generators/pipe/files/__fileName__.ts__tpl__ +2 -2
- package/src/generators/pipe/lib/normalize-options.js +3 -1
- package/src/generators/pipe/pipe.js +5 -0
- package/src/generators/remote/files/common/{v17+/src → src}/main.server.ts__tmpl__ +1 -1
- package/src/generators/remote/lib/update-ssr-setup.js +2 -1
- package/src/generators/remote/schema.d.ts +1 -0
- package/src/generators/remote/schema.json +4 -0
- package/src/generators/scam/lib/normalize-options.js +3 -1
- package/src/generators/scam-directive/lib/normalize-options.js +3 -1
- package/src/generators/scam-pipe/lib/normalize-options.js +3 -1
- package/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.d.ts +1 -1
- package/src/generators/scam-to-standalone/lib/convert-scam-to-standalone.js +5 -4
- package/src/generators/setup-mf/files/entry-module-files/entry.component.ts__tmpl__ +2 -1
- package/src/generators/setup-mf/files/standalone-entry-component-files/entry.component.ts__tmpl__ +2 -2
- package/src/generators/setup-mf/lib/add-remote-entry.js +5 -0
- package/src/generators/setup-ssr/files/{server → pre-v19/server}/application-builder/__serverFileName__ +1 -1
- package/src/generators/setup-ssr/files/{server/server-builder/v17+ → pre-v19/server/server-builder}/__serverFileName__ +1 -1
- package/src/generators/setup-ssr/files/v19+/application-builder/ngmodule-src/__main__ +1 -0
- package/src/generators/setup-ssr/files/v19+/application-builder/ngmodule-src/app/__rootModuleFileName__ +13 -0
- package/src/generators/setup-ssr/files/v19+/application-builder/ngmodule-src/app/app.routes.server.ts__tpl__ +8 -0
- package/src/generators/setup-ssr/files/v19+/application-builder/server/__serverFileName__ +66 -0
- package/src/generators/setup-ssr/files/v19+/application-builder/standalone-src/__main__ +7 -0
- package/src/generators/setup-ssr/files/v19+/application-builder/standalone-src/app/app.config.server.ts__tpl__ +14 -0
- package/src/generators/setup-ssr/files/v19+/application-builder/standalone-src/app/app.routes.server.ts__tpl__ +8 -0
- package/src/generators/setup-ssr/files/v19+/application-builder-common-engine/server/__serverFileName__ +65 -0
- package/src/generators/setup-ssr/files/v19+/server-builder/ngmodule-src/__main__ +1 -0
- package/src/generators/setup-ssr/files/v19+/server-builder/ngmodule-src/app/__rootModuleFileName__ +14 -0
- package/src/generators/setup-ssr/files/v19+/server-builder/root/tsconfig.server.json.template +16 -0
- package/src/generators/setup-ssr/files/{server/server-builder/pre-v17 → v19+/server-builder/server}/__serverFileName__ +25 -15
- package/src/generators/setup-ssr/files/v19+/server-builder/standalone-src/__main__ +7 -0
- package/src/generators/setup-ssr/files/v19+/server-builder/standalone-src/app/app.config.server.ts.template +11 -0
- package/src/generators/setup-ssr/lib/add-dependencies.js +6 -17
- package/src/generators/setup-ssr/lib/add-hydration.d.ts +2 -2
- package/src/generators/setup-ssr/lib/add-hydration.js +10 -2
- package/src/generators/setup-ssr/lib/add-server-file.d.ts +2 -2
- package/src/generators/setup-ssr/lib/add-server-file.js +24 -10
- package/src/generators/setup-ssr/lib/generate-files.d.ts +2 -2
- package/src/generators/setup-ssr/lib/generate-files.js +20 -8
- package/src/generators/setup-ssr/lib/generate-server-ts-config.d.ts +3 -3
- package/src/generators/setup-ssr/lib/generate-server-ts-config.js +24 -3
- package/src/generators/setup-ssr/lib/normalize-options.d.ts +3 -14
- package/src/generators/setup-ssr/lib/normalize-options.js +23 -6
- package/src/generators/setup-ssr/lib/set-router-initial-navigation.d.ts +2 -2
- package/src/generators/setup-ssr/lib/update-project-config.d.ts +3 -3
- package/src/generators/setup-ssr/lib/update-project-config.js +36 -24
- package/src/generators/setup-ssr/lib/validate-options.js +5 -0
- package/src/generators/setup-ssr/schema.d.ts +5 -0
- package/src/generators/setup-ssr/schema.json +6 -8
- package/src/generators/setup-ssr/setup-ssr.js +6 -11
- package/src/generators/setup-tailwind/lib/index.d.ts +1 -1
- package/src/generators/setup-tailwind/lib/index.js +1 -1
- package/src/generators/setup-tailwind/lib/update-application-styles.js +1 -1
- package/src/generators/setup-tailwind/lib/validate-build-target.d.ts +3 -0
- package/src/generators/setup-tailwind/lib/{add-tailwind-config-path-to-project.js → validate-build-target.js} +4 -15
- package/src/generators/setup-tailwind/setup-tailwind.js +4 -1
- package/src/generators/utils/storybook-ast/component-info.js +12 -2
- package/src/generators/utils/validations.d.ts +1 -0
- package/src/generators/utils/validations.js +10 -0
- package/src/generators/utils/version-utils.js +2 -2
- package/src/migrations/update-20-2-0/add-localize-polyfill-to-targets.d.ts +3 -0
- package/src/migrations/update-20-2-0/add-localize-polyfill-to-targets.js +48 -0
- package/src/migrations/update-20-2-0/update-angular-cli.d.ts +3 -0
- package/src/migrations/update-20-2-0/update-angular-cli.js +23 -0
- package/src/migrations/update-20-2-0/update-angular-ssr-imports-to-use-node-entry-point.d.ts +2 -0
- package/src/migrations/update-20-2-0/update-angular-ssr-imports-to-use-node-entry-point.js +55 -0
- package/src/utils/backward-compatible-versions.d.ts +4 -4
- package/src/utils/backward-compatible-versions.js +20 -19
- package/src/utils/nx-devkit/ast-utils.d.ts +10 -1
- package/src/utils/nx-devkit/ast-utils.js +32 -9
- package/src/utils/versions.d.ts +7 -7
- package/src/utils/versions.js +7 -7
- package/esm2022/index.mjs +0 -2
- package/esm2022/mf/index.mjs +0 -2
- package/esm2022/mf/mf.mjs +0 -116
- package/esm2022/mf/nx-angular-mf.mjs +0 -5
- package/esm2022/nx-angular.mjs +0 -5
- package/esm2022/src/runtime/nx/data-persistence.mjs +0 -349
- package/esm2022/testing/index.mjs +0 -2
- package/esm2022/testing/nx-angular-testing.mjs +0 -5
- package/esm2022/testing/src/testing-utils.mjs +0 -38
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.di.d.ts +0 -14
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.di.js +0 -27
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.transform.d.ts +0 -12
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/compile-ngc.transform.js +0 -53
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.di.d.ts +0 -15
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.di.js +0 -28
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.transform.d.ts +0 -30
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/entry-point.transform.js +0 -52
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.di.d.ts +0 -12
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.di.js +0 -20
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.transform.d.ts +0 -9
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/entry-point/write-package.transform.js +0 -320
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/options.di.d.ts +0 -14
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/options.di.js +0 -35
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/package.di.d.ts +0 -14
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ng-package/package.di.js +0 -37
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.d.ts +0 -12
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.js +0 -178
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.d.ts +0 -42
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.di.d.ts +0 -10
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.di.js +0 -17
- package/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.js +0 -201
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.d.ts +0 -14
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.di.js +0 -26
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.d.ts +0 -12
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.js +0 -71
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/entry-point.di.d.ts +0 -13
- package/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/entry-point.di.js +0 -32
- package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.d.ts +0 -14
- package/src/executors/package/ng-packagr-adjustments/ng-package/options.di.js +0 -35
- package/src/executors/package/ng-packagr-adjustments/ng-package/package.di.d.ts +0 -14
- package/src/executors/package/ng-packagr-adjustments/ng-package/package.di.js +0 -37
- package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.d.ts +0 -13
- package/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.js +0 -183
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.d.ts +0 -36
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.di.d.ts +0 -10
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.di.js +0 -17
- package/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.js +0 -194
- package/src/executors/package/ng-packagr-adjustments/utils/ng-compiler-cli.d.ts +0 -1
- package/src/executors/package/ng-packagr-adjustments/utils/ng-compiler-cli.js +0 -9
- package/src/generators/host/files/common/pre-v17/src/main.server.ts__tmpl__ +0 -66
- package/src/generators/remote/files/common/pre-v17/src/main.server.ts__tmpl__ +0 -72
- package/src/generators/setup-tailwind/lib/add-tailwind-config-path-to-project.d.ts +0 -3
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-bundles.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-bundles.di.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-bundles.transform.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-bundles.transform.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-package.di.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-package.di.js +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-package.transform.d.ts +0 -0
- /package/src/executors/ng-packagr-lite/ng-packagr-adjustments/{v17+ → pre-v19}/ng-package/entry-point/write-package.transform.js +0 -0
- /package/src/executors/utilities/ng-packagr/{stylesheet-processor.d.ts → pre-v19/stylesheet-processor.d.ts} +0 -0
- /package/src/generators/setup-ssr/files/{ngmodule/src → pre-v19/ngmodule-src}/__main__ +0 -0
- /package/src/generators/setup-ssr/files/{ngmodule/src → pre-v19/ngmodule-src}/app/__rootModuleFileName__ +0 -0
- /package/src/generators/setup-ssr/files/{root → pre-v19/root}/tsconfig.server.json__tpl__ +0 -0
- /package/src/generators/setup-ssr/files/{standalone/src → pre-v19/standalone-src}/__main__ +0 -0
- /package/src/generators/setup-ssr/files/{standalone/src → pre-v19/standalone-src}/app/app.config.server.ts__tpl__ +0 -0
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Adapted from the original ng-packagr.
|
|
4
|
-
*
|
|
5
|
-
* Changes made:
|
|
6
|
-
* - Use our own options interface to add support for tailwindConfig.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.NX_DEFAULT_OPTIONS_PROVIDER = exports.nxProvideOptions = exports.NX_OPTIONS_TOKEN = void 0;
|
|
10
|
-
const tslib_1 = require("tslib");
|
|
11
|
-
const find_cache_dir_1 = tslib_1.__importDefault(require("find-cache-dir"));
|
|
12
|
-
const injection_js_1 = require("injection-js");
|
|
13
|
-
const os_1 = require("os");
|
|
14
|
-
const path_1 = require("path");
|
|
15
|
-
exports.NX_OPTIONS_TOKEN = new injection_js_1.InjectionToken(`nx.v1.options`);
|
|
16
|
-
const nxProvideOptions = (options = {}) => ({
|
|
17
|
-
provide: exports.NX_OPTIONS_TOKEN,
|
|
18
|
-
useValue: normalizeOptions(options),
|
|
19
|
-
});
|
|
20
|
-
exports.nxProvideOptions = nxProvideOptions;
|
|
21
|
-
exports.NX_DEFAULT_OPTIONS_PROVIDER = (0, exports.nxProvideOptions)();
|
|
22
|
-
function normalizeOptions(options = {}) {
|
|
23
|
-
const ciEnv = process.env['CI'];
|
|
24
|
-
const isCI = ciEnv?.toLowerCase() === 'true' || ciEnv === '1';
|
|
25
|
-
const { cacheEnabled = !isCI, cacheDirectory = findCachePath() } = options;
|
|
26
|
-
return {
|
|
27
|
-
...options,
|
|
28
|
-
cacheEnabled,
|
|
29
|
-
cacheDirectory,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
function findCachePath() {
|
|
33
|
-
const name = 'ng-packagr';
|
|
34
|
-
return (0, find_cache_dir_1.default)({ name }) || (0, path_1.resolve)((0, os_1.tmpdir)(), name);
|
|
35
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Adapted from the original ng-packagr source.
|
|
3
|
-
*
|
|
4
|
-
* Changes made:
|
|
5
|
-
* - Use NX_ENTRY_POINT_TRANSFORM_TOKEN instead of ENTRY_POINT_TRANSFORM_TOKEN.
|
|
6
|
-
* - USE NX_OPTIONS_TOKEN instead of OPTIONS_TOKEN.
|
|
7
|
-
* - USE NX_DEFAULT_OPTIONS_PROVIDER instead of DEFAULT_OPTIONS_PROVIDER.
|
|
8
|
-
*/
|
|
9
|
-
import { InjectionToken, Provider } from 'injection-js';
|
|
10
|
-
import { Transform } from 'ng-packagr/lib/graph/transform';
|
|
11
|
-
import { TransformProvider } from 'ng-packagr/lib/graph/transform.di';
|
|
12
|
-
export declare const NX_PACKAGE_TRANSFORM_TOKEN: InjectionToken<Transform>;
|
|
13
|
-
export declare const NX_PACKAGE_TRANSFORM: TransformProvider;
|
|
14
|
-
export declare const NX_PACKAGE_PROVIDERS: Provider[];
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Adapted from the original ng-packagr source.
|
|
4
|
-
*
|
|
5
|
-
* Changes made:
|
|
6
|
-
* - Use NX_ENTRY_POINT_TRANSFORM_TOKEN instead of ENTRY_POINT_TRANSFORM_TOKEN.
|
|
7
|
-
* - USE NX_OPTIONS_TOKEN instead of OPTIONS_TOKEN.
|
|
8
|
-
* - USE NX_DEFAULT_OPTIONS_PROVIDER instead of DEFAULT_OPTIONS_PROVIDER.
|
|
9
|
-
*/
|
|
10
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.NX_PACKAGE_PROVIDERS = exports.NX_PACKAGE_TRANSFORM = exports.NX_PACKAGE_TRANSFORM_TOKEN = void 0;
|
|
12
|
-
const injection_js_1 = require("injection-js");
|
|
13
|
-
const transform_di_1 = require("ng-packagr/lib/graph/transform.di");
|
|
14
|
-
const analyse_sources_di_1 = require("ng-packagr/lib/ng-package/entry-point/analyse-sources.di");
|
|
15
|
-
const init_tsconfig_di_1 = require("ng-packagr/lib/ng-package/entry-point/init-tsconfig.di");
|
|
16
|
-
const package_transform_1 = require("ng-packagr/lib/ng-package/package.transform");
|
|
17
|
-
const project_di_1 = require("ng-packagr/lib/project.di");
|
|
18
|
-
const entry_point_di_1 = require("./entry-point/entry-point.di");
|
|
19
|
-
const options_di_1 = require("./options.di");
|
|
20
|
-
exports.NX_PACKAGE_TRANSFORM_TOKEN = new injection_js_1.InjectionToken(`nx.v1.packageTransform`);
|
|
21
|
-
exports.NX_PACKAGE_TRANSFORM = (0, transform_di_1.provideTransform)({
|
|
22
|
-
provide: exports.NX_PACKAGE_TRANSFORM_TOKEN,
|
|
23
|
-
useFactory: package_transform_1.packageTransformFactory,
|
|
24
|
-
deps: [
|
|
25
|
-
project_di_1.PROJECT_TOKEN,
|
|
26
|
-
options_di_1.NX_OPTIONS_TOKEN,
|
|
27
|
-
init_tsconfig_di_1.INIT_TS_CONFIG_TOKEN,
|
|
28
|
-
analyse_sources_di_1.ANALYSE_SOURCES_TOKEN,
|
|
29
|
-
entry_point_di_1.NX_ENTRY_POINT_TRANSFORM_TOKEN,
|
|
30
|
-
],
|
|
31
|
-
});
|
|
32
|
-
exports.NX_PACKAGE_PROVIDERS = [
|
|
33
|
-
exports.NX_PACKAGE_TRANSFORM,
|
|
34
|
-
options_di_1.NX_DEFAULT_OPTIONS_PROVIDER,
|
|
35
|
-
init_tsconfig_di_1.INIT_TS_CONFIG_TRANSFORM,
|
|
36
|
-
analyse_sources_di_1.ANALYSE_SOURCES_TRANSFORM,
|
|
37
|
-
];
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Adapted from the original ng-packagr source.
|
|
3
|
-
*
|
|
4
|
-
* Changes made:
|
|
5
|
-
* - Use custom StylesheetProcessor instead of the one provided by ng-packagr.
|
|
6
|
-
* - Support ngcc for Angular < 16.
|
|
7
|
-
* - Support Angular Compiler `incrementalDriver` for Angular < 16.
|
|
8
|
-
*/
|
|
9
|
-
import { BuildGraph } from 'ng-packagr/lib/graph/build-graph';
|
|
10
|
-
import * as ts from 'typescript';
|
|
11
|
-
import { NgPackagrOptions } from '../ng-package/options.di';
|
|
12
|
-
import { StylesheetProcessor } from '../styles/stylesheet-processor';
|
|
13
|
-
export declare function compileSourceFiles(graph: BuildGraph, tsConfig: any, moduleResolutionCache: ts.ModuleResolutionCache, options: NgPackagrOptions, extraOptions?: Partial<ts.CompilerOptions>, stylesheetProcessor?: StylesheetProcessor, ngccProcessor?: any): Promise<void>;
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Adapted from the original ng-packagr source.
|
|
4
|
-
*
|
|
5
|
-
* Changes made:
|
|
6
|
-
* - Use custom StylesheetProcessor instead of the one provided by ng-packagr.
|
|
7
|
-
* - Support ngcc for Angular < 16.
|
|
8
|
-
* - Support Angular Compiler `incrementalDriver` for Angular < 16.
|
|
9
|
-
*/
|
|
10
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.compileSourceFiles = compileSourceFiles;
|
|
12
|
-
const tslib_1 = require("tslib");
|
|
13
|
-
const nodes_1 = require("ng-packagr/lib/ng-package/nodes");
|
|
14
|
-
const log = tslib_1.__importStar(require("ng-packagr/lib/utils/log"));
|
|
15
|
-
const cache_compiler_host_1 = require("ng-packagr/lib/ts/cache-compiler-host");
|
|
16
|
-
const node_path_1 = require("node:path");
|
|
17
|
-
const ts = tslib_1.__importStar(require("typescript"));
|
|
18
|
-
const angular_version_utils_1 = require("../../../utilities/angular-version-utils");
|
|
19
|
-
const module_loader_1 = require("../../../utilities/module-loader");
|
|
20
|
-
async function compileSourceFiles(graph, tsConfig, moduleResolutionCache, options, extraOptions, stylesheetProcessor, ngccProcessor) {
|
|
21
|
-
const { NgtscProgram, formatDiagnostics } = await (0, module_loader_1.loadEsmModule)('@angular/compiler-cli');
|
|
22
|
-
const { cacheDirectory, watch, cacheEnabled } = options;
|
|
23
|
-
const tsConfigOptions = {
|
|
24
|
-
...tsConfig.options,
|
|
25
|
-
...extraOptions,
|
|
26
|
-
};
|
|
27
|
-
const entryPoint = graph.find((0, nodes_1.isEntryPointInProgress)());
|
|
28
|
-
const ngPackageNode = graph.find(nodes_1.isPackage);
|
|
29
|
-
const inlineStyleLanguage = ngPackageNode.data.inlineStyleLanguage;
|
|
30
|
-
const cacheDir = cacheEnabled && cacheDirectory;
|
|
31
|
-
if (cacheDir) {
|
|
32
|
-
tsConfigOptions.incremental ??= true;
|
|
33
|
-
tsConfigOptions.tsBuildInfoFile ??= (0, node_path_1.join)(cacheDir, `tsbuildinfo/${entryPoint.data.entryPoint.flatModuleFile}.tsbuildinfo`);
|
|
34
|
-
}
|
|
35
|
-
let tsCompilerHost = (0, cache_compiler_host_1.cacheCompilerHost)(graph, entryPoint, tsConfigOptions, moduleResolutionCache, stylesheetProcessor, inlineStyleLanguage);
|
|
36
|
-
if (ngccProcessor) {
|
|
37
|
-
tsCompilerHost =
|
|
38
|
-
require('ng-packagr/lib/ts/ngcc-transform-compiler-host').ngccTransformCompilerHost(tsCompilerHost, tsConfigOptions, ngccProcessor, moduleResolutionCache);
|
|
39
|
-
}
|
|
40
|
-
const cache = entryPoint.cache;
|
|
41
|
-
const sourceFileCache = cache.sourcesFileCache;
|
|
42
|
-
let usingBuildInfo = false;
|
|
43
|
-
let oldBuilder = cache.oldBuilder;
|
|
44
|
-
if (!oldBuilder && cacheDir) {
|
|
45
|
-
oldBuilder = ts.readBuilderProgram(tsConfigOptions, tsCompilerHost);
|
|
46
|
-
usingBuildInfo = true;
|
|
47
|
-
}
|
|
48
|
-
// Create the Angular specific program that contains the Angular compiler
|
|
49
|
-
const angularProgram = new NgtscProgram(tsConfig.rootNames, tsConfigOptions, tsCompilerHost, cache.oldNgtscProgram);
|
|
50
|
-
const angularCompiler = angularProgram.compiler;
|
|
51
|
-
const { ignoreForDiagnostics, ignoreForEmit } = angularCompiler;
|
|
52
|
-
// SourceFile versions are required for builder programs.
|
|
53
|
-
// The wrapped host inside NgtscProgram adds additional files that will not have versions.
|
|
54
|
-
const typeScriptProgram = angularProgram.getTsProgram();
|
|
55
|
-
(0, cache_compiler_host_1.augmentProgramWithVersioning)(typeScriptProgram);
|
|
56
|
-
let builder;
|
|
57
|
-
if (watch || cacheDir) {
|
|
58
|
-
builder = cache.oldBuilder =
|
|
59
|
-
ts.createEmitAndSemanticDiagnosticsBuilderProgram(typeScriptProgram, tsCompilerHost, oldBuilder);
|
|
60
|
-
cache.oldNgtscProgram = angularProgram;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
builder = ts.createEmitAndSemanticDiagnosticsBuilderProgram(typeScriptProgram, tsCompilerHost);
|
|
64
|
-
}
|
|
65
|
-
// Update semantic diagnostics cache
|
|
66
|
-
const affectedFiles = new Set();
|
|
67
|
-
// Analyze affected files when in watch mode for incremental type checking
|
|
68
|
-
if ('getSemanticDiagnosticsOfNextAffectedFile' in builder) {
|
|
69
|
-
// eslint-disable-next-line no-constant-condition
|
|
70
|
-
while (true) {
|
|
71
|
-
const result = builder.getSemanticDiagnosticsOfNextAffectedFile(undefined, (sourceFile) => {
|
|
72
|
-
// If the affected file is a TTC shim, add the shim's original source file.
|
|
73
|
-
// This ensures that changes that affect TTC are typechecked even when the changes
|
|
74
|
-
// are otherwise unrelated from a TS perspective and do not result in Ivy codegen changes.
|
|
75
|
-
// For example, changing @Input property types of a directive used in another component's
|
|
76
|
-
// template.
|
|
77
|
-
if (ignoreForDiagnostics.has(sourceFile) &&
|
|
78
|
-
sourceFile.fileName.endsWith('.ngtypecheck.ts')) {
|
|
79
|
-
// This file name conversion relies on internal compiler logic and should be converted
|
|
80
|
-
// to an official method when available. 15 is length of `.ngtypecheck.ts`
|
|
81
|
-
const originalFilename = sourceFile.fileName.slice(0, -15) + '.ts';
|
|
82
|
-
const originalSourceFile = builder.getSourceFile(originalFilename);
|
|
83
|
-
if (originalSourceFile) {
|
|
84
|
-
affectedFiles.add(originalSourceFile);
|
|
85
|
-
}
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
return false;
|
|
89
|
-
});
|
|
90
|
-
if (!result) {
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
affectedFiles.add(result.affected);
|
|
94
|
-
}
|
|
95
|
-
// Add all files with associated template type checking files.
|
|
96
|
-
// Stored TS build info does not have knowledge of the AOT compiler or the typechecking state of the templates.
|
|
97
|
-
// To ensure that errors are reported correctly, all AOT component diagnostics need to be analyzed even if build
|
|
98
|
-
// info is present.
|
|
99
|
-
if (usingBuildInfo) {
|
|
100
|
-
for (const sourceFile of builder.getSourceFiles()) {
|
|
101
|
-
if (ignoreForDiagnostics.has(sourceFile) &&
|
|
102
|
-
sourceFile.fileName.endsWith('.ngtypecheck.ts')) {
|
|
103
|
-
// This file name conversion relies on internal compiler logic and should be converted
|
|
104
|
-
// to an official method when available. 15 is length of `.ngtypecheck.ts`
|
|
105
|
-
const originalFilename = sourceFile.fileName.slice(0, -15) + '.ts';
|
|
106
|
-
const originalSourceFile = builder.getSourceFile(originalFilename);
|
|
107
|
-
if (originalSourceFile) {
|
|
108
|
-
affectedFiles.add(originalSourceFile);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Collect program level diagnostics
|
|
115
|
-
const allDiagnostics = [
|
|
116
|
-
...angularCompiler.getOptionDiagnostics(),
|
|
117
|
-
...builder.getOptionsDiagnostics(),
|
|
118
|
-
...builder.getGlobalDiagnostics(),
|
|
119
|
-
];
|
|
120
|
-
// Required to support asynchronous resource loading
|
|
121
|
-
// Must be done before creating transformers or getting template diagnostics
|
|
122
|
-
await angularCompiler.analyzeAsync();
|
|
123
|
-
// Collect source file specific diagnostics
|
|
124
|
-
for (const sourceFile of builder.getSourceFiles()) {
|
|
125
|
-
if (ignoreForDiagnostics.has(sourceFile)) {
|
|
126
|
-
continue;
|
|
127
|
-
}
|
|
128
|
-
allDiagnostics.push(...builder.getDeclarationDiagnostics(sourceFile), ...builder.getSyntacticDiagnostics(sourceFile), ...builder.getSemanticDiagnostics(sourceFile));
|
|
129
|
-
// Declaration files cannot have template diagnostics
|
|
130
|
-
if (sourceFile.isDeclarationFile) {
|
|
131
|
-
continue;
|
|
132
|
-
}
|
|
133
|
-
// Only request Angular template diagnostics for affected files to avoid
|
|
134
|
-
// overhead of template diagnostics for unchanged files.
|
|
135
|
-
if (affectedFiles.has(sourceFile)) {
|
|
136
|
-
const angularDiagnostics = angularCompiler.getDiagnosticsForFile(sourceFile, affectedFiles.size === 1
|
|
137
|
-
? /** OptimizeFor.SingleFile **/ 0
|
|
138
|
-
: /** OptimizeFor.WholeProgram */ 1);
|
|
139
|
-
allDiagnostics.push(...angularDiagnostics);
|
|
140
|
-
sourceFileCache.updateAngularDiagnostics(sourceFile, angularDiagnostics);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
const otherDiagnostics = [];
|
|
144
|
-
const errorDiagnostics = [];
|
|
145
|
-
for (const diagnostic of allDiagnostics) {
|
|
146
|
-
if (diagnostic.category === ts.DiagnosticCategory.Error) {
|
|
147
|
-
errorDiagnostics.push(diagnostic);
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
otherDiagnostics.push(diagnostic);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
if (otherDiagnostics.length) {
|
|
154
|
-
log.msg(formatDiagnostics(errorDiagnostics));
|
|
155
|
-
}
|
|
156
|
-
if (errorDiagnostics.length) {
|
|
157
|
-
throw new Error(formatDiagnostics(errorDiagnostics));
|
|
158
|
-
}
|
|
159
|
-
const transformers = angularCompiler.prepareEmit().transformers;
|
|
160
|
-
if ('getSemanticDiagnosticsOfNextAffectedFile' in builder) {
|
|
161
|
-
while (builder.emitNextAffectedFile((fileName, data, writeByteOrderMark, onError, sourceFiles) => {
|
|
162
|
-
if (fileName.endsWith('.tsbuildinfo')) {
|
|
163
|
-
tsCompilerHost.writeFile(fileName, data, writeByteOrderMark, onError, sourceFiles);
|
|
164
|
-
}
|
|
165
|
-
})) {
|
|
166
|
-
// empty
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
const angularVersion = (0, angular_version_utils_1.getInstalledAngularVersionInfo)();
|
|
170
|
-
const incrementalCompilation = angularVersion.major < 16
|
|
171
|
-
? angularCompiler.incrementalDriver
|
|
172
|
-
: angularCompiler.incrementalCompilation;
|
|
173
|
-
for (const sourceFile of builder.getSourceFiles()) {
|
|
174
|
-
if (ignoreForEmit.has(sourceFile)) {
|
|
175
|
-
continue;
|
|
176
|
-
}
|
|
177
|
-
if (incrementalCompilation.safeToSkipEmit(sourceFile)) {
|
|
178
|
-
continue;
|
|
179
|
-
}
|
|
180
|
-
builder.emit(sourceFile, undefined, undefined, undefined, transformers);
|
|
181
|
-
incrementalCompilation.recordSuccessfulEmit(sourceFile);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Adapted from the original ng-packagr source.
|
|
3
|
-
*
|
|
4
|
-
* Changes made:
|
|
5
|
-
* - Refactored caching to take into account TailwindCSS processing.
|
|
6
|
-
* - Added PostCSS plugin needed to support TailwindCSS.
|
|
7
|
-
*/
|
|
8
|
-
export declare enum CssUrl {
|
|
9
|
-
inline = "inline",
|
|
10
|
-
none = "none"
|
|
11
|
-
}
|
|
12
|
-
export interface Result {
|
|
13
|
-
css: string;
|
|
14
|
-
warnings: string[];
|
|
15
|
-
error?: string;
|
|
16
|
-
}
|
|
17
|
-
export declare class StylesheetProcessor {
|
|
18
|
-
private readonly projectBasePath;
|
|
19
|
-
private readonly basePath;
|
|
20
|
-
private readonly cssUrl?;
|
|
21
|
-
private readonly includePaths?;
|
|
22
|
-
private cacheDirectory?;
|
|
23
|
-
private readonly tailwindConfig?;
|
|
24
|
-
private browserslistData;
|
|
25
|
-
private targets;
|
|
26
|
-
private postCssProcessor;
|
|
27
|
-
private esbuild;
|
|
28
|
-
private styleIncludePaths;
|
|
29
|
-
constructor(projectBasePath: string, basePath: string, cssUrl?: CssUrl, includePaths?: string[], cacheDirectory?: string | false, tailwindConfig?: string);
|
|
30
|
-
process({ filePath, content, }: {
|
|
31
|
-
filePath: string;
|
|
32
|
-
content: string;
|
|
33
|
-
}): Promise<string>;
|
|
34
|
-
private createPostCssProcessor;
|
|
35
|
-
private renderCss;
|
|
36
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Adapted from the original ng-packagr source.
|
|
3
|
-
*
|
|
4
|
-
* Changes made:
|
|
5
|
-
* - Use our own StylesheetProcessor instead of the one provided by ng-packagr.
|
|
6
|
-
*/
|
|
7
|
-
import { FactoryProvider, InjectionToken } from 'injection-js';
|
|
8
|
-
import { StylesheetProcessor } from './stylesheet-processor';
|
|
9
|
-
export declare const NX_STYLESHEET_PROCESSOR_TOKEN: InjectionToken<StylesheetProcessor>;
|
|
10
|
-
export declare const NX_STYLESHEET_PROCESSOR: FactoryProvider;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Adapted from the original ng-packagr source.
|
|
4
|
-
*
|
|
5
|
-
* Changes made:
|
|
6
|
-
* - Use our own StylesheetProcessor instead of the one provided by ng-packagr.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.NX_STYLESHEET_PROCESSOR = exports.NX_STYLESHEET_PROCESSOR_TOKEN = void 0;
|
|
10
|
-
const injection_js_1 = require("injection-js");
|
|
11
|
-
const stylesheet_processor_1 = require("./stylesheet-processor");
|
|
12
|
-
exports.NX_STYLESHEET_PROCESSOR_TOKEN = new injection_js_1.InjectionToken(`nx.v1.stylesheetProcessor`);
|
|
13
|
-
exports.NX_STYLESHEET_PROCESSOR = {
|
|
14
|
-
provide: exports.NX_STYLESHEET_PROCESSOR_TOKEN,
|
|
15
|
-
useFactory: () => stylesheet_processor_1.StylesheetProcessor,
|
|
16
|
-
deps: [],
|
|
17
|
-
};
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Adapted from the original ng-packagr source.
|
|
4
|
-
*
|
|
5
|
-
* Changes made:
|
|
6
|
-
* - Refactored caching to take into account TailwindCSS processing.
|
|
7
|
-
* - Added PostCSS plugin needed to support TailwindCSS.
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.StylesheetProcessor = exports.CssUrl = void 0;
|
|
11
|
-
const tslib_1 = require("tslib");
|
|
12
|
-
const browserslist_1 = tslib_1.__importDefault(require("browserslist"));
|
|
13
|
-
const fs_1 = require("fs");
|
|
14
|
-
const cache_1 = require("ng-packagr/lib/utils/cache");
|
|
15
|
-
const log = tslib_1.__importStar(require("ng-packagr/lib/utils/log"));
|
|
16
|
-
const path_1 = require("path");
|
|
17
|
-
const autoprefixer_1 = tslib_1.__importDefault(require("autoprefixer"));
|
|
18
|
-
const postcss_url_1 = tslib_1.__importDefault(require("postcss-url"));
|
|
19
|
-
const node_url_1 = require("node:url");
|
|
20
|
-
const tailwindcss_1 = require("../../../utilities/ng-packagr/tailwindcss");
|
|
21
|
-
const postcss = require('postcss');
|
|
22
|
-
var CssUrl;
|
|
23
|
-
(function (CssUrl) {
|
|
24
|
-
CssUrl["inline"] = "inline";
|
|
25
|
-
CssUrl["none"] = "none";
|
|
26
|
-
})(CssUrl || (exports.CssUrl = CssUrl = {}));
|
|
27
|
-
class StylesheetProcessor {
|
|
28
|
-
constructor(projectBasePath, basePath, cssUrl, includePaths, cacheDirectory, tailwindConfig) {
|
|
29
|
-
this.projectBasePath = projectBasePath;
|
|
30
|
-
this.basePath = basePath;
|
|
31
|
-
this.cssUrl = cssUrl;
|
|
32
|
-
this.includePaths = includePaths;
|
|
33
|
-
this.cacheDirectory = cacheDirectory;
|
|
34
|
-
this.tailwindConfig = tailwindConfig;
|
|
35
|
-
this.esbuild = new (require('ng-packagr/lib/esbuild/esbuild-executor').EsbuildExecutor)();
|
|
36
|
-
// By default, browserslist defaults are too inclusive
|
|
37
|
-
// https://github.com/browserslist/browserslist/blob/83764ea81ffaa39111c204b02c371afa44a4ff07/index.js#L516-L522
|
|
38
|
-
// We change the default query to browsers that Angular support.
|
|
39
|
-
// https://angular.io/guide/browser-support
|
|
40
|
-
browserslist_1.default.defaults = [
|
|
41
|
-
'last 2 Chrome versions',
|
|
42
|
-
'last 1 Firefox version',
|
|
43
|
-
'last 2 Edge major versions',
|
|
44
|
-
'last 2 Safari major versions',
|
|
45
|
-
'last 2 iOS major versions',
|
|
46
|
-
'Firefox ESR',
|
|
47
|
-
];
|
|
48
|
-
this.styleIncludePaths = [...this.includePaths];
|
|
49
|
-
let prevDir = null;
|
|
50
|
-
let currentDir = this.basePath;
|
|
51
|
-
while (currentDir !== prevDir) {
|
|
52
|
-
const p = (0, path_1.join)(currentDir, 'node_modules');
|
|
53
|
-
if ((0, fs_1.existsSync)(p)) {
|
|
54
|
-
this.styleIncludePaths.push(p);
|
|
55
|
-
}
|
|
56
|
-
prevDir = currentDir;
|
|
57
|
-
currentDir = (0, path_1.dirname)(prevDir);
|
|
58
|
-
}
|
|
59
|
-
this.browserslistData = (0, browserslist_1.default)(undefined, { path: this.basePath });
|
|
60
|
-
this.targets = transformSupportedBrowsersToTargets(this.browserslistData);
|
|
61
|
-
const tailwindSetup = (0, tailwindcss_1.getTailwindSetup)(this.projectBasePath, this.tailwindConfig);
|
|
62
|
-
if (tailwindSetup) {
|
|
63
|
-
this.cacheDirectory = undefined;
|
|
64
|
-
}
|
|
65
|
-
this.postCssProcessor = this.createPostCssProcessor(tailwindSetup);
|
|
66
|
-
}
|
|
67
|
-
async process({ filePath, content, }) {
|
|
68
|
-
const CACHE_KEY_VALUES = [
|
|
69
|
-
...this.browserslistData,
|
|
70
|
-
...this.styleIncludePaths,
|
|
71
|
-
this.cssUrl,
|
|
72
|
-
].join(':');
|
|
73
|
-
let key;
|
|
74
|
-
if (this.cacheDirectory &&
|
|
75
|
-
!content.includes('@import') &&
|
|
76
|
-
!content.includes('@use')) {
|
|
77
|
-
// No transitive deps and no Tailwind directives, we can cache more aggressively.
|
|
78
|
-
key = await (0, cache_1.generateKey)(content, CACHE_KEY_VALUES);
|
|
79
|
-
const result = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
|
|
80
|
-
if (result) {
|
|
81
|
-
result.warnings.forEach((msg) => log.warn(msg));
|
|
82
|
-
return result.css;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
// Render pre-processor language (sass, styl, less)
|
|
86
|
-
const renderedCss = await this.renderCss(filePath, content);
|
|
87
|
-
// We cannot cache CSS re-rendering phase, because a transitive dependency via (@import) can case different CSS output.
|
|
88
|
-
// Example a change in a mixin or SCSS variable.
|
|
89
|
-
if (!key) {
|
|
90
|
-
key = await (0, cache_1.generateKey)(renderedCss, CACHE_KEY_VALUES);
|
|
91
|
-
}
|
|
92
|
-
if (this.cacheDirectory) {
|
|
93
|
-
const cachedResult = await (0, cache_1.readCacheEntry)(this.cacheDirectory, key);
|
|
94
|
-
if (cachedResult) {
|
|
95
|
-
cachedResult.warnings.forEach((msg) => log.warn(msg));
|
|
96
|
-
return cachedResult.css;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
// Render postcss (autoprefixing and friends)
|
|
100
|
-
const result = await this.postCssProcessor.process(renderedCss, {
|
|
101
|
-
from: filePath,
|
|
102
|
-
to: filePath.replace((0, path_1.extname)(filePath), '.css'),
|
|
103
|
-
});
|
|
104
|
-
const warnings = result.warnings().map((w) => w.toString());
|
|
105
|
-
const { code, warnings: esBuildWarnings } = await this.esbuild.transform(result.css, {
|
|
106
|
-
loader: 'css',
|
|
107
|
-
minify: true,
|
|
108
|
-
target: this.targets,
|
|
109
|
-
sourcefile: filePath,
|
|
110
|
-
});
|
|
111
|
-
if (esBuildWarnings.length > 0) {
|
|
112
|
-
warnings.push(...(await this.esbuild.formatMessages(esBuildWarnings, {
|
|
113
|
-
kind: 'warning',
|
|
114
|
-
})));
|
|
115
|
-
}
|
|
116
|
-
if (this.cacheDirectory) {
|
|
117
|
-
await (0, cache_1.saveCacheEntry)(this.cacheDirectory, key, JSON.stringify({
|
|
118
|
-
css: code,
|
|
119
|
-
warnings,
|
|
120
|
-
}));
|
|
121
|
-
}
|
|
122
|
-
warnings.forEach((msg) => log.warn(msg));
|
|
123
|
-
return code;
|
|
124
|
-
}
|
|
125
|
-
createPostCssProcessor(tailwindSetup) {
|
|
126
|
-
const postCssPlugins = [];
|
|
127
|
-
if (tailwindSetup) {
|
|
128
|
-
postCssPlugins.push((0, tailwindcss_1.getTailwindPostCssPlugin)(tailwindSetup));
|
|
129
|
-
}
|
|
130
|
-
if (this.cssUrl !== CssUrl.none) {
|
|
131
|
-
postCssPlugins.push((0, postcss_url_1.default)({ url: this.cssUrl }));
|
|
132
|
-
}
|
|
133
|
-
postCssPlugins.push((0, autoprefixer_1.default)({
|
|
134
|
-
ignoreUnknownVersions: true,
|
|
135
|
-
overrideBrowserslist: this.browserslistData,
|
|
136
|
-
}));
|
|
137
|
-
return postcss(postCssPlugins);
|
|
138
|
-
}
|
|
139
|
-
async renderCss(filePath, css) {
|
|
140
|
-
const ext = (0, path_1.extname)(filePath);
|
|
141
|
-
switch (ext) {
|
|
142
|
-
case '.sass':
|
|
143
|
-
case '.scss': {
|
|
144
|
-
return (await import('sass')).compileString(css, {
|
|
145
|
-
url: (0, node_url_1.pathToFileURL)(filePath),
|
|
146
|
-
syntax: '.sass' === ext ? 'indented' : 'scss',
|
|
147
|
-
loadPaths: this.styleIncludePaths,
|
|
148
|
-
}).css;
|
|
149
|
-
}
|
|
150
|
-
case '.less': {
|
|
151
|
-
const { css: content } = await (await import('less')).render(css, {
|
|
152
|
-
filename: filePath,
|
|
153
|
-
javascriptEnabled: true,
|
|
154
|
-
paths: this.styleIncludePaths,
|
|
155
|
-
});
|
|
156
|
-
return content;
|
|
157
|
-
}
|
|
158
|
-
case '.css':
|
|
159
|
-
default:
|
|
160
|
-
return css;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
exports.StylesheetProcessor = StylesheetProcessor;
|
|
165
|
-
function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
166
|
-
const transformed = [];
|
|
167
|
-
// https://esbuild.github.io/api/#target
|
|
168
|
-
const esBuildSupportedBrowsers = new Set([
|
|
169
|
-
'safari',
|
|
170
|
-
'firefox',
|
|
171
|
-
'edge',
|
|
172
|
-
'chrome',
|
|
173
|
-
'ios',
|
|
174
|
-
]);
|
|
175
|
-
for (const browser of supportedBrowsers) {
|
|
176
|
-
let [browserName, version] = browser.split(' ');
|
|
177
|
-
// browserslist uses the name `ios_saf` for iOS Safari whereas esbuild uses `ios`
|
|
178
|
-
if (browserName === 'ios_saf') {
|
|
179
|
-
browserName = 'ios';
|
|
180
|
-
}
|
|
181
|
-
// browserslist uses ranges `15.2-15.3` versions but only the lowest is required
|
|
182
|
-
// to perform minimum supported feature checks. esbuild also expects a single version.
|
|
183
|
-
[version] = version.split('-');
|
|
184
|
-
if (esBuildSupportedBrowsers.has(browserName)) {
|
|
185
|
-
if (browserName === 'safari' && version === 'tp') {
|
|
186
|
-
// esbuild only supports numeric versions so `TP` is converted to a high number (999) since
|
|
187
|
-
// a Technology Preview (TP) of Safari is assumed to support all currently known features.
|
|
188
|
-
version = '999';
|
|
189
|
-
}
|
|
190
|
-
transformed.push(browserName + version);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
return transformed.length ? transformed : undefined;
|
|
194
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function ngccCompilerCli(): Promise<any>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ngccCompilerCli = ngccCompilerCli;
|
|
4
|
-
async function ngccCompilerCli() {
|
|
5
|
-
const compilerCliModule = await new Function(`return import('@angular/compiler-cli/ngcc');`)();
|
|
6
|
-
return compilerCliModule.process
|
|
7
|
-
? compilerCliModule
|
|
8
|
-
: compilerCliModule.default;
|
|
9
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import 'zone.js/dist/zone-node';
|
|
2
|
-
|
|
3
|
-
import { APP_BASE_HREF } from '@angular/common';
|
|
4
|
-
import { ngExpressEngine } from '@nguniversal/express-engine';
|
|
5
|
-
import * as express from 'express';
|
|
6
|
-
import * as cors from 'cors';
|
|
7
|
-
import { existsSync } from 'fs';
|
|
8
|
-
import { join } from 'path';
|
|
9
|
-
|
|
10
|
-
import<% if(standalone) { %> bootstrap <% } else { %> { AppServerModule } <% } %>from './bootstrap.server';
|
|
11
|
-
|
|
12
|
-
// The Express app is exported so that it can be used by serverless Functions.
|
|
13
|
-
export function app(): express.Express {
|
|
14
|
-
const server = express();
|
|
15
|
-
const browserBundles = join(process.cwd(), '<%= browserBundleOutput %>');
|
|
16
|
-
|
|
17
|
-
server.use(cors());
|
|
18
|
-
const indexHtml = existsSync(join(browserBundles, 'index.original.html'))
|
|
19
|
-
? 'index.original.html'
|
|
20
|
-
: 'index';
|
|
21
|
-
|
|
22
|
-
// Our Universal express-engine (found @ https://github.com/angular/universal/tree/main/modules/express-engine)
|
|
23
|
-
server.engine(
|
|
24
|
-
'html',
|
|
25
|
-
ngExpressEngine({
|
|
26
|
-
<% if(standalone) { %>bootstrap<% } else { %>bootstrap: AppServerModule,<% } %>
|
|
27
|
-
})
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
server.set('view engine', 'html');
|
|
31
|
-
server.set('views', browserBundles);
|
|
32
|
-
|
|
33
|
-
// Serve static files from /browser
|
|
34
|
-
server.get(
|
|
35
|
-
'*.*',
|
|
36
|
-
express.static(browserBundles, {
|
|
37
|
-
maxAge: '1y',
|
|
38
|
-
})
|
|
39
|
-
);
|
|
40
|
-
|
|
41
|
-
// All regular routes use the Universal engine
|
|
42
|
-
server.get('*', (req, res) => {
|
|
43
|
-
// keep it async to avoid blocking the server thread
|
|
44
|
-
|
|
45
|
-
res.render(indexHtml, {
|
|
46
|
-
providers: [{ provide: APP_BASE_HREF, useValue: req.baseUrl }],
|
|
47
|
-
req,
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
return server;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
function run(): void {
|
|
55
|
-
const port = process.env['PORT'] || 4000;
|
|
56
|
-
|
|
57
|
-
// Start up the Node server
|
|
58
|
-
const server = app();
|
|
59
|
-
server.listen(port, () => {
|
|
60
|
-
console.log(`Node Express server listening on http://localhost:${port}`);
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
run();
|
|
65
|
-
|
|
66
|
-
<% if(standalone) { %>export default bootstrap;<% } else { %>export * from './bootstrap.server';<% } %>
|