@angular/localize 19.0.0-next.8 → 19.0.0-next.9
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/fesm2022/init.mjs
CHANGED
package/fesm2022/localize.mjs
CHANGED
package/init/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/localize",
|
|
3
|
-
"version": "19.0.0-next.
|
|
3
|
+
"version": "19.0.0-next.9",
|
|
4
4
|
"description": "Angular - library for localizing messages",
|
|
5
5
|
"bin": {
|
|
6
6
|
"localize-translate": "./tools/bundles/src/translate/cli.js",
|
|
@@ -67,8 +67,8 @@
|
|
|
67
67
|
"yargs": "^17.2.1"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
|
-
"@angular/compiler": "19.0.0-next.
|
|
71
|
-
"@angular/compiler-cli": "19.0.0-next.
|
|
70
|
+
"@angular/compiler": "19.0.0-next.9",
|
|
71
|
+
"@angular/compiler-cli": "19.0.0-next.9"
|
|
72
72
|
},
|
|
73
73
|
"module": "./fesm2022/localize.mjs",
|
|
74
74
|
"typings": "./index.d.ts",
|
|
@@ -64,6 +64,7 @@ function addPolyfillToConfig(projectName) {
|
|
|
64
64
|
case import_utility.AngularBuilder.Browser:
|
|
65
65
|
case import_utility.AngularBuilder.BrowserEsbuild:
|
|
66
66
|
case import_utility.AngularBuilder.Application:
|
|
67
|
+
case import_utility.AngularBuilder.BuildApplication:
|
|
67
68
|
(_a = target.options) != null ? _a : target.options = {};
|
|
68
69
|
const value = target.options["polyfills"];
|
|
69
70
|
if (typeof value === "string") {
|
|
@@ -98,6 +99,7 @@ function addTypeScriptConfigTypes(projectName) {
|
|
|
98
99
|
case import_utility.AngularBuilder.BrowserEsbuild:
|
|
99
100
|
case import_utility.AngularBuilder.Browser:
|
|
100
101
|
case import_utility.AngularBuilder.Application:
|
|
102
|
+
case import_utility.AngularBuilder.BuildApplication:
|
|
101
103
|
const value = (_a = target.options) == null ? void 0 : _a["tsConfig"];
|
|
102
104
|
if (typeof value === "string") {
|
|
103
105
|
tsConfigFiles.add(value);
|
|
@@ -145,11 +147,10 @@ function moveToDependencies(host) {
|
|
|
145
147
|
return;
|
|
146
148
|
}
|
|
147
149
|
(0, import_dependencies.removePackageJsonDependency)(host, "@angular/localize");
|
|
148
|
-
return (0, import_utility.addDependency)("@angular/localize", `~19.0.0-next.
|
|
150
|
+
return (0, import_utility.addDependency)("@angular/localize", `~19.0.0-next.9`);
|
|
149
151
|
}
|
|
150
152
|
function ng_add_default(options) {
|
|
151
|
-
|
|
152
|
-
const projectName = (_a = options.name) != null ? _a : options.project;
|
|
153
|
+
const projectName = options.project;
|
|
153
154
|
if (!projectName) {
|
|
154
155
|
throw new import_schematics.SchematicsException('Option "project" is required.');
|
|
155
156
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../packages/localize/schematics/ng-add/index.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n *\n * @fileoverview Schematics for `ng add @angular/localize` schematic.\n */\n\nimport {chain, noop, Rule, SchematicsException, Tree} from '@angular-devkit/schematics';\nimport {\n AngularBuilder,\n addDependency,\n readWorkspace,\n updateWorkspace,\n} from '@schematics/angular/utility';\nimport {removePackageJsonDependency} from '@schematics/angular/utility/dependencies';\nimport {JSONFile, JSONPath} from '@schematics/angular/utility/json-file';\n\nimport {Schema} from './schema';\n\nconst localizeType = `@angular/localize`;\nconst localizePolyfill = '@angular/localize/init';\nconst localizeTripleSlashType = `/// <reference types=\"@angular/localize\" />`;\n\nfunction addPolyfillToConfig(projectName: string): Rule {\n return updateWorkspace((workspace) => {\n const project = workspace.projects.get(projectName);\n if (!project) {\n throw new SchematicsException(`Invalid project name '${projectName}'.`);\n }\n\n const isLocalizePolyfill = (path: string) => path.startsWith('@angular/localize');\n\n for (const target of project.targets.values()) {\n switch (target.builder) {\n case AngularBuilder.Karma:\n case AngularBuilder.Server:\n case AngularBuilder.Browser:\n case AngularBuilder.BrowserEsbuild:\n case AngularBuilder.Application:\n target.options ??= {};\n const value = target.options['polyfills'];\n if (typeof value === 'string') {\n if (!isLocalizePolyfill(value)) {\n target.options['polyfills'] = [value, localizePolyfill];\n }\n } else if (Array.isArray(value)) {\n if (!(value as string[]).some(isLocalizePolyfill)) {\n value.push(localizePolyfill);\n }\n } else {\n target.options['polyfills'] = [localizePolyfill];\n }\n\n break;\n }\n }\n });\n}\n\nfunction addTypeScriptConfigTypes(projectName: string): Rule {\n return async (host: Tree) => {\n const workspace = await readWorkspace(host);\n const project = workspace.projects.get(projectName);\n if (!project) {\n throw new SchematicsException(`Invalid project name '${projectName}'.`);\n }\n\n // We add the root workspace tsconfig for better IDE support.\n const tsConfigFiles = new Set<string>();\n for (const target of project.targets.values()) {\n switch (target.builder) {\n case AngularBuilder.Karma:\n case AngularBuilder.Server:\n case AngularBuilder.BrowserEsbuild:\n case AngularBuilder.Browser:\n case AngularBuilder.Application:\n const value = target.options?.['tsConfig'];\n if (typeof value === 'string') {\n tsConfigFiles.add(value);\n }\n\n break;\n }\n\n if (\n target.builder === AngularBuilder.Browser ||\n target.builder === AngularBuilder.BrowserEsbuild\n ) {\n const value = target.options?.['main'];\n if (typeof value === 'string') {\n addTripleSlashType(host, value);\n }\n } else if (target.builder === AngularBuilder.Application) {\n const value = target.options?.['browser'];\n if (typeof value === 'string') {\n addTripleSlashType(host, value);\n }\n }\n }\n\n const typesJsonPath: JSONPath = ['compilerOptions', 'types'];\n for (const path of tsConfigFiles) {\n if (!host.exists(path)) {\n continue;\n }\n\n const json = new JSONFile(host, path);\n const types = json.get(typesJsonPath) ?? [];\n if (!Array.isArray(types)) {\n throw new SchematicsException(\n `TypeScript configuration file '${path}' has an invalid 'types' property. It must be an array.`,\n );\n }\n\n const hasLocalizeType = types.some(\n (t) => t === localizeType || t === '@angular/localize/init',\n );\n if (hasLocalizeType) {\n // Skip has already localize type.\n continue;\n }\n\n json.modify(typesJsonPath, [...types, localizeType]);\n }\n };\n}\n\nfunction addTripleSlashType(host: Tree, path: string): void {\n const content = host.readText(path);\n if (!content.includes(localizeTripleSlashType)) {\n host.overwrite(path, localizeTripleSlashType + '\\n\\n' + content);\n }\n}\n\nfunction moveToDependencies(host: Tree): Rule | void {\n if (!host.exists('package.json')) {\n return;\n }\n\n // Remove the previous dependency and add in a new one under the desired type.\n removePackageJsonDependency(host, '@angular/localize');\n\n return addDependency('@angular/localize', `~19.0.0-next.
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;AAUA,wBAA2D;AAC3D,qBAKO;AACP,0BAA0C;AAC1C,uBAAiC;AAIjC,IAAM,eAAe;AACrB,IAAM,mBAAmB;AACzB,IAAM,0BAA0B;AAEhC,SAAS,oBAAoB,aAAmB;AAC9C,aAAO,gCAAgB,CAAC,cAAa;AA3BvC;AA4BI,UAAM,UAAU,UAAU,SAAS,IAAI,WAAW;AAClD,QAAI,CAAC,SAAS;AACZ,YAAM,IAAI,sCAAoB,yBAAyB,eAAe;IACxE;AAEA,UAAM,qBAAqB,CAAC,SAAiB,KAAK,WAAW,mBAAmB;AAEhF,eAAW,UAAU,QAAQ,QAAQ,OAAM,GAAI;AAC7C,cAAQ,OAAO,SAAS;QACtB,KAAK,8BAAe;QACpB,KAAK,8BAAe;QACpB,KAAK,8BAAe;QACpB,KAAK,8BAAe;QACpB,KAAK,8BAAe;AAClB,uBAAO,YAAP,mBAAO,UAAY,CAAA;AACnB,gBAAM,QAAQ,OAAO,QAAQ;AAC7B,cAAI,OAAO,UAAU,UAAU;AAC7B,gBAAI,CAAC,mBAAmB,KAAK,GAAG;AAC9B,qBAAO,QAAQ,eAAe,CAAC,OAAO,gBAAgB;YACxD;UACF,WAAW,MAAM,QAAQ,KAAK,GAAG;AAC/B,gBAAI,CAAE,MAAmB,KAAK,kBAAkB,GAAG;AACjD,oBAAM,KAAK,gBAAgB;YAC7B;UACF,OAAO;AACL,mBAAO,QAAQ,eAAe,CAAC,gBAAgB;UACjD;AAEA;MACJ;IACF;EACF,CAAC;AACH;AAEA,SAAS,yBAAyB,aAAmB;AACnD,SAAO,CAAO,SAAc;
|
|
4
|
+
"sourcesContent": ["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n *\n * @fileoverview Schematics for `ng add @angular/localize` schematic.\n */\n\nimport {chain, noop, Rule, SchematicsException, Tree} from '@angular-devkit/schematics';\nimport {\n AngularBuilder,\n addDependency,\n readWorkspace,\n updateWorkspace,\n} from '@schematics/angular/utility';\nimport {removePackageJsonDependency} from '@schematics/angular/utility/dependencies';\nimport {JSONFile, JSONPath} from '@schematics/angular/utility/json-file';\n\nimport {Schema} from './schema';\n\nconst localizeType = `@angular/localize`;\nconst localizePolyfill = '@angular/localize/init';\nconst localizeTripleSlashType = `/// <reference types=\"@angular/localize\" />`;\n\nfunction addPolyfillToConfig(projectName: string): Rule {\n return updateWorkspace((workspace) => {\n const project = workspace.projects.get(projectName);\n if (!project) {\n throw new SchematicsException(`Invalid project name '${projectName}'.`);\n }\n\n const isLocalizePolyfill = (path: string) => path.startsWith('@angular/localize');\n\n for (const target of project.targets.values()) {\n switch (target.builder) {\n case AngularBuilder.Karma:\n case AngularBuilder.Server:\n case AngularBuilder.Browser:\n case AngularBuilder.BrowserEsbuild:\n case AngularBuilder.Application:\n case AngularBuilder.BuildApplication:\n target.options ??= {};\n const value = target.options['polyfills'];\n if (typeof value === 'string') {\n if (!isLocalizePolyfill(value)) {\n target.options['polyfills'] = [value, localizePolyfill];\n }\n } else if (Array.isArray(value)) {\n if (!(value as string[]).some(isLocalizePolyfill)) {\n value.push(localizePolyfill);\n }\n } else {\n target.options['polyfills'] = [localizePolyfill];\n }\n\n break;\n }\n }\n });\n}\n\nfunction addTypeScriptConfigTypes(projectName: string): Rule {\n return async (host: Tree) => {\n const workspace = await readWorkspace(host);\n const project = workspace.projects.get(projectName);\n if (!project) {\n throw new SchematicsException(`Invalid project name '${projectName}'.`);\n }\n\n // We add the root workspace tsconfig for better IDE support.\n const tsConfigFiles = new Set<string>();\n for (const target of project.targets.values()) {\n switch (target.builder) {\n case AngularBuilder.Karma:\n case AngularBuilder.Server:\n case AngularBuilder.BrowserEsbuild:\n case AngularBuilder.Browser:\n case AngularBuilder.Application:\n case AngularBuilder.BuildApplication:\n const value = target.options?.['tsConfig'];\n if (typeof value === 'string') {\n tsConfigFiles.add(value);\n }\n\n break;\n }\n\n if (\n target.builder === AngularBuilder.Browser ||\n target.builder === AngularBuilder.BrowserEsbuild\n ) {\n const value = target.options?.['main'];\n if (typeof value === 'string') {\n addTripleSlashType(host, value);\n }\n } else if (target.builder === AngularBuilder.Application) {\n const value = target.options?.['browser'];\n if (typeof value === 'string') {\n addTripleSlashType(host, value);\n }\n }\n }\n\n const typesJsonPath: JSONPath = ['compilerOptions', 'types'];\n for (const path of tsConfigFiles) {\n if (!host.exists(path)) {\n continue;\n }\n\n const json = new JSONFile(host, path);\n const types = json.get(typesJsonPath) ?? [];\n if (!Array.isArray(types)) {\n throw new SchematicsException(\n `TypeScript configuration file '${path}' has an invalid 'types' property. It must be an array.`,\n );\n }\n\n const hasLocalizeType = types.some(\n (t) => t === localizeType || t === '@angular/localize/init',\n );\n if (hasLocalizeType) {\n // Skip has already localize type.\n continue;\n }\n\n json.modify(typesJsonPath, [...types, localizeType]);\n }\n };\n}\n\nfunction addTripleSlashType(host: Tree, path: string): void {\n const content = host.readText(path);\n if (!content.includes(localizeTripleSlashType)) {\n host.overwrite(path, localizeTripleSlashType + '\\n\\n' + content);\n }\n}\n\nfunction moveToDependencies(host: Tree): Rule | void {\n if (!host.exists('package.json')) {\n return;\n }\n\n // Remove the previous dependency and add in a new one under the desired type.\n removePackageJsonDependency(host, '@angular/localize');\n\n return addDependency('@angular/localize', `~19.0.0-next.9`);\n}\n\nexport default function (options: Schema): Rule {\n const projectName = options.project;\n\n if (!projectName) {\n throw new SchematicsException('Option \"project\" is required.');\n }\n\n return chain([\n addTypeScriptConfigTypes(projectName),\n addPolyfillToConfig(projectName),\n // If `$localize` will be used at runtime then must install `@angular/localize`\n // into `dependencies`, rather than the default of `devDependencies`.\n options.useAtRuntime ? moveToDependencies : noop(),\n ]);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -11,11 +11,6 @@
|
|
|
11
11
|
"$source": "projectName"
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
|
-
"name": {
|
|
15
|
-
"type": "string",
|
|
16
|
-
"description": "The name of the project.",
|
|
17
|
-
"x-deprecated": "Use the \"project\" option instead."
|
|
18
|
-
},
|
|
19
14
|
"useAtRuntime": {
|
|
20
15
|
"type": "boolean",
|
|
21
16
|
"description": "If set then `@angular/localize` is included in the `dependencies` section of `package.json`, rather than `devDependencies`, which is the default.",
|