@angular/build 19.2.1 → 20.0.0-next.0
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/package.json +14 -14
- package/src/builders/dev-server/internal.d.ts +1 -1
- package/src/builders/dev-server/internal.js +2 -2
- package/src/builders/extract-i18n/application-extraction.js +3 -0
- package/src/builders/karma/application_builder.d.ts +1 -1
- package/src/builders/karma/application_builder.js +13 -14
- package/src/builders/karma/find-tests.js +3 -36
- package/src/tools/angular/uri.js +1 -0
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js +2 -2
- package/src/tools/esbuild/utils.js +1 -1
- package/src/utils/load-proxy-config.js +2 -2
- package/src/utils/normalize-cache.js +1 -1
- package/src/utils/resolve-assets.js +2 -2
- package/src/utils/version.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/build",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "20.0.0-next.0",
|
|
4
4
|
"description": "Official build system for Angular",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Angular CLI",
|
|
@@ -23,17 +23,16 @@
|
|
|
23
23
|
"builders": "builders.json",
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@ampproject/remapping": "2.3.0",
|
|
26
|
-
"@angular-devkit/architect": "0.
|
|
26
|
+
"@angular-devkit/architect": "0.2000.0-next.0",
|
|
27
27
|
"@babel/core": "7.26.9",
|
|
28
28
|
"@babel/helper-annotate-as-pure": "7.25.9",
|
|
29
29
|
"@babel/helper-split-export-declaration": "7.24.7",
|
|
30
30
|
"@babel/plugin-syntax-import-attributes": "7.26.0",
|
|
31
31
|
"@inquirer/confirm": "5.1.6",
|
|
32
|
-
"@vitejs/plugin-basic-ssl": "
|
|
32
|
+
"@vitejs/plugin-basic-ssl": "2.0.0",
|
|
33
33
|
"beasties": "0.2.0",
|
|
34
34
|
"browserslist": "^4.23.0",
|
|
35
35
|
"esbuild": "0.25.0",
|
|
36
|
-
"fast-glob": "3.3.3",
|
|
37
36
|
"https-proxy-agent": "7.0.6",
|
|
38
37
|
"istanbul-lib-instrument": "6.0.3",
|
|
39
38
|
"listr2": "8.2.5",
|
|
@@ -42,10 +41,11 @@
|
|
|
42
41
|
"parse5-html-rewriting-stream": "7.0.0",
|
|
43
42
|
"picomatch": "4.0.2",
|
|
44
43
|
"piscina": "4.8.0",
|
|
45
|
-
"rollup": "4.34.
|
|
46
|
-
"sass": "1.85.
|
|
44
|
+
"rollup": "4.34.9",
|
|
45
|
+
"sass": "1.85.1",
|
|
47
46
|
"semver": "7.7.1",
|
|
48
47
|
"source-map-support": "0.5.21",
|
|
48
|
+
"tinyglobby": "0.2.12",
|
|
49
49
|
"vite": "6.2.0",
|
|
50
50
|
"watchpack": "2.4.2"
|
|
51
51
|
},
|
|
@@ -53,15 +53,15 @@
|
|
|
53
53
|
"lmdb": "3.2.6"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
|
-
"@angular/compiler": "^
|
|
57
|
-
"@angular/compiler-cli": "^
|
|
58
|
-
"@angular/localize": "^
|
|
59
|
-
"@angular/platform-server": "^
|
|
60
|
-
"@angular/service-worker": "^
|
|
61
|
-
"@angular/ssr": "^
|
|
56
|
+
"@angular/compiler": "^20.0.0 || ^20.0.0-next.0",
|
|
57
|
+
"@angular/compiler-cli": "^20.0.0 || ^20.0.0-next.0",
|
|
58
|
+
"@angular/localize": "^20.0.0 || ^20.0.0-next.0",
|
|
59
|
+
"@angular/platform-server": "^20.0.0 || ^20.0.0-next.0",
|
|
60
|
+
"@angular/service-worker": "^20.0.0 || ^20.0.0-next.0",
|
|
61
|
+
"@angular/ssr": "^20.0.0-next.0",
|
|
62
62
|
"karma": "^6.4.0",
|
|
63
63
|
"less": "^4.2.0",
|
|
64
|
-
"ng-packagr": "^
|
|
64
|
+
"ng-packagr": "^20.0.0 || ^20.0.0-next.0",
|
|
65
65
|
"postcss": "^8.4.0",
|
|
66
66
|
"tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
|
|
67
67
|
"typescript": ">=5.5 <5.9"
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"url": "https://github.com/angular/angular-cli.git"
|
|
101
101
|
},
|
|
102
102
|
"engines": {
|
|
103
|
-
"node": "^
|
|
103
|
+
"node": "^20.11.1 || >=22.0.0",
|
|
104
104
|
"npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
|
|
105
105
|
"yarn": ">= 1.13.0"
|
|
106
106
|
},
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
export { type BuildOutputFile, BuildOutputFileType } from '
|
|
8
|
+
export { type BuildOutputFile, BuildOutputFileType } from '../../tools/esbuild/bundler-context';
|
|
9
9
|
export { createRxjsEsmResolutionPlugin } from '../../tools/esbuild/rxjs-esm-resolution-plugin';
|
|
10
10
|
export { JavaScriptTransformer } from '../../tools/esbuild/javascript-transformer';
|
|
11
11
|
export { getFeatureSupport, isZonelessApp } from '../../tools/esbuild/utils';
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.buildApplicationInternal = exports.transformSupportedBrowsersToTargets = exports.getSupportedBrowsers = exports.purgeStaleBuildCache = exports.isZonelessApp = exports.getFeatureSupport = exports.JavaScriptTransformer = exports.createRxjsEsmResolutionPlugin = exports.BuildOutputFileType = void 0;
|
|
11
|
-
var
|
|
12
|
-
Object.defineProperty(exports, "BuildOutputFileType", { enumerable: true, get: function () { return
|
|
11
|
+
var bundler_context_1 = require("../../tools/esbuild/bundler-context");
|
|
12
|
+
Object.defineProperty(exports, "BuildOutputFileType", { enumerable: true, get: function () { return bundler_context_1.BuildOutputFileType; } });
|
|
13
13
|
var rxjs_esm_resolution_plugin_1 = require("../../tools/esbuild/rxjs-esm-resolution-plugin");
|
|
14
14
|
Object.defineProperty(exports, "createRxjsEsmResolutionPlugin", { enumerable: true, get: function () { return rxjs_esm_resolution_plugin_1.createRxjsEsmResolutionPlugin; } });
|
|
15
15
|
var javascript_transformer_1 = require("../../tools/esbuild/javascript-transformer");
|
|
@@ -27,6 +27,9 @@ async function extractMessages(options, builderName, context, extractorConstruct
|
|
|
27
27
|
buildOptions.index = false;
|
|
28
28
|
buildOptions.serviceWorker = false;
|
|
29
29
|
buildOptions.outputMode = schema_1.OutputMode.Static;
|
|
30
|
+
buildOptions.appShell = undefined;
|
|
31
|
+
buildOptions.ssr = undefined;
|
|
32
|
+
buildOptions.prerender = undefined;
|
|
30
33
|
buildOptions.server = undefined;
|
|
31
34
|
// Build the application with the build options
|
|
32
35
|
const builderResult = await first((0, application_1.buildApplicationInternal)(buildOptions, context, extensions));
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.dev/license
|
|
7
7
|
*/
|
|
8
|
-
import { ResultFile } from '@angular/build/private';
|
|
9
8
|
import type { BuilderContext, BuilderOutput } from '@angular-devkit/architect';
|
|
10
9
|
import type { ConfigOptions } from 'karma';
|
|
10
|
+
import { ResultFile } from '../application/results';
|
|
11
11
|
import { Schema as KarmaBuilderOptions } from './schema';
|
|
12
12
|
export declare function execute(options: KarmaBuilderOptions, context: BuilderContext, karmaOptions: ConfigOptions, transforms?: {
|
|
13
13
|
karmaOptions?: (options: ConfigOptions) => ConfigOptions;
|
|
@@ -39,19 +39,18 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
return result;
|
|
40
40
|
};
|
|
41
41
|
})();
|
|
42
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
43
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
44
|
-
};
|
|
45
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
43
|
exports.execute = execute;
|
|
47
44
|
exports.writeTestFiles = writeTestFiles;
|
|
48
|
-
const private_1 = require("@angular/build/private");
|
|
49
|
-
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
50
45
|
const node_crypto_1 = require("node:crypto");
|
|
51
46
|
const fs = __importStar(require("node:fs/promises"));
|
|
52
47
|
const node_module_1 = require("node:module");
|
|
53
48
|
const path = __importStar(require("node:path"));
|
|
49
|
+
const tinyglobby_1 = require("tinyglobby");
|
|
54
50
|
const bundler_context_1 = require("../../tools/esbuild/bundler-context");
|
|
51
|
+
const utils_1 = require("../../tools/esbuild/utils");
|
|
52
|
+
const index_1 = require("../application/index");
|
|
53
|
+
const results_1 = require("../application/results");
|
|
55
54
|
const schema_1 = require("../application/schema");
|
|
56
55
|
const find_tests_1 = require("./find-tests");
|
|
57
56
|
const localResolve = (0, node_module_1.createRequire)(__filename).resolve;
|
|
@@ -182,12 +181,12 @@ function injectKarmaReporter(buildOptions, buildIterator, karmaConfig, controlle
|
|
|
182
181
|
isDone = true;
|
|
183
182
|
break;
|
|
184
183
|
}
|
|
185
|
-
if (buildOutput.kind ===
|
|
184
|
+
if (buildOutput.kind === results_1.ResultKind.Failure) {
|
|
186
185
|
controller.enqueue({ success: false, message: 'Build failed' });
|
|
187
186
|
}
|
|
188
|
-
else if (buildOutput.kind ===
|
|
189
|
-
buildOutput.kind ===
|
|
190
|
-
if (buildOutput.kind ===
|
|
187
|
+
else if (buildOutput.kind === results_1.ResultKind.Incremental ||
|
|
188
|
+
buildOutput.kind === results_1.ResultKind.Full) {
|
|
189
|
+
if (buildOutput.kind === results_1.ResultKind.Full) {
|
|
191
190
|
this.latestBuildFiles.files = buildOutput.files;
|
|
192
191
|
}
|
|
193
192
|
else {
|
|
@@ -341,11 +340,11 @@ async function initializeApplication(options, context, karmaOptions, transforms
|
|
|
341
340
|
externalDependencies: options.externalDependencies,
|
|
342
341
|
};
|
|
343
342
|
// Build tests with `application` builder, using test files as entry points.
|
|
344
|
-
const [buildOutput, buildIterator] = await first((0,
|
|
345
|
-
if (buildOutput.kind ===
|
|
343
|
+
const [buildOutput, buildIterator] = await first((0, index_1.buildApplicationInternal)(buildOptions, context), { cancel: !buildOptions.watch });
|
|
344
|
+
if (buildOutput.kind === results_1.ResultKind.Failure) {
|
|
346
345
|
throw new ApplicationBuildError('Build failed');
|
|
347
346
|
}
|
|
348
|
-
else if (buildOutput.kind !==
|
|
347
|
+
else if (buildOutput.kind !== results_1.ResultKind.Full) {
|
|
349
348
|
throw new ApplicationBuildError('A full build result is required from the application builder.');
|
|
350
349
|
}
|
|
351
350
|
// Write test files
|
|
@@ -437,7 +436,7 @@ function hasChunkOrWorkerFiles(files) {
|
|
|
437
436
|
async function writeTestFiles(files, testDir) {
|
|
438
437
|
const directoryExists = new Set();
|
|
439
438
|
// Writes the test related output files to disk and ensures the containing directories are present
|
|
440
|
-
await (0,
|
|
439
|
+
await (0, utils_1.emitFilesToDisk)(Object.entries(files), async ([filePath, file]) => {
|
|
441
440
|
if (file.type !== bundler_context_1.BuildOutputFileType.Browser && file.type !== bundler_context_1.BuildOutputFileType.Media) {
|
|
442
441
|
return;
|
|
443
442
|
}
|
|
@@ -484,7 +483,7 @@ function getInstrumentationExcludedPaths(root, excludedPaths) {
|
|
|
484
483
|
const excluded = new Set();
|
|
485
484
|
for (const excludeGlob of excludedPaths) {
|
|
486
485
|
const excludePath = excludeGlob[0] === '/' ? excludeGlob.slice(1) : excludeGlob;
|
|
487
|
-
|
|
486
|
+
(0, tinyglobby_1.globSync)(excludePath, { cwd: root }).forEach((p) => excluded.add(path.join(root, p)));
|
|
488
487
|
}
|
|
489
488
|
return excluded;
|
|
490
489
|
}
|
|
@@ -6,45 +6,12 @@
|
|
|
6
6
|
* Use of this source code is governed by an MIT-style license that can be
|
|
7
7
|
* found in the LICENSE file at https://angular.dev/license
|
|
8
8
|
*/
|
|
9
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
-
}
|
|
15
|
-
Object.defineProperty(o, k2, desc);
|
|
16
|
-
}) : (function(o, m, k, k2) {
|
|
17
|
-
if (k2 === undefined) k2 = k;
|
|
18
|
-
o[k2] = m[k];
|
|
19
|
-
}));
|
|
20
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
-
}) : function(o, v) {
|
|
23
|
-
o["default"] = v;
|
|
24
|
-
});
|
|
25
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
-
var ownKeys = function(o) {
|
|
27
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
-
var ar = [];
|
|
29
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
-
return ar;
|
|
31
|
-
};
|
|
32
|
-
return ownKeys(o);
|
|
33
|
-
};
|
|
34
|
-
return function (mod) {
|
|
35
|
-
if (mod && mod.__esModule) return mod;
|
|
36
|
-
var result = {};
|
|
37
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
-
__setModuleDefault(result, mod);
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
})();
|
|
42
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
10
|
exports.findTests = findTests;
|
|
44
11
|
exports.getTestEntrypoints = getTestEntrypoints;
|
|
45
|
-
const fast_glob_1 = __importStar(require("fast-glob"));
|
|
46
12
|
const node_fs_1 = require("node:fs");
|
|
47
13
|
const node_path_1 = require("node:path");
|
|
14
|
+
const tinyglobby_1 = require("tinyglobby");
|
|
48
15
|
/* Go through all patterns and find unique list of files */
|
|
49
16
|
async function findTests(include, exclude, workspaceRoot, projectSourceRoot) {
|
|
50
17
|
const matchingTestsPromises = include.map((pattern) => findMatchingTests(pattern, exclude, workspaceRoot, projectSourceRoot));
|
|
@@ -102,7 +69,7 @@ async function findMatchingTests(pattern, ignore, workspaceRoot, projectSourceRo
|
|
|
102
69
|
// such paths are easy to get when running scripts via IDEs
|
|
103
70
|
normalizedPattern = removeRelativeRoot(normalizedPattern, relativeProjectRoot);
|
|
104
71
|
// special logic when pattern does not look like a glob
|
|
105
|
-
if (!(0,
|
|
72
|
+
if (!(0, tinyglobby_1.isDynamicPattern)(normalizedPattern)) {
|
|
106
73
|
if (await isDirectory((0, node_path_1.join)(projectSourceRoot, normalizedPattern))) {
|
|
107
74
|
normalizedPattern = `${normalizedPattern}/**/*.spec.@(ts|tsx)`;
|
|
108
75
|
}
|
|
@@ -118,7 +85,7 @@ async function findMatchingTests(pattern, ignore, workspaceRoot, projectSourceRo
|
|
|
118
85
|
}
|
|
119
86
|
// normalize the patterns in the ignore list
|
|
120
87
|
const normalizedIgnorePatternList = ignore.map((pattern) => removeRelativeRoot(removeLeadingSlash(normalizePath(pattern)), relativeProjectRoot));
|
|
121
|
-
return (0,
|
|
88
|
+
return (0, tinyglobby_1.glob)(normalizedPattern, {
|
|
122
89
|
cwd: projectSourceRoot,
|
|
123
90
|
absolute: true,
|
|
124
91
|
ignore: ['**/node_modules/**', ...normalizedIgnorePatternList],
|
package/src/tools/angular/uri.js
CHANGED
|
@@ -50,6 +50,7 @@ function generateJitFileUri(file, type) {
|
|
|
50
50
|
* @returns A string containing the full JIT namespace URI.
|
|
51
51
|
*/
|
|
52
52
|
function generateJitInlineUri(data, type) {
|
|
53
|
+
// Node.js types do not allow a string even though this is valid.
|
|
53
54
|
return `${JIT_BASE_NAMESPACE}:${type}:inline;${Buffer.from(data).toString('base64')}`;
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
@@ -44,10 +44,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
44
44
|
};
|
|
45
45
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
46
|
exports.StylesheetPluginFactory = void 0;
|
|
47
|
-
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
48
47
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
49
48
|
const promises_1 = require("node:fs/promises");
|
|
50
49
|
const node_path_1 = require("node:path");
|
|
50
|
+
const tinyglobby_1 = require("tinyglobby");
|
|
51
51
|
const load_result_cache_1 = require("../load-result-cache");
|
|
52
52
|
/**
|
|
53
53
|
* The lazy-loaded instance of the postcss stylesheet postprocessor.
|
|
@@ -286,7 +286,7 @@ async function compileString(data, filename, postcssProcessor, options) {
|
|
|
286
286
|
typeof resultMessage['dir'] === 'string' &&
|
|
287
287
|
typeof resultMessage['glob'] === 'string') {
|
|
288
288
|
loadResult.watchFiles ??= [];
|
|
289
|
-
const dependencies = await (0,
|
|
289
|
+
const dependencies = await (0, tinyglobby_1.glob)(resultMessage['glob'], {
|
|
290
290
|
absolute: true,
|
|
291
291
|
cwd: resultMessage['dir'],
|
|
292
292
|
});
|
|
@@ -315,7 +315,7 @@ function transformSupportedBrowsersToTargets(supportedBrowsers) {
|
|
|
315
315
|
}
|
|
316
316
|
return transformed;
|
|
317
317
|
}
|
|
318
|
-
const SUPPORTED_NODE_VERSIONS = '^
|
|
318
|
+
const SUPPORTED_NODE_VERSIONS = '^20.11.1 || >=22.0.0';
|
|
319
319
|
/**
|
|
320
320
|
* Transform supported Node.js versions to esbuild target.
|
|
321
321
|
* @see https://esbuild.github.io/api/#target
|
|
@@ -41,12 +41,12 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
41
41
|
})();
|
|
42
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
43
|
exports.loadProxyConfiguration = loadProxyConfiguration;
|
|
44
|
-
const fast_glob_1 = require("fast-glob");
|
|
45
44
|
const node_fs_1 = require("node:fs");
|
|
46
45
|
const promises_1 = require("node:fs/promises");
|
|
47
46
|
const node_path_1 = require("node:path");
|
|
48
47
|
const node_url_1 = require("node:url");
|
|
49
48
|
const picomatch_1 = require("picomatch");
|
|
49
|
+
const tinyglobby_1 = require("tinyglobby");
|
|
50
50
|
const error_1 = require("./error");
|
|
51
51
|
const load_esm_1 = require("./load-esm");
|
|
52
52
|
async function loadProxyConfiguration(root, proxyConfig) {
|
|
@@ -141,7 +141,7 @@ function normalizeProxyConfiguration(proxy) {
|
|
|
141
141
|
}
|
|
142
142
|
// TODO: Consider upstreaming glob support
|
|
143
143
|
for (const key of Object.keys(normalizedProxy)) {
|
|
144
|
-
if (key[0] !== '^' && (0,
|
|
144
|
+
if (key[0] !== '^' && (0, tinyglobby_1.isDynamicPattern)(key)) {
|
|
145
145
|
const pattern = (0, picomatch_1.makeRe)(key).source;
|
|
146
146
|
normalizedProxy[pattern] = normalizedProxy[key];
|
|
147
147
|
delete normalizedProxy[key];
|
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.normalizeCacheOptions = normalizeCacheOptions;
|
|
11
11
|
const node_path_1 = require("node:path");
|
|
12
12
|
/** Version placeholder is replaced during the build process with actual package version */
|
|
13
|
-
const VERSION = '
|
|
13
|
+
const VERSION = '20.0.0-next.0';
|
|
14
14
|
function hasCacheMetadata(value) {
|
|
15
15
|
return (!!value &&
|
|
16
16
|
typeof value === 'object' &&
|
|
@@ -11,14 +11,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.resolveAssets = resolveAssets;
|
|
14
|
-
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
15
14
|
const node_path_1 = __importDefault(require("node:path"));
|
|
15
|
+
const tinyglobby_1 = require("tinyglobby");
|
|
16
16
|
async function resolveAssets(entries, root) {
|
|
17
17
|
const defaultIgnore = ['.gitkeep', '**/.DS_Store', '**/Thumbs.db'];
|
|
18
18
|
const outputFiles = [];
|
|
19
19
|
for (const entry of entries) {
|
|
20
20
|
const cwd = node_path_1.default.resolve(root, entry.input);
|
|
21
|
-
const files = await (0,
|
|
21
|
+
const files = await (0, tinyglobby_1.glob)(entry.glob, {
|
|
22
22
|
cwd,
|
|
23
23
|
dot: true,
|
|
24
24
|
ignore: entry.ignore ? defaultIgnore.concat(entry.ignore) : defaultIgnore,
|
package/src/utils/version.js
CHANGED
|
@@ -28,7 +28,7 @@ function assertCompatibleAngularVersion(projectRoot) {
|
|
|
28
28
|
'This likely indicates a corrupted local installation. Please try reinstalling your packages.');
|
|
29
29
|
process.exit(2);
|
|
30
30
|
}
|
|
31
|
-
const supportedAngularSemver = '^
|
|
31
|
+
const supportedAngularSemver = '^20.0.0 || ^20.0.0-next.0';
|
|
32
32
|
if (angularPkgJson['version'] === '0.0.0' || supportedAngularSemver.startsWith('0.0.0')) {
|
|
33
33
|
// Internal CLI and FW testing version.
|
|
34
34
|
return;
|