@o3r/schematics 10.0.0-next.9 → 11.0.0-next.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +1 -1
- package/package.json +51 -41
- package/schematics/ng-add/index.d.ts.map +1 -1
- package/schematics/ng-add/index.js +3 -2
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/schema.json +2 -2
- package/src/cli/environment.d.ts +2 -0
- package/src/cli/environment.d.ts.map +1 -0
- package/src/cli/environment.js +5 -0
- package/src/cli/environment.js.map +1 -0
- package/src/interfaces/angular-workspace.d.ts +11 -29
- package/src/interfaces/angular-workspace.d.ts.map +1 -1
- package/src/modules/index.d.ts +1 -0
- package/src/modules/index.d.ts.map +1 -1
- package/src/modules/index.js +1 -0
- package/src/modules/index.js.map +1 -1
- package/src/modules/modules.constants.d.ts +6 -2
- package/src/modules/modules.constants.d.ts.map +1 -1
- package/src/modules/modules.constants.js +5 -3
- package/src/modules/modules.constants.js.map +1 -1
- package/src/modules/modules.display.rule.d.ts +26 -0
- package/src/modules/modules.display.rule.d.ts.map +1 -0
- package/src/modules/modules.display.rule.js +45 -0
- package/src/modules/modules.display.rule.js.map +1 -0
- package/src/modules/modules.helpers.d.ts +2 -9
- package/src/modules/modules.helpers.d.ts.map +1 -1
- package/src/modules/modules.helpers.js +1 -6
- package/src/modules/modules.helpers.js.map +1 -1
- package/src/rule-factories/add-imports/index.d.ts +0 -1
- package/src/rule-factories/add-imports/index.d.ts.map +1 -1
- package/src/rule-factories/add-imports/index.js +0 -1
- package/src/rule-factories/add-imports/index.js.map +1 -1
- package/src/rule-factories/check-packages-peers/index.d.ts +0 -1
- package/src/rule-factories/check-packages-peers/index.d.ts.map +1 -1
- package/src/rule-factories/check-packages-peers/index.js +4 -7
- package/src/rule-factories/check-packages-peers/index.js.map +1 -1
- package/src/rule-factories/dev-tools/devtools-registration.d.ts +25 -0
- package/src/rule-factories/dev-tools/devtools-registration.d.ts.map +1 -0
- package/src/rule-factories/dev-tools/devtools-registration.js +89 -0
- package/src/rule-factories/dev-tools/devtools-registration.js.map +1 -0
- package/src/rule-factories/dev-tools/index.d.ts +2 -0
- package/src/rule-factories/dev-tools/index.d.ts.map +1 -0
- package/src/rule-factories/dev-tools/index.js +5 -0
- package/src/rule-factories/dev-tools/index.js.map +1 -0
- package/src/rule-factories/eslint-fix/index.d.ts +1 -18
- package/src/rule-factories/eslint-fix/index.d.ts.map +1 -1
- package/src/rule-factories/eslint-fix/index.js +17 -26
- package/src/rule-factories/eslint-fix/index.js.map +1 -1
- package/src/rule-factories/get-test-frameworks/index.d.ts +0 -1
- package/src/rule-factories/get-test-frameworks/index.d.ts.map +1 -1
- package/src/rule-factories/get-test-frameworks/index.js +0 -1
- package/src/rule-factories/get-test-frameworks/index.js.map +1 -1
- package/src/rule-factories/index.d.ts +1 -0
- package/src/rule-factories/index.d.ts.map +1 -1
- package/src/rule-factories/index.js +1 -0
- package/src/rule-factories/index.js.map +1 -1
- package/src/rule-factories/ng-add/index.d.ts +2 -5
- package/src/rule-factories/ng-add/index.d.ts.map +1 -1
- package/src/rule-factories/ng-add/index.js +107 -83
- package/src/rule-factories/ng-add/index.js.map +1 -1
- package/src/rule-factories/remove-packages/index.d.ts +0 -1
- package/src/rule-factories/remove-packages/index.d.ts.map +1 -1
- package/src/rule-factories/remove-packages/index.js +0 -1
- package/src/rule-factories/remove-packages/index.js.map +1 -1
- package/src/rule-factories/update-imports/list-of-vars.d.ts +1 -2
- package/src/rule-factories/update-imports/list-of-vars.d.ts.map +1 -1
- package/src/rule-factories/update-imports/list-of-vars.js.map +1 -1
- package/src/rule-factories/update-imports/update-imports-with-scope.d.ts +0 -1
- package/src/rule-factories/update-imports/update-imports-with-scope.d.ts.map +1 -1
- package/src/rule-factories/update-imports/update-imports-with-scope.js +0 -1
- package/src/rule-factories/update-imports/update-imports-with-scope.js.map +1 -1
- package/src/rule-factories/update-imports/update-ts-imports.d.ts +0 -1
- package/src/rule-factories/update-imports/update-ts-imports.d.ts.map +1 -1
- package/src/rule-factories/update-imports/update-ts-imports.js +0 -1
- package/src/rule-factories/update-imports/update-ts-imports.js.map +1 -1
- package/src/rule-factories/update-imports/v7-to-v8-map-object.js +1 -1
- package/src/rule-factories/update-imports/v7-to-v8-map-object.js.map +1 -1
- package/src/rule-factories/vscode-extensions/index.d.ts +0 -1
- package/src/rule-factories/vscode-extensions/index.d.ts.map +1 -1
- package/src/rule-factories/vscode-extensions/index.js +0 -1
- package/src/rule-factories/vscode-extensions/index.js.map +1 -1
- package/src/rules/install.d.ts +0 -1
- package/src/rules/install.d.ts.map +1 -1
- package/src/rules/install.js +0 -1
- package/src/rules/install.js.map +1 -1
- package/src/tasks/eslint/index.d.ts +17 -1
- package/src/tasks/eslint/index.d.ts.map +1 -1
- package/src/tasks/eslint/index.js +15 -6
- package/src/tasks/eslint/index.js.map +1 -1
- package/src/tasks/package-manager/add-dev-dependency.d.ts +1 -0
- package/src/tasks/package-manager/add-dev-dependency.d.ts.map +1 -1
- package/src/tasks/package-manager/add-dev-dependency.js +3 -1
- package/src/tasks/package-manager/add-dev-dependency.js.map +1 -1
- package/src/tasks/package-manager/interfaces.d.ts +9 -0
- package/src/tasks/package-manager/interfaces.d.ts.map +1 -1
- package/src/tasks/package-manager/npm-install.d.ts +2 -1
- package/src/tasks/package-manager/npm-install.d.ts.map +1 -1
- package/src/tasks/package-manager/npm-install.js +3 -1
- package/src/tasks/package-manager/npm-install.js.map +1 -1
- package/src/utility/ast.d.ts +4 -20
- package/src/utility/ast.d.ts.map +1 -1
- package/src/utility/ast.js +0 -18
- package/src/utility/ast.js.map +1 -1
- package/src/utility/builder.d.ts +11 -0
- package/src/utility/builder.d.ts.map +1 -0
- package/src/utility/builder.js +21 -0
- package/src/utility/builder.js.map +1 -0
- package/src/utility/collection.d.ts +2 -5
- package/src/utility/collection.d.ts.map +1 -1
- package/src/utility/collection.js +11 -9
- package/src/utility/collection.js.map +1 -1
- package/src/utility/component.d.ts +0 -6
- package/src/utility/component.d.ts.map +1 -1
- package/src/utility/component.js +4 -9
- package/src/utility/component.js.map +1 -1
- package/src/utility/dependencies.d.ts +0 -2
- package/src/utility/dependencies.d.ts.map +1 -1
- package/src/utility/dependencies.js +0 -2
- package/src/utility/dependencies.js.map +1 -1
- package/src/utility/environment.d.ts +27 -0
- package/src/utility/environment.d.ts.map +1 -0
- package/src/utility/environment.js +51 -0
- package/src/utility/environment.js.map +1 -0
- package/src/utility/error.d.ts +7 -0
- package/src/utility/error.d.ts.map +1 -0
- package/src/utility/error.js +17 -0
- package/src/utility/error.js.map +1 -0
- package/src/utility/file-info.d.ts +11 -1
- package/src/utility/file-info.d.ts.map +1 -1
- package/src/utility/file-info.js +46 -4
- package/src/utility/file-info.js.map +1 -1
- package/src/utility/generation.d.ts +0 -1
- package/src/utility/generation.d.ts.map +1 -1
- package/src/utility/generation.js +7 -11
- package/src/utility/generation.js.map +1 -1
- package/src/utility/gitignore.d.ts +0 -1
- package/src/utility/gitignore.d.ts.map +1 -1
- package/src/utility/gitignore.js +0 -1
- package/src/utility/gitignore.js.map +1 -1
- package/src/utility/index.d.ts +10 -7
- package/src/utility/index.d.ts.map +1 -1
- package/src/utility/index.js +10 -7
- package/src/utility/index.js.map +1 -1
- package/src/utility/loaders.d.ts +12 -50
- package/src/utility/loaders.d.ts.map +1 -1
- package/src/utility/loaders.js +34 -97
- package/src/utility/loaders.js.map +1 -1
- package/src/utility/logo.d.ts +0 -1
- package/src/utility/logo.d.ts.map +1 -1
- package/src/utility/logo.js +0 -1
- package/src/utility/logo.js.map +1 -1
- package/src/utility/matching-peers.d.ts +11 -3
- package/src/utility/matching-peers.d.ts.map +1 -1
- package/src/utility/matching-peers.js +26 -5
- package/src/utility/matching-peers.js.map +1 -1
- package/src/utility/modules.d.ts +4 -9
- package/src/utility/modules.d.ts.map +1 -1
- package/src/utility/modules.js +17 -22
- package/src/utility/modules.js.map +1 -1
- package/src/utility/monorepo.d.ts +0 -5
- package/src/utility/monorepo.d.ts.map +1 -1
- package/src/utility/monorepo.js +0 -5
- package/src/utility/monorepo.js.map +1 -1
- package/src/utility/package-manager-runner.d.ts +24 -7
- package/src/utility/package-manager-runner.d.ts.map +1 -1
- package/src/utility/package-manager-runner.js +70 -10
- package/src/utility/package-manager-runner.js.map +1 -1
- package/src/utility/package-version.d.ts +0 -2
- package/src/utility/package-version.d.ts.map +1 -1
- package/src/utility/package-version.js +0 -2
- package/src/utility/package-version.js.map +1 -1
- package/src/utility/question.d.ts +0 -1
- package/src/utility/question.d.ts.map +1 -1
- package/src/utility/question.js +0 -1
- package/src/utility/question.js.map +1 -1
- package/src/utility/routes.d.ts +0 -3
- package/src/utility/routes.d.ts.map +1 -1
- package/src/utility/routes.js +0 -5
- package/src/utility/routes.js.map +1 -1
- package/src/utility/sub-entry.d.ts +0 -2
- package/src/utility/sub-entry.d.ts.map +1 -1
- package/src/utility/sub-entry.js +0 -2
- package/src/utility/sub-entry.js.map +1 -1
- package/src/utility/template-property.helper.d.ts +0 -15
- package/src/utility/template-property.helper.d.ts.map +1 -1
- package/src/utility/template-property.helper.js +0 -16
- package/src/utility/template-property.helper.js.map +1 -1
- package/src/utility/update-imports.d.ts +0 -1
- package/src/utility/update-imports.d.ts.map +1 -1
- package/src/utility/update-imports.js +0 -1
- package/src/utility/update-imports.js.map +1 -1
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.registerBuilder = void 0;
|
4
|
+
/**
|
5
|
+
* Register the builder to the workspace
|
6
|
+
* @param workspaceProject Workspace project to add the builder to
|
7
|
+
* @param taskName Name of the task to defined
|
8
|
+
* @param taskParameters Parameter of the task to defined
|
9
|
+
* @param force Override task if already defined
|
10
|
+
* @returns the updated workspace
|
11
|
+
*/
|
12
|
+
function registerBuilder(workspaceProject, taskName, taskParameters, force = false) {
|
13
|
+
workspaceProject.architect ||= {};
|
14
|
+
if (workspaceProject.architect[taskName] && !force) {
|
15
|
+
throw new Error(`The builder task ${taskName} already exist`);
|
16
|
+
}
|
17
|
+
workspaceProject.architect[taskName] = taskParameters;
|
18
|
+
return workspaceProject;
|
19
|
+
}
|
20
|
+
exports.registerBuilder = registerBuilder;
|
21
|
+
//# sourceMappingURL=builder.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/utility/builder.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,gBAAkC,EAAE,QAAgB,EAAE,cAAqC,EAAE,KAAK,GAAG,KAAK;IACxI,gBAAgB,CAAC,SAAS,KAAK,EAAE,CAAC;IAClC,IAAI,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;QAClD,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,gBAAgB,CAAC,CAAC;KAC/D;IACD,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;IACtD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAPD,0CAOC"}
|
@@ -2,7 +2,6 @@ import { SchematicContext } from '@angular-devkit/schematics';
|
|
2
2
|
import type { WorkspaceSchema, WorkspaceSchematics } from '../interfaces';
|
3
3
|
/**
|
4
4
|
* Register the collection schematic to the workspace
|
5
|
-
*
|
6
5
|
* @param workspace Workspace to add the collection to
|
7
6
|
* @param collection Collection to add to the workspace schematic collection
|
8
7
|
* @returns the updated workspace
|
@@ -11,20 +10,18 @@ export declare function registerCollectionSchematics(workspace: WorkspaceSchema,
|
|
11
10
|
/**
|
12
11
|
* Get default options for a schematic
|
13
12
|
* This will look inside angular.json file for schematics with keys containing wildcards like `*:ng-add` or `@o3r/core:*`
|
14
|
-
*
|
15
13
|
* @param workspace
|
16
14
|
* @param collection
|
17
15
|
* @param schematicName
|
18
16
|
* @param options
|
19
17
|
* @param options.projectName
|
20
18
|
*/
|
21
|
-
export declare function getDefaultOptionsForSchematic(workspace: WorkspaceSchema | null, collection: string, schematicName: string, options
|
19
|
+
export declare function getDefaultOptionsForSchematic<T extends WorkspaceSchematics['*:*'] = WorkspaceSchematics['*:*']>(workspace: WorkspaceSchema | null, collection: string, schematicName: string, options?: {
|
22
20
|
projectName?: string | undefined;
|
23
|
-
}):
|
21
|
+
}): T;
|
24
22
|
/**
|
25
23
|
* Retrieves the schematics options of a given schematics name
|
26
24
|
* If the schematics name is not found, then the generic options (*:*) will be returned. If the latter is not present the function returns undefined
|
27
|
-
*
|
28
25
|
* @param config
|
29
26
|
* @param context
|
30
27
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../src/utility/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE1E
|
1
|
+
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../src/utility/collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,CAO5G;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC1C,CAAC,SAAS,mBAAmB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,CAAC,CAmBrM;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,mBAAmB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB,GAAG,CAAC,GAAG,SAAS,CAUxK"}
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getSchematicOptions = exports.getDefaultOptionsForSchematic = exports.registerCollectionSchematics = void 0;
|
4
4
|
/**
|
5
5
|
* Register the collection schematic to the workspace
|
6
|
-
*
|
7
6
|
* @param workspace Workspace to add the collection to
|
8
7
|
* @param collection Collection to add to the workspace schematic collection
|
9
8
|
* @returns the updated workspace
|
@@ -20,7 +19,6 @@ exports.registerCollectionSchematics = registerCollectionSchematics;
|
|
20
19
|
/**
|
21
20
|
* Get default options for a schematic
|
22
21
|
* This will look inside angular.json file for schematics with keys containing wildcards like `*:ng-add` or `@o3r/core:*`
|
23
|
-
*
|
24
22
|
* @param workspace
|
25
23
|
* @param collection
|
26
24
|
* @param schematicName
|
@@ -33,19 +31,23 @@ function getDefaultOptionsForSchematic(workspace, collection, schematicName, opt
|
|
33
31
|
}
|
34
32
|
const schematicsDefaultParams = [
|
35
33
|
workspace.schematics,
|
36
|
-
...options
|
34
|
+
...options?.projectName ? [workspace.projects[options.projectName]?.schematics] : []
|
37
35
|
];
|
38
|
-
return schematicsDefaultParams.
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
36
|
+
return schematicsDefaultParams.reduce((acc, schematics) => {
|
37
|
+
if (!schematics) {
|
38
|
+
return acc;
|
39
|
+
}
|
40
|
+
return Object.entries(schematics)
|
41
|
+
.filter(([key, _]) => key === `*:${schematicName}` || key === `${collection}:*` || key === `${collection}:${schematicName}`)
|
42
|
+
.sort(([a], [b]) => (a.match(/\*/g)?.length || 0) - (b.match(/\*/g)?.length || 0))
|
43
|
+
.map(([_, value]) => value)
|
44
|
+
.reduce((config, value) => ({ ...config, ...value }), acc);
|
45
|
+
}, {});
|
43
46
|
}
|
44
47
|
exports.getDefaultOptionsForSchematic = getDefaultOptionsForSchematic;
|
45
48
|
/**
|
46
49
|
* Retrieves the schematics options of a given schematics name
|
47
50
|
* If the schematics name is not found, then the generic options (*:*) will be returned. If the latter is not present the function returns undefined
|
48
|
-
*
|
49
51
|
* @param config
|
50
52
|
* @param context
|
51
53
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../src/utility/collection.ts"],"names":[],"mappings":";;;AAGA
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../src/utility/collection.ts"],"names":[],"mappings":"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"}
|
@@ -3,25 +3,21 @@ import * as ts from 'typescript';
|
|
3
3
|
import { DecoratorWithArg } from './ast';
|
4
4
|
/**
|
5
5
|
* Returns true if `node` is the decorator of an Angular component
|
6
|
-
*
|
7
6
|
* @param node
|
8
7
|
*/
|
9
8
|
export declare const isNgClassDecorator: (node: ts.Node) => node is DecoratorWithArg;
|
10
9
|
/**
|
11
10
|
* Returns true if `node` is the decorator of an Otter component
|
12
|
-
*
|
13
11
|
* @param node
|
14
12
|
*/
|
15
13
|
export declare const isO3rClassDecorator: (node: ts.Node) => node is DecoratorWithArg;
|
16
14
|
/**
|
17
15
|
* Returns true if `classDeclaration` is an Otter component
|
18
|
-
*
|
19
16
|
* @param classDeclaration
|
20
17
|
*/
|
21
18
|
export declare const isNgClassComponent: (classDeclaration: ts.ClassDeclaration) => boolean;
|
22
19
|
/**
|
23
20
|
* Returns true if `classDeclaration` is an Otter component
|
24
|
-
*
|
25
21
|
* @param classDeclaration
|
26
22
|
*/
|
27
23
|
export declare const isO3rClassComponent: (classDeclaration: ts.ClassDeclaration) => boolean;
|
@@ -31,7 +27,6 @@ export declare class NoOtterComponent extends Error {
|
|
31
27
|
}
|
32
28
|
/**
|
33
29
|
* Returns Otter component information
|
34
|
-
*
|
35
30
|
* @param tree
|
36
31
|
* @param componentPath
|
37
32
|
*/
|
@@ -43,7 +38,6 @@ export declare const getO3rComponentInfoOrThrowIfNotFound: (tree: Tree, componen
|
|
43
38
|
};
|
44
39
|
/**
|
45
40
|
* Transformer factory to add imports into the angular component decorator
|
46
|
-
*
|
47
41
|
* @param imports
|
48
42
|
*/
|
49
43
|
export declare const addImportsIntoComponentDecoratorTransformerFactory: (imports: string[]) => ts.TransformerFactory<ts.Node>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/utility/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAA6D,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/utility/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAA6D,MAAM,OAAO,CAAC;AAGpG;;;GAGG;AACH,eAAO,MAAM,kBAAkB,SAAU,OAAO,6BAEsB,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,SAAU,OAAO,6BAEwB,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,kBAAkB,qBAAsB,GAAG,gBAAgB,YAAwE,CAAC;AAEjJ;;;GAGG;AACH,eAAO,MAAM,mBAAmB,qBAAsB,GAAG,gBAAgB,YAEA,CAAC;AAE1E,eAAO,MAAM,iCAAiC,wBAA0G,CAAC;AAEzJ,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,aAAa,EAAE,MAAM;CAOlC;AAED;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,SAAU,IAAI,iBAAiB,MAAM;;;;;CA4DrF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kDAAkD,YACpD,MAAM,EAAE,KAChB,GAAG,kBAAkB,CAAC,OAAO,CA4B/B,CAAC"}
|
package/src/utility/component.js
CHANGED
@@ -4,9 +4,9 @@ exports.addImportsIntoComponentDecoratorTransformerFactory = exports.getO3rCompo
|
|
4
4
|
const prompt_1 = require("@angular/cli/src/utilities/prompt");
|
5
5
|
const ts = require("typescript");
|
6
6
|
const ast_1 = require("./ast");
|
7
|
+
const error_1 = require("./error");
|
7
8
|
/**
|
8
9
|
* Returns true if `node` is the decorator of an Angular component
|
9
|
-
*
|
10
10
|
* @param node
|
11
11
|
*/
|
12
12
|
const isNgClassDecorator = (node) => (0, ast_1.isDecoratorWithArg)(node)
|
@@ -14,7 +14,6 @@ const isNgClassDecorator = (node) => (0, ast_1.isDecoratorWithArg)(node)
|
|
14
14
|
exports.isNgClassDecorator = isNgClassDecorator;
|
15
15
|
/**
|
16
16
|
* Returns true if `node` is the decorator of an Otter component
|
17
|
-
*
|
18
17
|
* @param node
|
19
18
|
*/
|
20
19
|
const isO3rClassDecorator = (node) => (0, ast_1.isDecoratorWithArg)(node)
|
@@ -22,14 +21,12 @@ const isO3rClassDecorator = (node) => (0, ast_1.isDecoratorWithArg)(node)
|
|
22
21
|
exports.isO3rClassDecorator = isO3rClassDecorator;
|
23
22
|
/**
|
24
23
|
* Returns true if `classDeclaration` is an Otter component
|
25
|
-
*
|
26
24
|
* @param classDeclaration
|
27
25
|
*/
|
28
26
|
const isNgClassComponent = (classDeclaration) => (ts.getDecorators(classDeclaration) || []).some(exports.isNgClassDecorator);
|
29
27
|
exports.isNgClassComponent = isNgClassComponent;
|
30
28
|
/**
|
31
29
|
* Returns true if `classDeclaration` is an Otter component
|
32
|
-
*
|
33
30
|
* @param classDeclaration
|
34
31
|
*/
|
35
32
|
const isO3rClassComponent = (classDeclaration) => (0, exports.isNgClassComponent)(classDeclaration)
|
@@ -49,7 +46,6 @@ class NoOtterComponent extends Error {
|
|
49
46
|
exports.NoOtterComponent = NoOtterComponent;
|
50
47
|
/**
|
51
48
|
* Returns Otter component information
|
52
|
-
*
|
53
49
|
* @param tree
|
54
50
|
* @param componentPath
|
55
51
|
*/
|
@@ -57,21 +53,21 @@ const getO3rComponentInfoOrThrowIfNotFound = (tree, componentPath) => {
|
|
57
53
|
const sourceFile = ts.createSourceFile(componentPath, tree.readText(componentPath), ts.ScriptTarget.ES2020, true);
|
58
54
|
const ngComponentDeclaration = sourceFile.statements.find((s) => ts.isClassDeclaration(s) && (0, exports.isNgClassComponent)(s));
|
59
55
|
if (!ngComponentDeclaration) {
|
60
|
-
throw new
|
56
|
+
throw new error_1.O3rCliError(`No Angular component found in ${componentPath}.`);
|
61
57
|
}
|
62
58
|
if (!(0, exports.isO3rClassComponent)(ngComponentDeclaration)) {
|
63
59
|
throw new NoOtterComponent(componentPath);
|
64
60
|
}
|
65
61
|
const name = ngComponentDeclaration.name?.escapedText.toString().replace(/Component$/, '');
|
66
62
|
if (!name) {
|
67
|
-
throw new
|
63
|
+
throw new error_1.O3rCliError(`The class' name is not specified. Please provide one for the Otter component defined in ${componentPath}.`);
|
68
64
|
}
|
69
65
|
const selectorExpression = (0, ast_1.getPropertyFromDecoratorFirstArgument)(ts.getDecorators(ngComponentDeclaration)?.find(exports.isNgClassDecorator), 'selector');
|
70
66
|
const selector = selectorExpression && ts.isStringLiteral(selectorExpression)
|
71
67
|
? selectorExpression.text
|
72
68
|
: selectorExpression?.getText();
|
73
69
|
if (!selector) {
|
74
|
-
throw new
|
70
|
+
throw new error_1.O3rCliError(`The component's selector is not specified. Please provide one for the Otter component defined in ${componentPath}.`);
|
75
71
|
}
|
76
72
|
const standaloneExpression = (0, ast_1.getPropertyFromDecoratorFirstArgument)(ts.getDecorators(ngComponentDeclaration)?.find(exports.isNgClassDecorator), 'standalone');
|
77
73
|
const standalone = standaloneExpression?.kind === ts.SyntaxKind.TrueKeyword;
|
@@ -89,7 +85,6 @@ const getO3rComponentInfoOrThrowIfNotFound = (tree, componentPath) => {
|
|
89
85
|
exports.getO3rComponentInfoOrThrowIfNotFound = getO3rComponentInfoOrThrowIfNotFound;
|
90
86
|
/**
|
91
87
|
* Transformer factory to add imports into the angular component decorator
|
92
|
-
*
|
93
88
|
* @param imports
|
94
89
|
*/
|
95
90
|
const addImportsIntoComponentDecoratorTransformerFactory = (imports) => (ctx) => (rootNode) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/utility/component.ts"],"names":[],"mappings":";;;AACA,8DAAoE;AACpE,iCAAiC;AACjC,+BAAoG;
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/utility/component.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import { NodeDependency, NodeDependencyType } from '@schematics/angular/utility/dependencies';
|
2
2
|
/**
|
3
3
|
* Method to extract the provided package version range from a package.json file
|
4
|
-
*
|
5
4
|
* @param packageNames list of package we want to retrieve the version
|
6
5
|
* @param packageJsonPath Path to the package.json to refer to
|
7
6
|
* @returns The version range value retrieved from the provided package.json file
|
@@ -9,7 +8,6 @@ import { NodeDependency, NodeDependencyType } from '@schematics/angular/utility/
|
|
9
8
|
export declare function getExternalDependenciesVersionRange<T extends string>(packageNames: T[], packageJsonPath: string): Record<T, string>;
|
10
9
|
/**
|
11
10
|
* Method used to build the list of node dependencies to be installed
|
12
|
-
*
|
13
11
|
* @param dependenciesVersions map of dependency and its associated required version
|
14
12
|
* @param type node type of the dependency
|
15
13
|
* @returns the list of node dependencies to be installed
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../../src/utility/dependencies.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAE,kBAAkB,EAAC,MAAM,0CAA0C,CAAC;AAE5F
|
1
|
+
{"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../../../src/utility/dependencies.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAE,kBAAkB,EAAC,MAAM,0CAA0C,CAAC;AAE5F;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAAC,CAAC,SAAS,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAMnI;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,kBAAkB,GAAG,cAAc,EAAE,CAE3I"}
|
@@ -4,7 +4,6 @@ exports.getNodeDependencyList = exports.getExternalDependenciesVersionRange = vo
|
|
4
4
|
const fs = require("node:fs");
|
5
5
|
/**
|
6
6
|
* Method to extract the provided package version range from a package.json file
|
7
|
-
*
|
8
7
|
* @param packageNames list of package we want to retrieve the version
|
9
8
|
* @param packageJsonPath Path to the package.json to refer to
|
10
9
|
* @returns The version range value retrieved from the provided package.json file
|
@@ -19,7 +18,6 @@ function getExternalDependenciesVersionRange(packageNames, packageJsonPath) {
|
|
19
18
|
exports.getExternalDependenciesVersionRange = getExternalDependenciesVersionRange;
|
20
19
|
/**
|
21
20
|
* Method used to build the list of node dependencies to be installed
|
22
|
-
*
|
23
21
|
* @param dependenciesVersions map of dependency and its associated required version
|
24
22
|
* @param type node type of the dependency
|
25
23
|
* @returns the list of node dependencies to be installed
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../src/utility/dependencies.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAG9B
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../src/utility/dependencies.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAG9B;;;;;GAKG;AACH,SAAgB,mCAAmC,CAAmB,YAAiB,EAAE,eAAuB;IAC9G,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;IAC7F,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAA+B,EAAE,WAAW,EAAE,EAAE;QAC1E,GAAG,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,IAAI,kBAAkB,CAAC,qBAAqB,EAAE,CAAC,WAAW,CAAC,CAAC;QACjI,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAsB,CAAC;AAC9B,CAAC;AAND,kFAMC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAmB,oBAAuC,EAAE,IAAwB;IACvH,OAAO,MAAM,CAAC,OAAO,CAAS,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;AACzH,CAAC;AAFD,sDAEC"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/**
|
2
|
+
* Get all environment information
|
3
|
+
* Could be useful for debugging issue
|
4
|
+
*/
|
5
|
+
export declare const getEnvironmentInfo: () => {
|
6
|
+
os: {
|
7
|
+
architecture: string;
|
8
|
+
platform: NodeJS.Platform;
|
9
|
+
version: string;
|
10
|
+
};
|
11
|
+
node: {
|
12
|
+
version: string | null;
|
13
|
+
};
|
14
|
+
packageManager: {
|
15
|
+
name: import("./package-manager-runner").SupportedPackageManagers;
|
16
|
+
version: string | undefined;
|
17
|
+
};
|
18
|
+
otter: {
|
19
|
+
version: string | undefined;
|
20
|
+
};
|
21
|
+
};
|
22
|
+
/**
|
23
|
+
* Stringify the result of `getEnvironmentInfo`
|
24
|
+
* @see getEnvironmentInfo
|
25
|
+
*/
|
26
|
+
export declare const getEnvironmentInfoStringify: () => string;
|
27
|
+
//# sourceMappingURL=environment.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../src/utility/environment.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;CAmB9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,cAWvC,CAAC"}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getEnvironmentInfoStringify = exports.getEnvironmentInfo = void 0;
|
4
|
+
const fs = require("node:fs");
|
5
|
+
const os = require("node:os");
|
6
|
+
const semver = require("semver");
|
7
|
+
const package_manager_runner_1 = require("./package-manager-runner");
|
8
|
+
/**
|
9
|
+
* Get all environment information
|
10
|
+
* Could be useful for debugging issue
|
11
|
+
*/
|
12
|
+
const getEnvironmentInfo = () => {
|
13
|
+
const nodeVersion = semver.parse(process.version);
|
14
|
+
const osInfo = {
|
15
|
+
architecture: os.arch(),
|
16
|
+
platform: os.platform(),
|
17
|
+
version: os.release()
|
18
|
+
};
|
19
|
+
const nodeInfo = {
|
20
|
+
version: nodeVersion && `${nodeVersion.major}.${nodeVersion.minor}.${nodeVersion.patch}`
|
21
|
+
};
|
22
|
+
const packageManagerInfo = (0, package_manager_runner_1.getPackageManagerInfo)();
|
23
|
+
let otterCorePackageJsonPath;
|
24
|
+
try {
|
25
|
+
otterCorePackageJsonPath = require.resolve('@o3r/core/package.json');
|
26
|
+
}
|
27
|
+
catch { }
|
28
|
+
const otterInfo = {
|
29
|
+
version: otterCorePackageJsonPath ? JSON.parse(fs.readFileSync(otterCorePackageJsonPath, { encoding: 'utf-8' })).version : undefined
|
30
|
+
};
|
31
|
+
return { os: osInfo, node: nodeInfo, packageManager: packageManagerInfo, otter: otterInfo };
|
32
|
+
};
|
33
|
+
exports.getEnvironmentInfo = getEnvironmentInfo;
|
34
|
+
/**
|
35
|
+
* Stringify the result of `getEnvironmentInfo`
|
36
|
+
* @see getEnvironmentInfo
|
37
|
+
*/
|
38
|
+
const getEnvironmentInfoStringify = () => {
|
39
|
+
const { os: osInfo, node: nodeInfo, packageManager: packageManagerInfo, otter: otterInfo } = (0, exports.getEnvironmentInfo)();
|
40
|
+
return `
|
41
|
+
- User Agent Architecture: ${osInfo.architecture}
|
42
|
+
- User Agent Platform: ${osInfo.platform}
|
43
|
+
- User Agent Version: ${osInfo.version}
|
44
|
+
- Node Version: ${nodeInfo.version || 'undefined'}
|
45
|
+
- Package Manager Name: ${packageManagerInfo.name}
|
46
|
+
- Package Manager Version: ${packageManagerInfo.version || 'undefined'}
|
47
|
+
- Otter Version: ${otterInfo.version || 'undefined'}
|
48
|
+
`;
|
49
|
+
};
|
50
|
+
exports.getEnvironmentInfoStringify = getEnvironmentInfoStringify;
|
51
|
+
//# sourceMappingURL=environment.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/utility/environment.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,8BAA8B;AAC9B,iCAAiC;AACjC,qEAAiE;AAEjE;;;GAGG;AACI,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG;QACb,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE;QACvB,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE;QACvB,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;KACtB,CAAC;IACF,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,WAAW,IAAI,GAAG,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE;KACzF,CAAC;IACF,MAAM,kBAAkB,GAAG,IAAA,8CAAqB,GAAE,CAAC;IACnD,IAAI,wBAA4C,CAAC;IACjD,IAAI;QACF,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;KACtE;IAAC,MAAM,GAAE;IACV,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAiB,CAAC,CAAC,CAAC,SAAS;KAC/I,CAAC;IACF,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9F,CAAC,CAAC;AAnBW,QAAA,kBAAkB,sBAmB7B;AAEF;;;GAGG;AACI,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAA,0BAAkB,GAAE,CAAC;IAClH,OAAO;6BACoB,MAAM,CAAC,YAAY;yBACvB,MAAM,CAAC,QAAQ;wBAChB,MAAM,CAAC,OAAO;kBACpB,QAAQ,CAAC,OAAO,IAAI,WAAW;0BACvB,kBAAkB,CAAC,IAAI;6BACpB,kBAAkB,CAAC,OAAO,IAAI,WAAW;mBACnD,SAAS,CAAC,OAAO,IAAI,WAAW;CAClD,CAAC;AACF,CAAC,CAAC;AAXW,QAAA,2BAA2B,+BAWtC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/utility/error.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;gBACxB,KAAK,EAAE,GAAG;CAQvB"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.O3rCliError = void 0;
|
4
|
+
const environment_1 = require("./environment");
|
5
|
+
/**
|
6
|
+
* Error to be throw when otter script failed
|
7
|
+
*/
|
8
|
+
class O3rCliError extends Error {
|
9
|
+
constructor(error) {
|
10
|
+
super(error.toString()
|
11
|
+
+ '\n\nYou can file new issues by selecting from our issue templates (https://github.com/AmadeusITGroup/otter/issues/new/choose) and filling out the issue template.'
|
12
|
+
+ '\n\nTo facilitate the reproduction of the issue, do not forget to provide us your environment information:\n'
|
13
|
+
+ (0, environment_1.getEnvironmentInfoStringify)());
|
14
|
+
}
|
15
|
+
}
|
16
|
+
exports.O3rCliError = O3rCliError;
|
17
|
+
//# sourceMappingURL=error.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/utility/error.ts"],"names":[],"mappings":";;;AAAA,+CAA4D;AAE5D;;GAEG;AACH,MAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,KAAU;QACpB,KAAK,CACH,KAAK,CAAC,QAAQ,EAAY;cACxB,mKAAmK;cACnK,8GAA8G;cAC9G,IAAA,yCAA2B,GAAE,CAChC,CAAC;IACJ,CAAC;CACF;AATD,kCASC"}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { SchematicContext, Tree } from '@angular-devkit/schematics';
|
2
2
|
import * as ts from 'typescript';
|
3
|
+
import type { SourceFile } from 'typescript';
|
3
4
|
/**
|
4
5
|
* File information in schematics context
|
5
6
|
*/
|
@@ -12,10 +13,19 @@ export interface FileInfo {
|
|
12
13
|
ngModulesMetadata: ts.Node[] | undefined;
|
13
14
|
/** File content as string */
|
14
15
|
appModuleFile: string | undefined;
|
16
|
+
/** Starting index of the module decorator in the file content */
|
17
|
+
moduleIndex: number;
|
18
|
+
/** In case of standalone, we are referencing a component instead of a module */
|
19
|
+
isStandalone: boolean;
|
15
20
|
}
|
21
|
+
/**
|
22
|
+
* Get the module index of the decorator in a file (supports both standalone and module)
|
23
|
+
* @param sourceFile
|
24
|
+
* @param sourceContent
|
25
|
+
*/
|
26
|
+
export declare function getModuleIndex(sourceFile: SourceFile, sourceContent: string): Pick<FileInfo, 'ngModulesMetadata' | 'moduleIndex' | 'isStandalone'>;
|
16
27
|
/**
|
17
28
|
* Get file information in schematics context
|
18
|
-
*
|
19
29
|
* @param tree
|
20
30
|
* @param context
|
21
31
|
* @param projectName
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"file-info.d.ts","sourceRoot":"","sources":["../../../src/utility/file-info.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"file-info.d.ts","sourceRoot":"","sources":["../../../src/utility/file-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,uCAAuC;IACvC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC,4CAA4C;IAC5C,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC;IAEtC,8CAA8C;IAC9C,iBAAiB,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,SAAS,CAAC;IAEzC,6BAA6B;IAC7B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IAEpB,gFAAgF;IAChF,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,mBAAmB,GAAG,aAAa,GAAG,cAAc,CAAC,CA8BlJ;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,YAmClG"}
|
package/src/utility/file-info.js
CHANGED
@@ -1,12 +1,49 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getFileInfo = void 0;
|
3
|
+
exports.getFileInfo = exports.getModuleIndex = void 0;
|
4
4
|
const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
|
5
5
|
const ts = require("typescript");
|
6
6
|
const modules_1 = require("./modules");
|
7
|
+
/**
|
8
|
+
* Get the module index of the decorator in a file (supports both standalone and module)
|
9
|
+
* @param sourceFile
|
10
|
+
* @param sourceContent
|
11
|
+
*/
|
12
|
+
function getModuleIndex(sourceFile, sourceContent) {
|
13
|
+
const decorators = [
|
14
|
+
{ name: 'NgModule', isStandalone: false },
|
15
|
+
{ name: 'Component', isStandalone: true }
|
16
|
+
];
|
17
|
+
for (const decorator of decorators) {
|
18
|
+
const moduleMetadata = (0, ast_utils_1.getDecoratorMetadata)(sourceFile, decorator.name, '@angular/core');
|
19
|
+
if (moduleMetadata[0]) {
|
20
|
+
return {
|
21
|
+
ngModulesMetadata: moduleMetadata,
|
22
|
+
moduleIndex: moduleMetadata[0].pos - (decorator.name.length + 1),
|
23
|
+
isStandalone: decorator.isStandalone
|
24
|
+
};
|
25
|
+
}
|
26
|
+
else {
|
27
|
+
const index = sourceContent.indexOf(`@${decorator.name}`);
|
28
|
+
if (index >= 0) {
|
29
|
+
return {
|
30
|
+
ngModulesMetadata: undefined,
|
31
|
+
moduleIndex: index,
|
32
|
+
isStandalone: decorator.isStandalone
|
33
|
+
};
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
// No decorators found, put the index just before the first export (which will work for the appConfig in standalone)
|
38
|
+
return {
|
39
|
+
ngModulesMetadata: undefined,
|
40
|
+
moduleIndex: sourceContent.indexOf('export '),
|
41
|
+
isStandalone: true
|
42
|
+
};
|
43
|
+
}
|
44
|
+
exports.getModuleIndex = getModuleIndex;
|
7
45
|
/**
|
8
46
|
* Get file information in schematics context
|
9
|
-
*
|
10
47
|
* @param tree
|
11
48
|
* @param context
|
12
49
|
* @param projectName
|
@@ -16,7 +53,9 @@ function getFileInfo(tree, context, projectName) {
|
|
16
53
|
moduleFilePath: undefined,
|
17
54
|
sourceFile: undefined,
|
18
55
|
ngModulesMetadata: undefined,
|
19
|
-
appModuleFile: undefined
|
56
|
+
appModuleFile: undefined,
|
57
|
+
moduleIndex: -1,
|
58
|
+
isStandalone: false
|
20
59
|
};
|
21
60
|
const moduleFilePath = (0, modules_1.getAppModuleFilePath)(tree, context, projectName);
|
22
61
|
if (!moduleFilePath) {
|
@@ -29,8 +68,11 @@ function getFileInfo(tree, context, projectName) {
|
|
29
68
|
}
|
30
69
|
const sourceFile = ts.createSourceFile(moduleFilePath, tree.read(moduleFilePath).toString(), ts.ScriptTarget.ES2015, true);
|
31
70
|
fileInfo.sourceFile = sourceFile;
|
32
|
-
fileInfo.ngModulesMetadata = (0, ast_utils_1.getDecoratorMetadata)(sourceFile, 'NgModule', '@angular/core');
|
33
71
|
fileInfo.appModuleFile = tree.read(moduleFilePath).toString();
|
72
|
+
const moduleIndex = getModuleIndex(sourceFile, fileInfo.appModuleFile);
|
73
|
+
fileInfo.ngModulesMetadata = moduleIndex.ngModulesMetadata;
|
74
|
+
fileInfo.moduleIndex = moduleIndex.moduleIndex;
|
75
|
+
fileInfo.isStandalone = moduleIndex.isStandalone;
|
34
76
|
return fileInfo;
|
35
77
|
}
|
36
78
|
exports.getFileInfo = getFileInfo;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"file-info.js","sourceRoot":"","sources":["../../../src/utility/file-info.ts"],"names":[],"mappings":";;;AACA,
|
1
|
+
{"version":3,"file":"file-info.js","sourceRoot":"","sources":["../../../src/utility/file-info.ts"],"names":[],"mappings":";;;AACA,qEAA6E;AAC7E,iCAAiC;AAEjC,uCAAiD;AAyBjD;;;;GAIG;AACH,SAAgB,cAAc,CAAC,UAAsB,EAAE,aAAqB;IAC1E,MAAM,UAAU,GAAG;QACjB,EAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAC;QACvC,EAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAC;KACxC,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,MAAM,cAAc,GAAG,IAAA,gCAAoB,EAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACzF,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE;YACrB,OAAO;gBACL,iBAAiB,EAAE,cAA2B;gBAC9C,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChE,YAAY,EAAE,SAAS,CAAC,YAAY;aACrC,CAAC;SACH;aAAM;YACL,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,OAAO;oBACL,iBAAiB,EAAE,SAAS;oBAC5B,WAAW,EAAE,KAAK;oBAClB,YAAY,EAAE,SAAS,CAAC,YAAY;iBACrC,CAAC;aACH;SACF;KACF;IACD,oHAAoH;IACpH,OAAO;QACL,iBAAiB,EAAE,SAAS;QAC5B,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7C,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC;AA9BD,wCA8BC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,IAAU,EAAE,OAAyB,EAAE,WAAgC;IACjG,MAAM,QAAQ,GAAa;QACzB,cAAc,EAAE,SAAS;QACzB,UAAU,EAAE,SAAS;QACrB,iBAAiB,EAAE,SAAS;QAC5B,aAAa,EAAE,SAAS;QACxB,WAAW,EAAE,CAAC,CAAC;QACf,YAAY,EAAE,KAAK;KACpB,CAAC;IACF,MAAM,cAAc,GAAG,IAAA,8BAAoB,EAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,QAAQ,CAAC;KACjB;IACD,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;IAEzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;QAChC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,cAAc,8CAA8C,CAAC,CAAC;QACrG,OAAO,QAAQ,CAAC;KACjB;IAED,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,cAAc,EACd,IAAI,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC,QAAQ,EAAE,EACrC,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;IACF,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC,QAAQ,EAAE,CAAC;IAE/D,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvE,QAAQ,CAAC,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC;IAC3D,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;IAC/C,QAAQ,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC;IAEjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAnCD,kCAmCC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../../../src/utility/generation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;
|
1
|
+
{"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../../../src/utility/generation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAKlD,6BAA6B;AAC7B,MAAM,MAAM,iBAAiB,GAC3B,qBAAqB,GACrB,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,6BAA6B,GAC7B,kCAAkC,GAClC,gCAAgC,CAAC;AAEnC,gCAAgC;AAChC,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,EAQ/C,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,EAAE;KAAG,GAAG,IAAI,iBAAiB,GAAI;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAC;CAe7F,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAuBnJ"}
|
@@ -1,7 +1,9 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.getDestinationPath = exports.TYPES_DEFAULT_FOLDER = exports.OTTER_ITEM_TYPES = void 0;
|
4
|
+
const error_1 = require("./error");
|
4
5
|
const loaders_1 = require("./loaders");
|
6
|
+
const collection_1 = require("./collection");
|
5
7
|
/** List of Otter items types */
|
6
8
|
exports.OTTER_ITEM_TYPES = [
|
7
9
|
'@o3r/core:component',
|
@@ -31,7 +33,6 @@ exports.TYPES_DEFAULT_FOLDER = {
|
|
31
33
|
};
|
32
34
|
/**
|
33
35
|
* Get destination path for a generated item
|
34
|
-
*
|
35
36
|
* @param typeOfItem
|
36
37
|
* @param directory
|
37
38
|
* @param tree
|
@@ -41,27 +42,22 @@ function getDestinationPath(typeOfItem, directory, tree, project) {
|
|
41
42
|
if (directory) {
|
42
43
|
return directory;
|
43
44
|
}
|
44
|
-
/**
|
45
|
-
* @param workspace
|
46
|
-
* @param generatorName
|
47
|
-
*/
|
48
|
-
const getSchematicsPropertyFrom = (workspace, generatorName) => {
|
49
|
-
return workspace.schematics?.[generatorName] || null;
|
50
|
-
};
|
51
45
|
/**
|
52
46
|
* @param generatorName
|
53
47
|
* @param propTree
|
54
48
|
* @param propProject
|
55
49
|
*/
|
56
50
|
const getSchematicsProperty = (generatorName, propTree, propProject) => {
|
57
|
-
const
|
58
|
-
|
51
|
+
const workspace = (0, loaders_1.getWorkspaceConfig)(propTree);
|
52
|
+
const [collection, schematicName] = generatorName.split(':');
|
53
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
54
|
+
return workspace && (0, collection_1.getDefaultOptionsForSchematic)(workspace, collection, schematicName, { projectName: propProject || undefined }) || null;
|
59
55
|
};
|
60
56
|
const config = getSchematicsProperty(typeOfItem, tree, project);
|
61
57
|
if (config && config.path) {
|
62
58
|
return config.path;
|
63
59
|
}
|
64
|
-
throw new
|
60
|
+
throw new error_1.O3rCliError('No destination directory configured.');
|
65
61
|
}
|
66
62
|
exports.getDestinationPath = getDestinationPath;
|
67
63
|
//# sourceMappingURL=generation.js.map
|