@o3r/schematics 9.1.0-alpha.34 → 9.1.0-alpha.35
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +4 -4
- package/src/interfaces/angular-workspace.d.ts +8 -0
- package/src/interfaces/angular-workspace.d.ts.map +1 -1
- package/src/utility/collection.d.ts +9 -1
- package/src/utility/collection.d.ts.map +1 -1
- package/src/utility/collection.js +20 -1
- package/src/utility/collection.js.map +1 -1
- package/src/utility/monorepo.d.ts +26 -0
- package/src/utility/monorepo.d.ts.map +1 -1
- package/src/utility/monorepo.js +43 -1
- package/src/utility/monorepo.js.map +1 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@o3r/schematics",
|
3
|
-
"version": "9.1.0-alpha.
|
3
|
+
"version": "9.1.0-alpha.35",
|
4
4
|
"description": "Schematics module of the Otter framework",
|
5
5
|
"main": "./src/index.js",
|
6
6
|
"keywords": [
|
@@ -58,9 +58,9 @@
|
|
58
58
|
"@nx/jest": "~16.5.0",
|
59
59
|
"@nx/js": "~16.5.0",
|
60
60
|
"@nx/linter": "~16.5.0",
|
61
|
-
"@o3r/build-helpers": "^9.1.0-alpha.
|
62
|
-
"@o3r/dev-tools": "^9.1.0-alpha.
|
63
|
-
"@o3r/eslint-plugin": "^9.1.0-alpha.
|
61
|
+
"@o3r/build-helpers": "^9.1.0-alpha.35",
|
62
|
+
"@o3r/dev-tools": "^9.1.0-alpha.35",
|
63
|
+
"@o3r/eslint-plugin": "^9.1.0-alpha.35",
|
64
64
|
"@schematics/angular": "~16.0.5",
|
65
65
|
"@types/jest": "~29.5.2",
|
66
66
|
"@types/node": "^18.0.0",
|
@@ -6,6 +6,13 @@ export interface WorkspaceProjectI18n {
|
|
6
6
|
export interface WorkspaceTool {
|
7
7
|
[k: string]: any;
|
8
8
|
}
|
9
|
+
/** Defines the directories where the apps/libs will stay inside a monorepo */
|
10
|
+
export interface WorkspaceLayout {
|
11
|
+
/** Libraries directory name */
|
12
|
+
libsDir: string;
|
13
|
+
/** Applications directory name */
|
14
|
+
appsDir: string;
|
15
|
+
}
|
9
16
|
export interface WorkspaceSchematics extends SchematicOptions {
|
10
17
|
/** @deprecated */
|
11
18
|
'@otter/ng-tools:api-service'?: {
|
@@ -42,6 +49,7 @@ export interface WorkspaceSchematics extends SchematicOptions {
|
|
42
49
|
'*:ng-add'?: {
|
43
50
|
enableMetadataExtract?: boolean;
|
44
51
|
};
|
52
|
+
'*:*'?: WorkspaceLayout;
|
45
53
|
}
|
46
54
|
export interface WorkspaceProject extends NgWorkspaceProject {
|
47
55
|
architect?: WorkspaceTool;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"angular-workspace.d.ts","sourceRoot":"","sources":["../../../src/interfaces/angular-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,IAAI,kBAAkB,EAC9B,MAAM,IAAI,iBAAiB,EAC3B,gBAAgB,EACjB,MAAM,0CAA0C,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,WAAW,aAAa;IAC5B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,kBAAkB;IAClB,6BAA6B,CAAC,EAAE;QAC9B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,2BAA2B,CAAC,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,yBAAyB,CAAC,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,uBAAuB,CAAC,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,4BAA4B,CAAC,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,2BAA2B,CAAC,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,uBAAuB,CAAC,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB,CAAC,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,sBAAsB,CAAC,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,CAAC,EAAE;QACX,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC;
|
1
|
+
{"version":3,"file":"angular-workspace.d.ts","sourceRoot":"","sources":["../../../src/interfaces/angular-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,IAAI,kBAAkB,EAC9B,MAAM,IAAI,iBAAiB,EAC3B,gBAAgB,EACjB,MAAM,0CAA0C,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,WAAW,aAAa;IAC5B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;CAClB;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,kBAAkB;IAClB,6BAA6B,CAAC,EAAE;QAC9B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,2BAA2B,CAAC,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,yBAAyB,CAAC,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,uBAAuB,CAAC,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB;IAClB,4BAA4B,CAAC,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,2BAA2B,CAAC,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,uBAAuB,CAAC,EAAE;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kBAAkB,CAAC,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,sBAAsB,CAAC,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,CAAC,EAAE;QACX,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC;IACF,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AACD,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,aAAa,GAAG,SAAS,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,QAAQ,EAAE;QACN,CAAC,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;KACjC,CAAC;IACF,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { WorkspaceSchema } from '../interfaces';
|
1
|
+
import type { WorkspaceSchema, WorkspaceSchematics } from '../interfaces';
|
2
2
|
/**
|
3
3
|
* Register the collection schematic to the workspace
|
4
4
|
*
|
@@ -20,4 +20,12 @@ export declare function registerCollectionSchematics(workspace: WorkspaceSchema,
|
|
20
20
|
export declare function getDefaultOptionsForSchematic(workspace: WorkspaceSchema | null, collection: string, schematicName: string, options: {
|
21
21
|
projectName: string | undefined;
|
22
22
|
}): Record<string, string>;
|
23
|
+
/**
|
24
|
+
* Retrieves the schematics options of a given schematics name
|
25
|
+
* If the schematics name is not found, then the generic options (*:*) will be returned. If the latter is not present the function returns undefined
|
26
|
+
*
|
27
|
+
* @param config
|
28
|
+
* @param schematicName
|
29
|
+
*/
|
30
|
+
export declare function getSchematicOptions<T extends WorkspaceSchematics['*:*'] = WorkspaceSchematics['*:*']>(config: WorkspaceSchema, schematicName?: string): T | undefined;
|
23
31
|
//# sourceMappingURL=collection.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../src/utility/collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
1
|
+
{"version":3,"file":"collection.d.ts","sourceRoot":"","sources":["../../../src/utility/collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE1E;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,CAO5G;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE;IAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;CAAC,0BAcrK;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,mBAAmB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAWrK"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getDefaultOptionsForSchematic = exports.registerCollectionSchematics = void 0;
|
3
|
+
exports.getSchematicOptions = exports.getDefaultOptionsForSchematic = exports.registerCollectionSchematics = void 0;
|
4
4
|
/**
|
5
5
|
* Register the collection schematic to the workspace
|
6
6
|
*
|
@@ -42,4 +42,23 @@ function getDefaultOptionsForSchematic(workspace, collection, schematicName, opt
|
|
42
42
|
[]).reduce((out, defaultParams) => ({ ...out, ...defaultParams }), {});
|
43
43
|
}
|
44
44
|
exports.getDefaultOptionsForSchematic = getDefaultOptionsForSchematic;
|
45
|
+
/**
|
46
|
+
* Retrieves the schematics options of a given schematics name
|
47
|
+
* 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
|
+
* @param config
|
50
|
+
* @param schematicName
|
51
|
+
*/
|
52
|
+
function getSchematicOptions(config, schematicName) {
|
53
|
+
if (!schematicName) {
|
54
|
+
return config.schematics?.['*:*'];
|
55
|
+
}
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
57
|
+
const options = config.schematics && Object.entries(config.schematics)
|
58
|
+
.filter(([name]) => new RegExp(name.replace(/\*/g, '.*')).test(schematicName))
|
59
|
+
.sort(([a], [b]) => ((a.match(/\*/g)?.length || 0) - (b.match(/\*/g)?.length || 0)))
|
60
|
+
.reduce((acc, [, opts]) => ({ ...acc, ...opts }), {});
|
61
|
+
return options && Object.keys(options).length ? options : undefined;
|
62
|
+
}
|
63
|
+
exports.getSchematicOptions = getSchematicOptions;
|
45
64
|
//# sourceMappingURL=collection.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../src/utility/collection.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAAC,SAA0B,EAAE,UAAkB;IACzF,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC;IACrB,SAAS,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC5D,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KACxD;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAPD,oEAOC;AAED;;;;;;;;;GASG;AACH,SAAgB,6BAA6B,CAAC,SAAiC,EAAE,UAAkB,EAAE,aAAqB,EAAE,OAA0C;IACpK,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,EAAE,CAAC;KACX;IACD,MAAM,uBAAuB,GAAG;QAC9B,SAAS,CAAC,UAAU;QACpB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;KACpF,CAAC;IACF,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,CAAC,OAAO,CAAyB,UAAU,CAAC;aAC/C,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,aAAa,EAAE,IAAI,GAAG,KAAK,GAAG,UAAU,IAAI,CAAC;aAC/E,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,EAAE,CACH,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,GAAG,EAAE,GAAG,aAAa,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAdD,sEAcC"}
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../src/utility/collection.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAAC,SAA0B,EAAE,UAAkB;IACzF,SAAS,CAAC,GAAG,KAAK,EAAE,CAAC;IACrB,SAAS,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;QAC5D,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KACxD;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAPD,oEAOC;AAED;;;;;;;;;GASG;AACH,SAAgB,6BAA6B,CAAC,SAAiC,EAAE,UAAkB,EAAE,aAAqB,EAAE,OAA0C;IACpK,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,EAAE,CAAC;KACX;IACD,MAAM,uBAAuB,GAAG;QAC9B,SAAS,CAAC,UAAU;QACpB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;KACpF,CAAC;IACF,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,CAAC,OAAO,CAAyB,UAAU,CAAC;aAC/C,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,aAAa,EAAE,IAAI,GAAG,KAAK,GAAG,UAAU,IAAI,CAAC;aAC/E,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,EAAE,CACH,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,GAAG,EAAE,GAAG,aAAa,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC;AAdD,sEAcC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAoE,MAAuB,EAAE,aAAsB;IACpJ,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAkB,CAAC;KACpD;IACD,mEAAmE;IACnE,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;SACnE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC7E,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;SACnF,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAS,CAAC,CAAC;IAE/D,OAAO,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAXD,kDAWC"}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import type { Tree } from '@angular-devkit/schematics';
|
2
|
+
import { WorkspaceLayout, WorkspaceProject, WorkspaceSchema } from '../interfaces';
|
2
3
|
/**
|
3
4
|
* Find the relative path to a configuration file at the monorepo root
|
4
5
|
*
|
@@ -14,4 +15,29 @@ export declare function findConfigFileRelativePath(tree: Tree, files: string[],
|
|
14
15
|
* @param tree
|
15
16
|
*/
|
16
17
|
export declare function isNxContext(tree: Tree): boolean;
|
18
|
+
/**
|
19
|
+
* Determine if we are in a project with multi packages
|
20
|
+
*
|
21
|
+
* @param tree
|
22
|
+
*/
|
23
|
+
export declare function isMultipackagesContext(tree: Tree): boolean;
|
24
|
+
/** Default name of the folder where libraries will be generated inside monorepo */
|
25
|
+
export declare const LIBRARIES_FOLDER_NAME = "libs";
|
26
|
+
/** Default name of the folder where applications will be generated inside monorepo */
|
27
|
+
export declare const APPLICATIONS_FOLDER_NAME = "apps";
|
28
|
+
/** Default directories for generated apps/libs inside a monorepo */
|
29
|
+
export declare const DEFAULT_ROOT_FOLDERS: WorkspaceLayout;
|
30
|
+
/** Root folders map for apps/libs inside a monorepo */
|
31
|
+
export declare const BASE_ROOT_FOLDERS_MAP: Record<WorkspaceProject['projectType'], keyof WorkspaceLayout>;
|
32
|
+
/**
|
33
|
+
* Retrive the project base root generation folder, based on the given projectType.
|
34
|
+
* - The default project root will be returned if there is no project root found in nx.json or angular.json (in schematics options)
|
35
|
+
* - The root path '/' will be returned if no project type given
|
36
|
+
*
|
37
|
+
* @param config
|
38
|
+
* @param tree
|
39
|
+
* @param projectType
|
40
|
+
* @param schematicName
|
41
|
+
*/
|
42
|
+
export declare function getPackagesBaseRootFolder(config: WorkspaceSchema, tree: Tree, projectType?: WorkspaceProject['projectType'], schematicName?: string): string;
|
17
43
|
//# sourceMappingURL=monorepo.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"monorepo.d.ts","sourceRoot":"","sources":["../../../src/utility/monorepo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;
|
1
|
+
{"version":3,"file":"monorepo.d.ts","sourceRoot":"","sources":["../../../src/utility/monorepo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAInF;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,UAOzF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,WAErC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,WAEhD;AAED,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,SAAS,CAAC;AAC5C,sFAAsF;AACtF,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,EAAE,eAGlC,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,MAAM,eAAe,CAGhG,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,UAQnJ"}
|
package/src/utility/monorepo.js
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.isNxContext = exports.findConfigFileRelativePath = void 0;
|
3
|
+
exports.getPackagesBaseRootFolder = exports.BASE_ROOT_FOLDERS_MAP = exports.DEFAULT_ROOT_FOLDERS = exports.APPLICATIONS_FOLDER_NAME = exports.LIBRARIES_FOLDER_NAME = exports.isMultipackagesContext = exports.isNxContext = exports.findConfigFileRelativePath = void 0;
|
4
4
|
const path = require("node:path");
|
5
|
+
const collection_1 = require("./collection");
|
5
6
|
/**
|
6
7
|
* Find the relative path to a configuration file at the monorepo root
|
7
8
|
*
|
@@ -27,4 +28,45 @@ function isNxContext(tree) {
|
|
27
28
|
return tree.exists('/nx.json');
|
28
29
|
}
|
29
30
|
exports.isNxContext = isNxContext;
|
31
|
+
/**
|
32
|
+
* Determine if we are in a project with multi packages
|
33
|
+
*
|
34
|
+
* @param tree
|
35
|
+
*/
|
36
|
+
function isMultipackagesContext(tree) {
|
37
|
+
return !!tree.readJson('/package.json').wokspaces;
|
38
|
+
}
|
39
|
+
exports.isMultipackagesContext = isMultipackagesContext;
|
40
|
+
/** Default name of the folder where libraries will be generated inside monorepo */
|
41
|
+
exports.LIBRARIES_FOLDER_NAME = 'libs';
|
42
|
+
/** Default name of the folder where applications will be generated inside monorepo */
|
43
|
+
exports.APPLICATIONS_FOLDER_NAME = 'apps';
|
44
|
+
/** Default directories for generated apps/libs inside a monorepo */
|
45
|
+
exports.DEFAULT_ROOT_FOLDERS = {
|
46
|
+
libsDir: exports.LIBRARIES_FOLDER_NAME,
|
47
|
+
appsDir: exports.APPLICATIONS_FOLDER_NAME
|
48
|
+
};
|
49
|
+
/** Root folders map for apps/libs inside a monorepo */
|
50
|
+
exports.BASE_ROOT_FOLDERS_MAP = {
|
51
|
+
library: 'libsDir',
|
52
|
+
application: 'appsDir'
|
53
|
+
};
|
54
|
+
/**
|
55
|
+
* Retrive the project base root generation folder, based on the given projectType.
|
56
|
+
* - The default project root will be returned if there is no project root found in nx.json or angular.json (in schematics options)
|
57
|
+
* - The root path '/' will be returned if no project type given
|
58
|
+
*
|
59
|
+
* @param config
|
60
|
+
* @param tree
|
61
|
+
* @param projectType
|
62
|
+
* @param schematicName
|
63
|
+
*/
|
64
|
+
function getPackagesBaseRootFolder(config, tree, projectType, schematicName) {
|
65
|
+
const configName = projectType && exports.BASE_ROOT_FOLDERS_MAP[projectType];
|
66
|
+
const nxExplicitDir = configName && isNxContext(tree) && tree.readJson('/nx.json')?.workspaceLayout[configName];
|
67
|
+
const schematicConfigDir = configName && (0, collection_1.getSchematicOptions)(config, schematicName)?.[configName];
|
68
|
+
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
69
|
+
return '/' + (schematicConfigDir || nxExplicitDir || ((projectType && configName) ? exports.DEFAULT_ROOT_FOLDERS[configName] : ''));
|
70
|
+
}
|
71
|
+
exports.getPackagesBaseRootFolder = getPackagesBaseRootFolder;
|
30
72
|
//# sourceMappingURL=monorepo.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"monorepo.js","sourceRoot":"","sources":["../../../src/utility/monorepo.ts"],"names":[],"mappings":";;;AACA,kCAAkC;AAElC;;;;;;;GAOG;AACH,SAAgB,0BAA0B,CAAC,IAAU,EAAE,KAAe,EAAE,UAAkB;IACxF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAChE,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,OAAO,EAAE,CAAC;KACX;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC;AAC1D,CAAC;AAPD,gEAOC;
|
1
|
+
{"version":3,"file":"monorepo.js","sourceRoot":"","sources":["../../../src/utility/monorepo.ts"],"names":[],"mappings":";;;AACA,kCAAkC;AAElC,6CAAmD;AAGnD;;;;;;;GAOG;AACH,SAAgB,0BAA0B,CAAC,IAAU,EAAE,KAAe,EAAE,UAAkB;IACxF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAChE,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,OAAO,EAAE,CAAC;KACX;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC;AAC1D,CAAC;AAPD,gEAOC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,IAAU;IACpC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAFD,kCAEC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,IAAU;IAC/C,OAAO,CAAC,CAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAiB,CAAC,SAAS,CAAC;AACrE,CAAC;AAFD,wDAEC;AAED,mFAAmF;AACtE,QAAA,qBAAqB,GAAG,MAAM,CAAC;AAC5C,sFAAsF;AACzE,QAAA,wBAAwB,GAAG,MAAM,CAAC;AAE/C,oEAAoE;AACvD,QAAA,oBAAoB,GAAoB;IACnD,OAAO,EAAE,6BAAqB;IAC9B,OAAO,EAAE,gCAAwB;CAClC,CAAC;AAEF,uDAAuD;AAC1C,QAAA,qBAAqB,GAAmE;IACnG,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,SAAS;CACvB,CAAC;AAEF;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CAAC,MAAuB,EAAE,IAAU,EAAE,WAA6C,EAAE,aAAsB;IAClJ,MAAM,UAAU,GAAG,WAAW,IAAI,6BAAqB,CAAC,WAAW,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC,IAAK,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAS,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAEzH,MAAM,kBAAkB,GAAG,UAAU,IAAI,IAAA,gCAAmB,EAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IAElG,qEAAqE;IACrE,OAAO,GAAG,GAAG,CAAC,kBAAkB,IAAI,aAAa,IAAI,CAAC,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,4BAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9H,CAAC;AARD,8DAQC"}
|