@rxap/plugin-angular 19.3.7-dev.1 → 20.0.0-dev.2
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/CHANGELOG.md +15 -0
- package/README.md +28 -0
- package/executors.json +10 -0
- package/package.json +24 -14
- package/src/application.d.ts +6 -0
- package/src/application.js +77 -0
- package/src/application.js.map +1 -0
- package/src/executors/config/executor.d.ts +10 -0
- package/src/executors/config/executor.js +65 -0
- package/src/executors/config/executor.js.map +1 -0
- package/src/executors/config/schema.d.ts +1 -0
- package/src/executors/config/schema.json +9 -0
- package/src/executors/i18n/executor.d.ts +9 -0
- package/src/executors/i18n/executor.js +158 -0
- package/src/executors/i18n/executor.js.map +1 -0
- package/src/executors/i18n/schema.d.ts +7 -0
- package/src/executors/i18n/schema.json +40 -0
- package/src/generators/init/generator.js +2 -49
- package/src/generators/init/generator.js.map +1 -1
- package/src/generators/init/init-workspace.d.ts +3 -0
- package/src/generators/init/init-workspace.js +71 -0
- package/src/generators/init/init-workspace.js.map +1 -0
- package/src/generators/init-application/files/styles/_theme.scss +2 -1
- package/src/generators/init-application/files/styles/_utilities.scss +2 -1
- package/src/generators/init-application/generator.js.map +1 -1
- package/src/generators/init-application/update-project-targets.js +22 -30
- package/src/generators/init-application/update-project-targets.js.map +1 -1
- package/src/generators/init-application/update-target-defaults.js +0 -14
- package/src/generators/init-application/update-target-defaults.js.map +1 -1
- package/src/generators/init-component/generator.js +2 -15
- package/src/generators/init-component/generator.js.map +1 -1
- package/src/generators/init-library/coerce-projects.js +0 -1
- package/src/generators/init-library/coerce-projects.js.map +1 -1
- package/src/generators/init-library/init-project.js +4 -2
- package/src/generators/init-library/init-project.js.map +1 -1
- package/src/generators/init-library/set-general-target-defaults.js +0 -5
- package/src/generators/init-library/set-general-target-defaults.js.map +1 -1
- package/src/i18n.d.ts +6 -0
- package/src/i18n.js +83 -0
- package/src/i18n.js.map +1 -0
- package/src/library.d.ts +6 -0
- package/src/library.js +100 -0
- package/src/library.js.map +1 -0
- package/src/generators/init-library/update-project-targets.d.ts +0 -3
- package/src/generators/init-library/update-project-targets.js +0 -47
- package/src/generators/init-library/update-project-targets.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,21 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [20.0.0-dev.2](https://gitlab.com/rxap/packages/compare/@rxap/plugin-angular@20.0.0-dev.1...@rxap/plugin-angular@20.0.0-dev.2) (2025-01-03)
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
- add application plugin ([d3bf26d](https://gitlab.com/rxap/packages/commit/d3bf26d2e20fdb6c410aaf6a35e751afcead629b))
|
|
11
|
+
- add i18n plugin ([93d3aef](https://gitlab.com/rxap/packages/commit/93d3aef9e669a25f7f7c5a606eb92ca1605b9db6))
|
|
12
|
+
- move executors ([ff7b71d](https://gitlab.com/rxap/packages/commit/ff7b71dd2d5318db3331e9fb442a0b473a9832b9))
|
|
13
|
+
- support nx plugins ([a28c12d](https://gitlab.com/rxap/packages/commit/a28c12d411a1ce331a9b25f201d8b4674ac84e88))
|
|
14
|
+
- support nx plugins ([011871a](https://gitlab.com/rxap/packages/commit/011871a844241ead7a5dc2a07470af65251c8647))
|
|
15
|
+
- support nx plugins ([d5d7493](https://gitlab.com/rxap/packages/commit/d5d74931307583b0ed5ec3908b767dd1b4be7a90))
|
|
16
|
+
|
|
17
|
+
# [20.0.0-dev.1](https://gitlab.com/rxap/packages/compare/@rxap/plugin-angular@19.3.7-dev.1...@rxap/plugin-angular@20.0.0-dev.1) (2024-12-11)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @rxap/plugin-angular
|
|
20
|
+
|
|
6
21
|
## [19.3.7-dev.1](https://gitlab.com/rxap/packages/compare/@rxap/plugin-angular@19.3.7-dev.0...@rxap/plugin-angular@19.3.7-dev.1) (2024-12-10)
|
|
7
22
|
|
|
8
23
|
**Note:** Version bump only for package @rxap/plugin-angular
|
package/README.md
CHANGED
|
@@ -275,3 +275,31 @@ yarn nx g @rxap/plugin-angular:init-feature-library
|
|
|
275
275
|
}
|
|
276
276
|
```
|
|
277
277
|
|
|
278
|
+
## i18n
|
|
279
|
+
> i18n executor
|
|
280
|
+
|
|
281
|
+
**project.json**
|
|
282
|
+
```json
|
|
283
|
+
{
|
|
284
|
+
"targets": {
|
|
285
|
+
"i18n": {
|
|
286
|
+
"executor": "@rxap/plugin-angular:i18n"
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
## config
|
|
293
|
+
> config executor
|
|
294
|
+
|
|
295
|
+
**project.json**
|
|
296
|
+
```json
|
|
297
|
+
{
|
|
298
|
+
"targets": {
|
|
299
|
+
"config": {
|
|
300
|
+
"executor": "@rxap/plugin-angular:config"
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
```
|
|
305
|
+
|
package/executors.json
CHANGED
|
@@ -9,6 +9,16 @@
|
|
|
9
9
|
"implementation": "./src/executors/check-ng-package/executor",
|
|
10
10
|
"schema": "./src/executors/check-ng-package/schema.json",
|
|
11
11
|
"description": "check-ng-package executor"
|
|
12
|
+
},
|
|
13
|
+
"i18n": {
|
|
14
|
+
"implementation": "./src/executors/i18n/executor",
|
|
15
|
+
"schema": "./src/executors/i18n/schema.json",
|
|
16
|
+
"description": "i18n executor"
|
|
17
|
+
},
|
|
18
|
+
"config": {
|
|
19
|
+
"implementation": "./src/executors/config/executor",
|
|
20
|
+
"schema": "./src/executors/config/schema.json",
|
|
21
|
+
"description": "config executor"
|
|
12
22
|
}
|
|
13
23
|
}
|
|
14
24
|
}
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "20.0.0-dev.2",
|
|
3
3
|
"name": "@rxap/plugin-angular",
|
|
4
4
|
"license": "GPL-3.0-or-later",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@nx/angular": "
|
|
7
|
-
"@nx/devkit": "
|
|
8
|
-
"@rxap/plugin-application": "^
|
|
9
|
-
"@rxap/plugin-library": "^
|
|
10
|
-
"@rxap/plugin-localazy": "^
|
|
11
|
-
"@rxap/plugin-utilities": "^
|
|
12
|
-
"@rxap/ts-morph": "^1.5.2-dev.
|
|
13
|
-
"@rxap/utilities": "^16.4.1-dev.
|
|
14
|
-
"@rxap/workspace-ts-morph": "^19.1.8-dev.
|
|
15
|
-
"@rxap/workspace-utilities": "^19.
|
|
6
|
+
"@nx/angular": "20.2.1",
|
|
7
|
+
"@nx/devkit": "20.2.1",
|
|
8
|
+
"@rxap/plugin-application": "^20.0.0-dev.2",
|
|
9
|
+
"@rxap/plugin-library": "^20.0.0-dev.2",
|
|
10
|
+
"@rxap/plugin-localazy": "^20.0.0-dev.2",
|
|
11
|
+
"@rxap/plugin-utilities": "^20.0.0-dev.2",
|
|
12
|
+
"@rxap/ts-morph": "^1.5.2-dev.2",
|
|
13
|
+
"@rxap/utilities": "^16.4.1-dev.2",
|
|
14
|
+
"@rxap/workspace-ts-morph": "^19.1.8-dev.2",
|
|
15
|
+
"@rxap/workspace-utilities": "^19.6.0-dev.0",
|
|
16
16
|
"colors": "1.4.0",
|
|
17
17
|
"semver": "7.5.3",
|
|
18
18
|
"tailwindcss": "^3.4.4",
|
|
@@ -55,7 +55,17 @@
|
|
|
55
55
|
},
|
|
56
56
|
"schematics": "./generators.json",
|
|
57
57
|
"type": "commonjs",
|
|
58
|
-
"gitHead": "
|
|
59
|
-
"
|
|
60
|
-
|
|
58
|
+
"gitHead": "db30e47152e1aa1c2eb16f84ed892b3c26822927",
|
|
59
|
+
"exports": {
|
|
60
|
+
"./package.json": "./package.json",
|
|
61
|
+
".": {
|
|
62
|
+
"types": "./src/index.d.ts",
|
|
63
|
+
"default": "./src/index.js"
|
|
64
|
+
},
|
|
65
|
+
"./library": "./src/library.js",
|
|
66
|
+
"./application": "./src/application.js",
|
|
67
|
+
"./i18n": "./src/i18n.js"
|
|
68
|
+
},
|
|
69
|
+
"types": "./src/index.d.ts",
|
|
70
|
+
"main": "./src/index.js"
|
|
61
71
|
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createNodesV2 = void 0;
|
|
4
|
+
exports.normalizeOptions = normalizeOptions;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const workspace_utilities_1 = require("@rxap/workspace-utilities");
|
|
7
|
+
const globs_1 = require("nx/src/utils/globs");
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
require("colors");
|
|
10
|
+
function normalizeOptions(options) {
|
|
11
|
+
return options !== null && options !== void 0 ? options : {};
|
|
12
|
+
}
|
|
13
|
+
exports.createNodesV2 = [
|
|
14
|
+
(0, globs_1.combineGlobPatterns)([
|
|
15
|
+
'**/tsconfig.app.json',
|
|
16
|
+
'**/src/main.ts',
|
|
17
|
+
'**/src/app/app.module.ts',
|
|
18
|
+
'**/src/app/app.component.ts',
|
|
19
|
+
'**/src/index.html',
|
|
20
|
+
]),
|
|
21
|
+
(configFilePaths, options, context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
const normalizedOptions = normalizeOptions(options);
|
|
23
|
+
const includedConfigFilePaths = yield Promise.all(configFilePaths.map((configFilePath) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
+
if (yield shouldHaveProjectConfiguration(configFilePath, normalizedOptions, context)) {
|
|
25
|
+
return configFilePath;
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
}))).then((configFilePathOrUndefinedList) => configFilePathOrUndefinedList.filter((value) => value !== undefined));
|
|
29
|
+
const results = yield Promise.all(includedConfigFilePaths.map((configFilePath) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
+
const [projectPath, projectConfiguration] = yield createProjectConfiguration(configFilePath, normalizedOptions, context);
|
|
31
|
+
return [configFilePath, projectPath, projectConfiguration];
|
|
32
|
+
})));
|
|
33
|
+
return results.map(([configFilePath, projectPath, projectConfiguration]) => [
|
|
34
|
+
configFilePath,
|
|
35
|
+
{
|
|
36
|
+
projects: {
|
|
37
|
+
[projectPath]: projectConfiguration,
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
]);
|
|
41
|
+
}),
|
|
42
|
+
];
|
|
43
|
+
function shouldHaveProjectConfiguration(configFilePath, options, context) {
|
|
44
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
const projectPath = (0, path_1.dirname)(configFilePath);
|
|
46
|
+
const tree = new workspace_utilities_1.FsTree(context.workspaceRoot);
|
|
47
|
+
if (!(0, workspace_utilities_1.FindProjectByPath)(tree, projectPath)) {
|
|
48
|
+
// console.log(`The folder of the file '${ configFilePath }' is not the root of a project. Skipping`.yellow);
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
return true;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function createProjectConfiguration(configFilePath, options, context) {
|
|
55
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
const projectPath = (0, path_1.dirname)(configFilePath);
|
|
57
|
+
const targets = {};
|
|
58
|
+
const tree = new workspace_utilities_1.FsTree(context.workspaceRoot);
|
|
59
|
+
const projectConfiguration = (0, workspace_utilities_1.FindProjectByPath)(tree, projectPath);
|
|
60
|
+
if (!projectConfiguration) {
|
|
61
|
+
throw new Error(`Could not find project in '${projectPath}'`);
|
|
62
|
+
}
|
|
63
|
+
targets['config'] = createConfigTarget();
|
|
64
|
+
return [
|
|
65
|
+
projectPath, {
|
|
66
|
+
targets,
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function createConfigTarget() {
|
|
72
|
+
return {
|
|
73
|
+
executor: '@rxap/plugin-angular:config',
|
|
74
|
+
dependsOn: ['build'],
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=application.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../../packages/plugin/angular/src/application.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ExecutorContext } from '@nx/devkit';
|
|
2
|
+
import { ConfigExecutorSchema } from './schema';
|
|
3
|
+
import 'colors';
|
|
4
|
+
export default function runExecutor(options: ConfigExecutorSchema, context: ExecutorContext): Promise<{
|
|
5
|
+
success: boolean;
|
|
6
|
+
error: any;
|
|
7
|
+
} | {
|
|
8
|
+
success: boolean;
|
|
9
|
+
error?: undefined;
|
|
10
|
+
}>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = runExecutor;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const plugin_utilities_1 = require("@rxap/plugin-utilities");
|
|
6
|
+
const utilities_1 = require("@rxap/utilities");
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = require("path");
|
|
9
|
+
require("colors");
|
|
10
|
+
function getContent(key) {
|
|
11
|
+
const value = process.env[key];
|
|
12
|
+
if (value) {
|
|
13
|
+
let content;
|
|
14
|
+
if (value.match(/^(\/[^/\s]*)+\/?$/)) {
|
|
15
|
+
content = (0, fs_1.readFileSync)(value).toString('utf-8');
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
content = value;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
return JSON.parse(content);
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
throw new Error(`Can not parse config from '${key}': ${content}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function runExecutor(options, context) {
|
|
29
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
console.log('Executor ran for Config', options);
|
|
31
|
+
const outputPath = (0, plugin_utilities_1.GuessOutputPathFromContext)(context);
|
|
32
|
+
let config = {};
|
|
33
|
+
const configPath = (0, path_1.join)(outputPath, 'config.json');
|
|
34
|
+
if ((0, fs_1.existsSync)(configPath)) {
|
|
35
|
+
config = JSON.parse((0, fs_1.readFileSync)(configPath, 'utf-8'));
|
|
36
|
+
}
|
|
37
|
+
for (const key of Object.keys(process.env).filter(key => !!key && key.startsWith('RXAP_CONFIG')).sort((a, b) => a.length - b.length)) {
|
|
38
|
+
try {
|
|
39
|
+
const content = getContent(key);
|
|
40
|
+
const match = key.match(/^RXAP_CONFIG_(.*)/);
|
|
41
|
+
if (match) {
|
|
42
|
+
const key = match[1].toLowerCase().replace(/_/g, '.');
|
|
43
|
+
console.log(`Set config '${key}'`.grey);
|
|
44
|
+
(0, utilities_1.SetToObject)(config, key, content);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
console.log('Merge config'.grey);
|
|
48
|
+
(0, utilities_1.deepMerge)(config, content);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
console.error(e.message);
|
|
53
|
+
return {
|
|
54
|
+
success: false,
|
|
55
|
+
error: e.message,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
(0, fs_1.writeFileSync)(configPath, JSON.stringify(config, null, 2));
|
|
60
|
+
return {
|
|
61
|
+
success: true,
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/executors/config/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export interface ConfigExecutorSchema {} // eslint-disable-line
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ExecutorContext } from '@nx/devkit';
|
|
2
|
+
import { I18nExecutorSchema } from './schema';
|
|
3
|
+
export default function runExecutor(options: I18nExecutorSchema, context: ExecutorContext): Promise<{
|
|
4
|
+
success: boolean;
|
|
5
|
+
error: any;
|
|
6
|
+
} | {
|
|
7
|
+
success: boolean;
|
|
8
|
+
error?: undefined;
|
|
9
|
+
}>;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = runExecutor;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const plugin_utilities_1 = require("@rxap/plugin-utilities");
|
|
6
|
+
const fs_1 = require("fs");
|
|
7
|
+
const fs_extra_1 = require("fs-extra");
|
|
8
|
+
const glob_1 = require("glob");
|
|
9
|
+
const handlebars_1 = require("handlebars");
|
|
10
|
+
const path_1 = require("path");
|
|
11
|
+
function getIndexHtmlTemplateFilePath(indexHtmlTemplate, context) {
|
|
12
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(context.root, indexHtmlTemplate))) {
|
|
13
|
+
return (0, path_1.join)(context.root, indexHtmlTemplate);
|
|
14
|
+
}
|
|
15
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(context.root, 'shared', indexHtmlTemplate))) {
|
|
16
|
+
return (0, path_1.join)(context.root, 'shared', indexHtmlTemplate);
|
|
17
|
+
}
|
|
18
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(context.root, 'shared', 'angular', indexHtmlTemplate))) {
|
|
19
|
+
return (0, path_1.join)(context.root, 'shared', 'angular', indexHtmlTemplate);
|
|
20
|
+
}
|
|
21
|
+
const projectSourceRoot = (0, plugin_utilities_1.GetProjectSourceRoot)(context);
|
|
22
|
+
if ((0, fs_1.existsSync)((0, path_1.join)(projectSourceRoot, indexHtmlTemplate))) {
|
|
23
|
+
return (0, path_1.join)(projectSourceRoot, indexHtmlTemplate);
|
|
24
|
+
}
|
|
25
|
+
throw new Error(`Could not find the i18n index html template with path '${indexHtmlTemplate}'`);
|
|
26
|
+
}
|
|
27
|
+
function createIndexHtml(options, context, outputPath) {
|
|
28
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
var _a;
|
|
30
|
+
const indexHtmlTemplateFilePath = (_a = options.indexHtmlTemplate) !== null && _a !== void 0 ? _a : 'i18n.index.html.hbs';
|
|
31
|
+
if (!indexHtmlTemplateFilePath) {
|
|
32
|
+
throw new Error('The i18n index html template path is not defined');
|
|
33
|
+
}
|
|
34
|
+
const indexHtmlTemplateAbsoluteFilePath = getIndexHtmlTemplateFilePath(indexHtmlTemplateFilePath, context);
|
|
35
|
+
const indexHtmlTemplateFile = (0, fs_1.readFileSync)(indexHtmlTemplateAbsoluteFilePath).toString('utf-8');
|
|
36
|
+
const indexHtmlTemplate = (0, handlebars_1.compile)(indexHtmlTemplateFile);
|
|
37
|
+
const indexHtml = indexHtmlTemplate(options);
|
|
38
|
+
const indexHtmlFilePath = (0, path_1.join)(context.root, outputPath, 'index.html');
|
|
39
|
+
if ((0, fs_1.existsSync)(indexHtmlFilePath)) {
|
|
40
|
+
console.warn(`The index.html file already exists in the location: '${indexHtmlFilePath}'`);
|
|
41
|
+
}
|
|
42
|
+
(0, fs_1.writeFileSync)(indexHtmlFilePath, indexHtml);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function copyFiles(outputPath, pathList) {
|
|
46
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
yield Promise.all(pathList.map((assetPath) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
if (typeof assetPath === 'string') {
|
|
49
|
+
if (!outputPath) {
|
|
50
|
+
throw new Error('The i18n output path is not defined');
|
|
51
|
+
}
|
|
52
|
+
const assetOutputPath = (0, path_1.join)(outputPath, (0, path_1.basename)(assetPath));
|
|
53
|
+
try {
|
|
54
|
+
yield (0, fs_extra_1.copy)(assetPath, assetOutputPath);
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
throw new Error(`Could not copy assets '${assetPath}' to '${outputPath}': ${e.message}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
if (!outputPath) {
|
|
62
|
+
throw new Error('The i18n output path is not defined');
|
|
63
|
+
}
|
|
64
|
+
const assetOutputPath = (0, path_1.join)(outputPath, assetPath.output);
|
|
65
|
+
try {
|
|
66
|
+
const files = yield (0, glob_1.glob)(assetPath.input + assetPath.glob);
|
|
67
|
+
yield Promise.all(files.map(file => (0, fs_extra_1.copy)(file, (0, path_1.join)(assetOutputPath, (0, path_1.relative)(assetPath.input, file)))));
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
throw new Error(`Could not copy assets '${JSON.stringify(assetPath)}' to '${outputPath}': ${e.message}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
})));
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function copyAssets(outputPath, options, context) {
|
|
77
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
if (Array.isArray(options.assets) && options.assets.length) {
|
|
79
|
+
yield copyFiles(outputPath, options.assets);
|
|
80
|
+
}
|
|
81
|
+
else if (typeof options.assets === 'boolean' && options.assets) {
|
|
82
|
+
if (!context.target) {
|
|
83
|
+
throw new Error('The current builder target is not defined in the context');
|
|
84
|
+
}
|
|
85
|
+
if (!context.projectName) {
|
|
86
|
+
throw new Error('The current project name is not defined in the context');
|
|
87
|
+
}
|
|
88
|
+
const buildOptions = (0, plugin_utilities_1.GetProjectTargetOptions)(context, context.projectName, 'build');
|
|
89
|
+
if (Array.isArray(buildOptions.assets) && buildOptions.assets.length) {
|
|
90
|
+
yield copyFiles(outputPath, buildOptions.assets);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
console.info('Skip assets copy. The build target of this project has no assets specified.');
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
console.info('Skip assets copy. No assets specified.');
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
function coerceDefaultLanguage(options) {
|
|
102
|
+
var _a, _b;
|
|
103
|
+
(_a = options.defaultLanguage) !== null && _a !== void 0 ? _a : (options.defaultLanguage = (_b = options.availableLanguages) === null || _b === void 0 ? void 0 : _b[0]);
|
|
104
|
+
}
|
|
105
|
+
function coerceAvailableLanguages(options, context) {
|
|
106
|
+
var _a, _b;
|
|
107
|
+
if (!options.availableLanguages) {
|
|
108
|
+
const buildTarget = (_a = options.buildTarget) !== null && _a !== void 0 ? _a : context.projectName + ':build';
|
|
109
|
+
const targetName = buildTarget.split(':')[1];
|
|
110
|
+
const buildOptions = (0, plugin_utilities_1.GetProjectTargetOptions)(context, context.projectName, targetName, (_b = context.configurationName) !== null && _b !== void 0 ? _b : 'production');
|
|
111
|
+
const localize = buildOptions.localize;
|
|
112
|
+
if (localize && Array.isArray(localize) && localize.length) {
|
|
113
|
+
options.availableLanguages = localize;
|
|
114
|
+
}
|
|
115
|
+
else if (options.defaultLanguage) {
|
|
116
|
+
options.availableLanguages = [options.defaultLanguage];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function runExecutor(options, context) {
|
|
121
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
122
|
+
var _a;
|
|
123
|
+
console.log('Executor ran for I18n', options);
|
|
124
|
+
coerceAvailableLanguages(options, context);
|
|
125
|
+
if (!((_a = options.availableLanguages) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
126
|
+
throw new Error('The available languages are not defined');
|
|
127
|
+
}
|
|
128
|
+
coerceDefaultLanguage(options);
|
|
129
|
+
if (!options.defaultLanguage) {
|
|
130
|
+
throw new Error('The default language is not defined');
|
|
131
|
+
}
|
|
132
|
+
const outputPath = (0, plugin_utilities_1.GuessOutputPathFromTargetString)(context, options.buildTarget);
|
|
133
|
+
try {
|
|
134
|
+
yield createIndexHtml(options, context, outputPath);
|
|
135
|
+
}
|
|
136
|
+
catch (e) {
|
|
137
|
+
console.error(`Create index html failed: ${e.message}`);
|
|
138
|
+
return {
|
|
139
|
+
success: false,
|
|
140
|
+
error: e.message,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
try {
|
|
144
|
+
yield copyAssets(outputPath, options, context);
|
|
145
|
+
}
|
|
146
|
+
catch (e) {
|
|
147
|
+
console.error(`Copy assets failed: ${e.message}`);
|
|
148
|
+
return {
|
|
149
|
+
success: false,
|
|
150
|
+
error: e.message,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
success: true,
|
|
155
|
+
};
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/executors/i18n/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
|
+
"version": 2,
|
|
4
|
+
"title": "I18n executor",
|
|
5
|
+
"description": "",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"availableLanguages": {
|
|
9
|
+
"type": "array",
|
|
10
|
+
"items": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"defaultLanguage": {
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"indexHtmlTemplate": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"default": "i18n.index.html.hbs"
|
|
20
|
+
},
|
|
21
|
+
"buildTarget": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
"assets": {
|
|
25
|
+
"oneOf": [
|
|
26
|
+
{
|
|
27
|
+
"type": "array",
|
|
28
|
+
"items": {
|
|
29
|
+
"type": "string"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "boolean",
|
|
34
|
+
"default": true
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"required": []
|
|
40
|
+
}
|
|
@@ -4,59 +4,12 @@ exports.initGenerator = initGenerator;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const devkit_1 = require("@nx/devkit");
|
|
6
6
|
const workspace_utilities_1 = require("@rxap/workspace-utilities");
|
|
7
|
-
const
|
|
8
|
-
const generator_1 = require("../init-library/generator");
|
|
9
|
-
const coerce_nx_json_1 = require("./coerce-nx-json");
|
|
7
|
+
const init_workspace_1 = require("./init-workspace");
|
|
10
8
|
function initGenerator(tree, options) {
|
|
11
9
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
12
10
|
console.log('angular init generator:', options);
|
|
11
|
+
yield (0, init_workspace_1.initWorkspace)(tree, options);
|
|
13
12
|
(0, workspace_utilities_1.GenerateSerializedSchematicFile)(tree, '/', '@rxap/plugin-angular', 'init', options);
|
|
14
|
-
yield (0, workspace_utilities_1.AddPackageJsonDevDependency)(tree, '@nx/angular', (0, workspace_utilities_1.GetNxVersion)(tree), { soft: true });
|
|
15
|
-
(0, coerce_nx_json_1.coerceNxJson)(tree, options);
|
|
16
|
-
for (const projectName of [
|
|
17
|
-
'components',
|
|
18
|
-
'forms',
|
|
19
|
-
'controls',
|
|
20
|
-
'tables'
|
|
21
|
-
]) {
|
|
22
|
-
yield (0, generator_1.default)(tree, {
|
|
23
|
-
project: 'angular-' + projectName,
|
|
24
|
-
targets: {
|
|
25
|
-
indexExport: true,
|
|
26
|
-
},
|
|
27
|
-
coerce: {
|
|
28
|
-
directory: (0, path_1.join)('angular', projectName),
|
|
29
|
-
addTailwind: true,
|
|
30
|
-
buildable: true,
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
for (const projectName of [
|
|
35
|
-
'methods',
|
|
36
|
-
'data-sources',
|
|
37
|
-
'pipes',
|
|
38
|
-
'directives',
|
|
39
|
-
'guards',
|
|
40
|
-
'services',
|
|
41
|
-
'application-providers',
|
|
42
|
-
'utilities',
|
|
43
|
-
'shared',
|
|
44
|
-
'testing',
|
|
45
|
-
'resolvers',
|
|
46
|
-
'http-interceptors',
|
|
47
|
-
'bootstrap-hooks'
|
|
48
|
-
]) {
|
|
49
|
-
yield (0, generator_1.default)(tree, {
|
|
50
|
-
project: 'angular-' + projectName,
|
|
51
|
-
targets: {
|
|
52
|
-
indexExport: true,
|
|
53
|
-
},
|
|
54
|
-
coerce: {
|
|
55
|
-
directory: (0, path_1.join)('angular', projectName),
|
|
56
|
-
buildable: true,
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
13
|
if (!options.skipFormat) {
|
|
61
14
|
yield (0, devkit_1.formatFiles)(tree);
|
|
62
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/generators/init/generator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/plugin/angular/src/generators/init/generator.ts"],"names":[],"mappings":";;AAQA,sCAiBC;;AAzBD,uCAGoB;AACpB,mEAA4E;AAC5E,qDAAiD;AAGjD,SAAsB,aAAa,CAAC,IAAU,EAAE,OAA4B;;QAC1E,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAEhD,MAAM,IAAA,8BAAa,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnC,IAAA,qDAA+B,EAC7B,IAAI,EACJ,GAAG,EACH,sBAAsB,EACtB,MAAM,EACN,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IAEH,CAAC;CAAA;AAED,kBAAe,aAAa,CAAC"}
|