@o3r/schematics 8.3.0-alpha.38 → 8.3.0-alpha.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/schematics",
3
- "version": "8.3.0-alpha.38",
3
+ "version": "8.3.0-alpha.40",
4
4
  "description": "Schematics module of the Otter framework",
5
5
  "main": "./src/index.js",
6
6
  "keywords": [
@@ -58,9 +58,9 @@
58
58
  "@nrwl/jest": "~15.9.0",
59
59
  "@nrwl/js": "~15.9.0",
60
60
  "@nrwl/linter": "~15.9.0",
61
- "@o3r/build-helpers": "^8.3.0-alpha.38",
62
- "@o3r/dev-tools": "^8.3.0-alpha.38",
63
- "@o3r/eslint-plugin": "^8.3.0-alpha.38",
61
+ "@o3r/build-helpers": "^8.3.0-alpha.40",
62
+ "@o3r/dev-tools": "^8.3.0-alpha.40",
63
+ "@o3r/eslint-plugin": "^8.3.0-alpha.40",
64
64
  "@schematics/angular": "~15.2.0",
65
65
  "@types/jest": "~28.1.2",
66
66
  "@types/node": "^17.0.45",
@@ -0,0 +1,6 @@
1
+ import type { Rule } from '@angular-devkit/schematics';
2
+ /**
3
+ * Add Otter schematics to an Angular Project
4
+ */
5
+ export declare function ngAdd(): Rule;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAA0B,MAAM,4BAA4B,CAAC;AA+B/E;;GAEG;AACH,wBAAgB,KAAK,IAAI,IAAI,CAsB5B"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ngAdd = void 0;
4
+ const tasks_1 = require("@angular-devkit/schematics/tasks");
5
+ const fs = require("node:fs");
6
+ const path = require("node:path");
7
+ const rxjs_1 = require("rxjs");
8
+ const options_1 = require("@angular-devkit/schematics/tasks/package-manager/options");
9
+ /**
10
+ * Install dev dependency on your application
11
+ *
12
+ * Note: it should not be moved to other packages as it should run before the installation
13
+ * of peer dependencies
14
+ */
15
+ class DevInstall extends tasks_1.NodePackageInstallTask {
16
+ /** @inheritDoc */
17
+ toConfiguration() {
18
+ const installOptions = process.env && process.env.npm_execpath && process.env.npm_execpath.indexOf('yarn') === -1 ? 'npm' : 'yarn';
19
+ return {
20
+ name: options_1.NodePackageName,
21
+ options: {
22
+ command: 'install',
23
+ quiet: this.quiet,
24
+ workingDirectory: this.workingDirectory,
25
+ packageName: `${this.packageName} ${installOptions === 'yarn' ? '--prefer-dev' : '-D'}`,
26
+ packageManager: installOptions
27
+ }
28
+ };
29
+ }
30
+ }
31
+ /**
32
+ * Add Otter schematics to an Angular Project
33
+ */
34
+ function ngAdd() {
35
+ const schematicsDependencies = ['@angular-devkit/architect', '@angular-devkit/schematics', '@angular-devkit/core', '@schematics/angular', 'comment-json', 'eslint', 'globby'];
36
+ return async (tree, context) => {
37
+ context.logger.info('Running ng add for schematics');
38
+ const packageJsonPath = path.resolve(__dirname, '..', '..', 'package.json');
39
+ const treePackageJson = tree.readJson('./package.json');
40
+ const packageJsonContent = JSON.parse(fs.readFileSync(packageJsonPath, { encoding: 'utf-8' }));
41
+ const getDependencyVersion = (dependency) => packageJsonContent?.dependencies?.[dependency] || packageJsonContent?.peerDependencies?.[dependency];
42
+ for (const dependency of schematicsDependencies) {
43
+ const version = getDependencyVersion(dependency);
44
+ context.logger.info(`Installing ${dependency}${version || ''}`);
45
+ treePackageJson.devDependencies = { ...packageJsonContent.devDependencies, [dependency]: version };
46
+ context.addTask(new DevInstall({
47
+ hideOutput: false,
48
+ packageName: `${dependency}${version ? '@' + version : ''}`,
49
+ quiet: false
50
+ }));
51
+ await (0, rxjs_1.lastValueFrom)(context.engine.executePostTasks());
52
+ }
53
+ tree.overwrite('./package.json', JSON.stringify(treePackageJson));
54
+ return () => tree;
55
+ };
56
+ }
57
+ exports.ngAdd = ngAdd;
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AACA,4DAA0E;AAC1E,8BAA8B;AAC9B,kCAAkC;AAClC,+BAAqC;AAErC,sFAA2F;AAE3F;;;;;GAKG;AACH,MAAM,UAAW,SAAQ,8BAAsB;IAC7C,kBAAkB;IACX,eAAe;QACpB,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACnI,OAAO;YACL,IAAI,EAAE,yBAAe;YACrB,OAAO,EAAE;gBACP,OAAO,EAAE,SAAS;gBAClB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAY,IAAI,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE;gBACxF,cAAc,EAAE,cAAc;aAC/B;SACF,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,SAAgB,KAAK;IACnB,MAAM,sBAAsB,GAAG,CAAC,2BAA2B,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9K,OAAO,KAAK,EAAE,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAgB,CAAC;QACvE,MAAM,kBAAkB,GAAgB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;QAC1G,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,kBAAkB,EAAE,YAAY,EAAE,CAAC,UAAU,CAAC,IAAI,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,UAAU,CAAC,CAAC;QAC1J,KAAK,MAAM,UAAU,IAAI,sBAAsB,EAAE;YAC/C,MAAM,OAAO,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,UAAU,GAAG,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;YAChE,eAAe,CAAC,eAAe,GAAG,EAAC,GAAG,kBAAkB,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAC,CAAC;YACjG,OAAO,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC;gBAC7B,UAAU,EAAE,KAAK;gBACjB,WAAW,EAAE,GAAG,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3D,KAAK,EAAE,KAAK;aACN,CAAC,CAAC,CAAC;YACX,MAAM,IAAA,oBAAa,EAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;QAClE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAtBD,sBAsBC"}
@@ -0,0 +1,6 @@
1
+ import { JsonObject } from '@angular-devkit/core';
2
+ export interface NgAddSchematicsSchema extends JsonObject {
3
+ /** Project name */
4
+ projectName: string | null;
5
+ }
6
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,mBAAmB;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":""}
package/src/index.d.ts CHANGED
@@ -3,4 +3,5 @@ export * from './rule-factories/index';
3
3
  export * from './rules/index';
4
4
  export * from './tasks/index';
5
5
  export * from './utility/index';
6
+ export * from './modules/index';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
package/src/index.js CHANGED
@@ -6,4 +6,5 @@ tslib_1.__exportStar(require("./rule-factories/index"), exports);
6
6
  tslib_1.__exportStar(require("./rules/index"), exports);
7
7
  tslib_1.__exportStar(require("./tasks/index"), exports);
8
8
  tslib_1.__exportStar(require("./utility/index"), exports);
9
+ tslib_1.__exportStar(require("./modules/index"), exports);
9
10
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,iEAAuC;AACvC,wDAA8B;AAC9B,wDAA8B;AAC9B,0DAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,iEAAuC;AACvC,wDAA8B;AAC9B,wDAA8B;AAC9B,0DAAgC;AAChC,0DAAgC"}
@@ -0,0 +1,3 @@
1
+ export * from './modules.constants';
2
+ export * from './modules.helpers';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/modules/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./modules.constants"), exports);
5
+ tslib_1.__exportStar(require("./modules.helpers"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/modules/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,4DAAkC"}
@@ -0,0 +1,34 @@
1
+ import type { PackageJson } from 'type-fest';
2
+ /** Package as return by the NPM Registry */
3
+ export type NpmRegistryPackage = Pick<PackageJson, 'name' | 'description' | 'version' | 'keywords'> & {
4
+ /** Package name */
5
+ name: string;
6
+ /** Scope of the package */
7
+ scope?: string;
8
+ /** Links provided for the package */
9
+ links?: {
10
+ npm: string;
11
+ homepage?: string;
12
+ repository?: string;
13
+ bugs?: string;
14
+ };
15
+ /** package.json information */
16
+ package?: PackageJson;
17
+ };
18
+ /** Message Return by the NPM Registry Search commend */
19
+ export type NPMRegistrySearchResponse = {
20
+ objects: {
21
+ package?: NpmRegistryPackage;
22
+ }[];
23
+ };
24
+ /** Prefix of the Otter module keyword tags */
25
+ export declare const OTTER_MODULE_PREFIX = "otter-";
26
+ /** Otter NPM Keyword pattern */
27
+ export type OtterModuleTag<T extends string = ''> = `${typeof OTTER_MODULE_PREFIX}${T}`;
28
+ /** List of whitelisted package scopes for Otter modules */
29
+ export declare const OTTER_MODULE_SUPPORTED_SCOPES: readonly ["otter", "o3r"];
30
+ /** Keyword defining an Otter compatible module */
31
+ export declare const OTTER_MODULE_KEYWORD: OtterModuleTag<'module'>;
32
+ /** Package Keyword to identify the module allowing CMS administration */
33
+ export declare const OTTER_KEYWORD_CMS: OtterModuleTag<'cms'>;
34
+ //# sourceMappingURL=modules.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules.constants.d.ts","sourceRoot":"","sources":["../../../src/modules/modules.constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,4CAA4C;AAC5C,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC,GACnG;IACE,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,CAAC,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,+BAA+B;IAC/B,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,kBAAkB,CAAA;KAAE,EAAE,CAAC;CAC7C,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,gCAAgC;AAChC,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,IAAI,GAAG,OAAO,mBAAmB,GAAG,CAAC,EAAE,CAAC;AACxF,2DAA2D;AAC3D,eAAO,MAAM,6BAA6B,2BAA4B,CAAC;AACvE,kDAAkD;AAClD,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,QAAQ,CAAkB,CAAC;AAC7E,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,KAAK,CAAe,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OTTER_KEYWORD_CMS = exports.OTTER_MODULE_KEYWORD = exports.OTTER_MODULE_SUPPORTED_SCOPES = exports.OTTER_MODULE_PREFIX = void 0;
4
+ /** Prefix of the Otter module keyword tags */
5
+ exports.OTTER_MODULE_PREFIX = 'otter-';
6
+ /** List of whitelisted package scopes for Otter modules */
7
+ exports.OTTER_MODULE_SUPPORTED_SCOPES = ['otter', 'o3r'];
8
+ /** Keyword defining an Otter compatible module */
9
+ exports.OTTER_MODULE_KEYWORD = 'otter-module';
10
+ /** Package Keyword to identify the module allowing CMS administration */
11
+ exports.OTTER_KEYWORD_CMS = 'otter-cms';
12
+ //# sourceMappingURL=modules.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules.constants.js","sourceRoot":"","sources":["../../../src/modules/modules.constants.ts"],"names":[],"mappings":";;;AAyBA,8CAA8C;AACjC,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAG5C,2DAA2D;AAC9C,QAAA,6BAA6B,GAAG,CAAC,OAAO,EAAE,KAAK,CAAU,CAAC;AACvE,kDAAkD;AACrC,QAAA,oBAAoB,GAA6B,cAAc,CAAC;AAC7E,yEAAyE;AAC5D,QAAA,iBAAiB,GAA0B,WAAW,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { NpmRegistryPackage } from './modules.constants';
2
+ import type { logging } from '@angular-devkit/core';
3
+ /**
4
+ * Determine if the given keyword is an Otter tag
5
+ *
6
+ * @param keyword Keyword to identify
7
+ * @param expect tag expected for the Otter keyword
8
+ */
9
+ export declare const isOtterTag: <T extends string | undefined>(keyword: any, expect?: T | undefined) => keyword is `otter-${T extends undefined ? "" : T}`;
10
+ /**
11
+ * Get Available Otter modules on NPMjs.org
12
+ *
13
+ * @param keyword Keyword to search for Otter modules
14
+ * @param scopeWhitelist List of whitelisted scopes
15
+ * @param onlyNotInstalled Determine if only the packages that are NOT installed should be returned
16
+ */
17
+ export declare function getAvailableModules(keyword: string, scopeWhitelist: string[] | readonly string[], onlyNotInstalled?: boolean): Promise<NpmRegistryPackage[]>;
18
+ /**
19
+ * Get Available Otter modules on NPMjs.org and get latest package information
20
+ * Similar to {@link getAvailableModules} with additional calls to retrieve all the package's information
21
+ *
22
+ * @param keyword Keyword to search for Otter modules
23
+ * @param scopeWhitelist List of whitelisted scopes
24
+ * @param onlyNotInstalled Determine if only the packages that are NOT installed should be returned
25
+ * @param logger Logger to use to report call failure (as debug message)
26
+ */
27
+ export declare function getAvailableModulesWithLatestPackage(keyword?: string, scopeWhitelist?: string[] | readonly string[], onlyNotInstalled?: boolean, logger?: logging.LoggerApi): Promise<NpmRegistryPackage[]>;
28
+ /**
29
+ * Format a module description to be displayed in the terminal
30
+ *
31
+ * @param npmPackage Npm Package to display
32
+ * @param runner runner according to the context
33
+ * @param keywordTags Mapping of the NPM package Keywords and a displayed tag
34
+ * @param logger Logger to use to report package read failure (as debug message)
35
+ */
36
+ export declare function formatModuleDescription(npmPackage: NpmRegistryPackage, runner?: 'npx' | 'yarn', keywordTags?: Record<string, string>, logger?: logging.LoggerApi): string;
37
+ //# sourceMappingURL=modules.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules.helpers.d.ts","sourceRoot":"","sources":["../../../src/modules/modules.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAuH,MAAM,qBAAqB,CAAC;AAG9K,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AA6CpD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,0CAA2C,GAAG,+EAGpE,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,EAAE,gBAAgB,UAAQ,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAqBhK;AAGD;;;;;;;;GAQG;AACH,wBAAsB,oCAAoC,CACxD,OAAO,GAAE,MAA6B,EACtC,cAAc,GAAE,MAAM,EAAE,GAAG,SAAS,MAAM,EAAkC,EAC5E,gBAAgB,UAAQ,EACxB,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAmB3D;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,GAAE,KAAK,GAAG,MAAc,EAAE,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,UA8B3K"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatModuleDescription = exports.getAvailableModulesWithLatestPackage = exports.getAvailableModules = exports.isOtterTag = void 0;
4
+ const modules_constants_1 = require("./modules.constants");
5
+ const package_version_1 = require("../utility/package-version");
6
+ const semver_1 = require("semver");
7
+ const node_https_1 = require("node:https");
8
+ const node_os_1 = require("node:os");
9
+ const fs = require("node:fs");
10
+ const node_util_1 = require("node:util");
11
+ const node_child_process_1 = require("node:child_process");
12
+ const chalk = require("chalk");
13
+ async function promiseGetRequest(url) {
14
+ const res = await new Promise((resolve, reject) => (0, node_https_1.get)(url, resolve)
15
+ .on('error', (err) => reject(err)));
16
+ return new Promise((resolve, reject) => {
17
+ const data = [];
18
+ res.on('data', (chunk) => data.push(chunk));
19
+ res.on('end', () => resolve(JSON.parse(Buffer.concat(data).toString())));
20
+ res.on('error', reject);
21
+ });
22
+ }
23
+ /**
24
+ * Execute NPM search command if not run with other client
25
+ *
26
+ * @param search search text
27
+ * @param packageManager Package manager to use, determined automatically if not specified
28
+ */
29
+ async function npmSearchExec(search, packageManager) {
30
+ const manager = packageManager || (process.env && process.env.npm_execpath && process.env.npm_execpath.indexOf('yarn') === -1 ? 'npm' : 'yarn');
31
+ if (manager === 'npm') {
32
+ const remoteModulesPromise = (0, node_util_1.promisify)(node_child_process_1.exec)(`npm search "${search}" --json`);
33
+ try {
34
+ const results = JSON.parse((await remoteModulesPromise).stdout);
35
+ return results
36
+ .reduce((acc, pck) => {
37
+ acc.objects.push({ package: pck });
38
+ return acc;
39
+ }, { objects: [] });
40
+ }
41
+ catch {
42
+ return undefined;
43
+ }
44
+ }
45
+ }
46
+ /**
47
+ * Determine if the given keyword is an Otter tag
48
+ *
49
+ * @param keyword Keyword to identify
50
+ * @param expect tag expected for the Otter keyword
51
+ */
52
+ const isOtterTag = (keyword, expect) => {
53
+ const isTag = typeof keyword === 'string' && keyword.startsWith(modules_constants_1.OTTER_MODULE_PREFIX);
54
+ return (isTag && expect && keyword === `${modules_constants_1.OTTER_MODULE_PREFIX}${expect}`) || isTag;
55
+ };
56
+ exports.isOtterTag = isOtterTag;
57
+ /**
58
+ * Get Available Otter modules on NPMjs.org
59
+ *
60
+ * @param keyword Keyword to search for Otter modules
61
+ * @param scopeWhitelist List of whitelisted scopes
62
+ * @param onlyNotInstalled Determine if only the packages that are NOT installed should be returned
63
+ */
64
+ async function getAvailableModules(keyword, scopeWhitelist, onlyNotInstalled = false) {
65
+ const search = `keywords:${keyword}`;
66
+ const registry = await npmSearchExec(search) || await promiseGetRequest(`https://registry.npmjs.org/-/v1/search?text=${search}&size=250`);
67
+ let packages = registry.objects
68
+ .filter((pck) => pck.package?.scope && scopeWhitelist.includes(pck.package?.scope))
69
+ .map((pck) => pck.package);
70
+ if (onlyNotInstalled) {
71
+ packages = packages
72
+ .filter((pck) => {
73
+ try {
74
+ require(pck.name);
75
+ return false;
76
+ }
77
+ catch {
78
+ return true;
79
+ }
80
+ });
81
+ }
82
+ return packages;
83
+ }
84
+ exports.getAvailableModules = getAvailableModules;
85
+ /**
86
+ * Get Available Otter modules on NPMjs.org and get latest package information
87
+ * Similar to {@link getAvailableModules} with additional calls to retrieve all the package's information
88
+ *
89
+ * @param keyword Keyword to search for Otter modules
90
+ * @param scopeWhitelist List of whitelisted scopes
91
+ * @param onlyNotInstalled Determine if only the packages that are NOT installed should be returned
92
+ * @param logger Logger to use to report call failure (as debug message)
93
+ */
94
+ async function getAvailableModulesWithLatestPackage(keyword = modules_constants_1.OTTER_MODULE_KEYWORD, scopeWhitelist = modules_constants_1.OTTER_MODULE_SUPPORTED_SCOPES, onlyNotInstalled = false, logger) {
95
+ const packages = await getAvailableModules(keyword, scopeWhitelist, onlyNotInstalled);
96
+ return Promise.all(packages
97
+ .map(async (pck) => {
98
+ try {
99
+ const pckInfo = await promiseGetRequest(`https://registry.npmjs.org/${pck.name}/latest`);
100
+ return {
101
+ ...pck,
102
+ package: pckInfo
103
+ };
104
+ }
105
+ catch {
106
+ logger?.debug(`Failed to retrieve information for ${pck.name}`);
107
+ return pck;
108
+ }
109
+ }));
110
+ }
111
+ exports.getAvailableModulesWithLatestPackage = getAvailableModulesWithLatestPackage;
112
+ /**
113
+ * Format a module description to be displayed in the terminal
114
+ *
115
+ * @param npmPackage Npm Package to display
116
+ * @param runner runner according to the context
117
+ * @param keywordTags Mapping of the NPM package Keywords and a displayed tag
118
+ * @param logger Logger to use to report package read failure (as debug message)
119
+ */
120
+ function formatModuleDescription(npmPackage, runner = 'npx', keywordTags = {}, logger) {
121
+ let otterVersion;
122
+ const otterCorePackageName = '@o3r/core';
123
+ const otterCoreRange = npmPackage.package?.peerDependencies?.[otterCorePackageName];
124
+ if (npmPackage.package) {
125
+ try {
126
+ const otterCorePackage = (0, package_version_1.findClosestPackageJson)(require.resolve(otterCorePackageName));
127
+ if (otterCorePackage) {
128
+ const { version } = JSON.parse(fs.readFileSync(otterCorePackage, { encoding: 'utf-8' }));
129
+ otterVersion = version;
130
+ }
131
+ }
132
+ catch {
133
+ logger?.debug('Fail to find local Otter installation');
134
+ }
135
+ }
136
+ const flags = npmPackage.keywords
137
+ ?.filter((key) => (0, exports.isOtterTag)(key) && key !== modules_constants_1.OTTER_MODULE_KEYWORD)
138
+ .map((key) => keywordTags[key] || key.replace(modules_constants_1.OTTER_MODULE_PREFIX, '')) || [];
139
+ const outdatedWarning = otterVersion && otterCoreRange && !(0, semver_1.satisfies)(otterVersion, otterCoreRange) ? ' ' + chalk.yellow(`(outdated, supporting ${otterCoreRange})`) : '';
140
+ const lines = [
141
+ chalk.bold(`${runner} ng add ${chalk.cyan(npmPackage.name)}`) + outdatedWarning,
142
+ chalk.italic(npmPackage.description || '<no description>'),
143
+ ...(npmPackage.links?.npm ? [chalk.italic.grey(`(details on ${npmPackage.links.npm})`)] : []),
144
+ ...(flags.length > 0 ? [`Tags: ${flags.map((flag) => chalk.cyan(flag)).join(', ')}`] : [])
145
+ ];
146
+ return lines.join(node_os_1.EOL);
147
+ }
148
+ exports.formatModuleDescription = formatModuleDescription;
149
+ //# sourceMappingURL=modules.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modules.helpers.js","sourceRoot":"","sources":["../../../src/modules/modules.helpers.ts"],"names":[],"mappings":";;;AAAA,2DAA8K;AAI9K,gEAAoE;AACpE,mCAAmC;AACnC,2CAAiC;AACjC,qCAA8B;AAC9B,8BAA8B;AAC9B,yCAAsC;AACtC,2DAA0C;AAC1C,+BAA+B;AAE/B,KAAK,UAAU,iBAAiB,CAAuB,GAAW;IAChE,MAAM,GAAG,GAAG,MAAM,IAAI,OAAO,CAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAA,gBAAG,EAAC,GAAG,EAAE,OAAO,CAAC;SAClF,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEtC,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,cAAuB;IAClE,MAAM,OAAO,GAAG,cAAc,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAChJ,IAAI,OAAO,KAAK,KAAK,EAAE;QACrB,MAAM,oBAAoB,GAAG,IAAA,qBAAS,EAAC,yBAAI,CAAC,CAAC,eAAe,MAAM,UAAU,CAAC,CAAC;QAC9E,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,oBAAoB,CAAC,CAAC,MAAM,CAAyB,CAAC;YACxF,OAAO,OAAO;iBACX,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnC,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAA+B,CAAC,CAAC;SACpD;QAAC,MAAM;YACN,OAAO,SAAS,CAAC;SAClB;KACF;AACH,CAAC;AAED;;;;;GAKG;AACI,MAAM,UAAU,GAAG,CAA+B,OAAY,EAAE,MAAU,EAA2D,EAAE;IAC5I,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,uCAAmB,CAAC,CAAC;IACrF,OAAO,CAAC,KAAK,IAAI,MAAM,IAAI,OAAO,KAAK,GAAG,uCAAmB,GAAG,MAAM,EAAE,CAAC,IAAI,KAAK,CAAC;AACrF,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEF;;;;;;GAMG;AACI,KAAK,UAAU,mBAAmB,CAAC,OAAe,EAAE,cAA4C,EAAE,gBAAgB,GAAG,KAAK;IAC/H,MAAM,MAAM,GAAG,YAAY,OAAO,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,iBAAiB,CAA4B,+CAA+C,MAAM,WAAW,CAAC,CAAC;IAErK,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO;SAC5B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAClF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAQ,CAAC,CAAC;IAE9B,IAAI,gBAAgB,EAAE;QACpB,QAAQ,GAAG,QAAQ;aAChB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACd,IAAI;gBACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,OAAO,KAAK,CAAC;aACd;YAAC,MAAM;gBACN,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CAAC,CAAC;KACN;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AArBD,kDAqBC;AAGD;;;;;;;;GAQG;AACI,KAAK,UAAU,oCAAoC,CACxD,UAAkB,wCAAoB,EACtC,iBAA+C,iDAA6B,EAC5E,gBAAgB,GAAG,KAAK,EACxB,MAA0B;IAE1B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAEtF,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ;SACL,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACjB,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAc,8BAA8B,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;YACtG,OAAO;gBACL,GAAG,GAAG;gBACN,OAAO,EAAE,OAAO;aACjB,CAAC;SACH;QAAC,MAAM;YACN,MAAM,EAAE,KAAK,CAAC,sCAAsC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAChE,OAAO,GAAG,CAAC;SACZ;IACH,CAAC,CAAC,CACL,CAAC;AACJ,CAAC;AAvBD,oFAuBC;AAED;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,UAA8B,EAAE,SAAyB,KAAK,EAAE,cAAsC,EAAE,EAAE,MAA0B;IAC1K,IAAI,YAAgC,CAAC;IACrC,MAAM,oBAAoB,GAAG,WAAW,CAAC;IACzC,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAEpF,IAAI,UAAU,CAAC,OAAO,EAAE;QACtB,IAAI;YACF,MAAM,gBAAgB,GAAG,IAAA,wCAAsB,EAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACvF,IAAI,gBAAgB,EAAE;gBACpB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAgB,CAAC;gBACxG,YAAY,GAAG,OAAO,CAAC;aACxB;SACF;QAAC,MAAM;YACN,MAAM,EAAE,KAAK,CAAC,uCAAuC,CAAC,CAAC;SACxD;KACF;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ;QAC/B,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,GAAG,CAAC,IAAI,GAAG,KAAK,wCAAoB,CAAC;SACjE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,uCAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhF,MAAM,eAAe,GAAG,YAAY,IAAI,cAAc,IAAI,CAAC,IAAA,kBAAS,EAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,yBAAyB,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzK,MAAM,KAAK,GAAG;QACZ,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,WAAW,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,eAAe;QAC/E,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,IAAI,kBAAkB,CAAC;QAC1D,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3F,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,aAAG,CAAC,CAAC;AACzB,CAAC;AA9BD,0DA8BC"}
@@ -1,29 +1,5 @@
1
1
  import { SchematicContext, Tree, UpdateRecorder } from '@angular-devkit/schematics';
2
2
  import * as ts from '@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript';
3
- import type { PackageJson } from 'type-fest';
4
- import type { logging } from '@angular-devkit/core';
5
- /** Package as return by the NPM Registry */
6
- export type NpmRegistryPackage = Pick<PackageJson, 'name' | 'description' | 'version' | 'keywords'> & {
7
- /** Package name */
8
- name: string;
9
- /** Scope of the package */
10
- scope?: string;
11
- /** Links provided for the package */
12
- links?: {
13
- npm: string;
14
- homepage?: string;
15
- repository?: string;
16
- bugs?: string;
17
- };
18
- /** */
19
- package?: PackageJson;
20
- };
21
- /** Message Return by the NPM Registry Search commend */
22
- export type NPMRegistrySearchResponse = {
23
- objects: {
24
- package?: NpmRegistryPackage;
25
- }[];
26
- };
27
3
  /**
28
4
  * Get the path to the app.module.ts
29
5
  *
@@ -94,31 +70,4 @@ export declare function addProviderToModuleFile(name: string, file: string, sour
94
70
  * @param moduleIndex
95
71
  */
96
72
  export declare function insertBeforeModule(line: string, file: string, recorder: UpdateRecorder, moduleIndex: number): UpdateRecorder;
97
- /**
98
- * Get Available Otter modules on NPMjs.org
99
- *
100
- * @param keyword Keyword to search for Otter modules
101
- * @param scopeWhitelist List of whitelisted scopes
102
- * @param onlyNotInstalled Determine if only the packages that are NOT installed should be returned
103
- */
104
- export declare function getAvailableModules(keyword: string, scopeWhitelist: string[] | readonly string[], onlyNotInstalled?: boolean): Promise<NpmRegistryPackage[]>;
105
- /**
106
- * Get Available Otter modules on NPMjs.org and get latest package information
107
- * Similar to {@link getAvailableModules} with additional calls to retrieve all the package's information
108
- *
109
- * @param keyword Keyword to search for Otter modules
110
- * @param scopeWhitelist List of whitelisted scopes
111
- * @param onlyNotInstalled Determine if only the packages that are NOT installed should be returned
112
- * @param logger Logger to use to report call failure (as debug message)
113
- */
114
- export declare function getAvailableModulesWithLatestPackage(keyword: string, scopeWhitelist: string[] | readonly string[], onlyNotInstalled?: boolean, logger?: logging.LoggerApi): Promise<NpmRegistryPackage[]>;
115
- /**
116
- * Format a module description to be displayed in the terminal
117
- *
118
- * @param npmPackage Npm Package to display
119
- * @param runner runner according to the context
120
- * @param keywordTags Mapping of the NPM package Keywords and a displayed tag
121
- * @param logger Logger to use to report package read failure (as debug message)
122
- */
123
- export declare function formatModuleDescription(npmPackage: NpmRegistryPackage, runner?: 'npx' | 'yarn', keywordTags?: Record<string, string>, logger?: logging.LoggerApi): string;
124
73
  //# sourceMappingURL=modules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../../src/utility/modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../../../src/utility/modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAuB,IAAI,EAAE,cAAc,EAAC,MAAM,4BAA4B,CAAC;AACvG,OAAO,KAAK,EAAE,MAAM,gFAAgF,CAAC;AAerG;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,sBA0DzE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,sBAUpE;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,IAAI,4BAU3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EACrI,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ,kBAoB3H;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,kBAMpK;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EACrI,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,kBAY3G;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAK3G"}
@@ -1,20 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatModuleDescription = exports.getAvailableModulesWithLatestPackage = exports.getAvailableModules = exports.insertBeforeModule = exports.addProviderToModuleFile = exports.insertImportToModuleFile = exports.addImportToModuleFile = exports.isApplicationThatUsesRouterModule = exports.getMainFilePath = exports.getAppModuleFilePath = void 0;
3
+ exports.insertBeforeModule = exports.addProviderToModuleFile = exports.insertImportToModuleFile = exports.addImportToModuleFile = exports.isApplicationThatUsesRouterModule = exports.getMainFilePath = exports.getAppModuleFilePath = void 0;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
5
  const ts = require("@schematics/angular/third_party/github.com/Microsoft/TypeScript/lib/typescript");
6
6
  const ast_utils_1 = require("@schematics/angular/utility/ast-utils");
7
7
  const change_1 = require("@schematics/angular/utility/change");
8
- const chalk = require("chalk");
9
8
  const fs = require("node:fs");
10
9
  const globby_1 = require("globby");
11
10
  const path = require("node:path");
12
- const node_https_1 = require("node:https");
13
- const node_os_1 = require("node:os");
14
11
  const ast_1 = require("./ast");
15
12
  const loaders_1 = require("./loaders");
16
- const package_version_1 = require("./package-version");
17
- const semver_1 = require("semver");
18
13
  /**
19
14
  * Get the path to the app.module.ts
20
15
  *
@@ -203,105 +198,4 @@ function insertBeforeModule(line, file, recorder, moduleIndex) {
203
198
  return recorder;
204
199
  }
205
200
  exports.insertBeforeModule = insertBeforeModule;
206
- async function promiseGetRequest(url) {
207
- const res = await new Promise((resolve, reject) => (0, node_https_1.get)(url, resolve)
208
- .on('error', (err) => reject(err)));
209
- return new Promise((resolve, reject) => {
210
- const data = [];
211
- res.on('data', (chunk) => data.push(chunk));
212
- res.on('end', () => resolve(JSON.parse(Buffer.concat(data).toString())));
213
- res.on('error', reject);
214
- });
215
- }
216
- /**
217
- * Get Available Otter modules on NPMjs.org
218
- *
219
- * @param keyword Keyword to search for Otter modules
220
- * @param scopeWhitelist List of whitelisted scopes
221
- * @param onlyNotInstalled Determine if only the packages that are NOT installed should be returned
222
- */
223
- async function getAvailableModules(keyword, scopeWhitelist, onlyNotInstalled = false) {
224
- const registry = await promiseGetRequest(`https://registry.npmjs.org/-/v1/search?text=keywords:${keyword}&size=250`);
225
- let packages = registry.objects
226
- .filter((pck) => pck.package?.scope && scopeWhitelist.includes(pck.package?.scope))
227
- .map((pck) => pck.package);
228
- if (onlyNotInstalled) {
229
- packages = packages
230
- .filter((pck) => {
231
- try {
232
- require(pck.name);
233
- return false;
234
- }
235
- catch {
236
- return true;
237
- }
238
- });
239
- }
240
- return packages;
241
- }
242
- exports.getAvailableModules = getAvailableModules;
243
- /**
244
- * Get Available Otter modules on NPMjs.org and get latest package information
245
- * Similar to {@link getAvailableModules} with additional calls to retrieve all the package's information
246
- *
247
- * @param keyword Keyword to search for Otter modules
248
- * @param scopeWhitelist List of whitelisted scopes
249
- * @param onlyNotInstalled Determine if only the packages that are NOT installed should be returned
250
- * @param logger Logger to use to report call failure (as debug message)
251
- */
252
- async function getAvailableModulesWithLatestPackage(keyword, scopeWhitelist, onlyNotInstalled = false, logger) {
253
- const packages = await getAvailableModules(keyword, scopeWhitelist, onlyNotInstalled);
254
- return Promise.all(packages
255
- .map(async (pck) => {
256
- try {
257
- const pckInfo = await promiseGetRequest(`https://registry.npmjs.org/${pck.name}/latest`);
258
- return {
259
- ...pck,
260
- package: pckInfo
261
- };
262
- }
263
- catch {
264
- logger?.debug(`Failed to retrieve information for ${pck.name}`);
265
- return pck;
266
- }
267
- }));
268
- }
269
- exports.getAvailableModulesWithLatestPackage = getAvailableModulesWithLatestPackage;
270
- /**
271
- * Format a module description to be displayed in the terminal
272
- *
273
- * @param npmPackage Npm Package to display
274
- * @param runner runner according to the context
275
- * @param keywordTags Mapping of the NPM package Keywords and a displayed tag
276
- * @param logger Logger to use to report package read failure (as debug message)
277
- */
278
- function formatModuleDescription(npmPackage, runner = 'npx', keywordTags = {}, logger) {
279
- let otterVersion;
280
- const otterCorePackageName = '@o3r/core';
281
- const otterCoreRange = npmPackage.package?.peerDependencies?.[otterCorePackageName];
282
- if (npmPackage.package) {
283
- try {
284
- const otterCorePackage = (0, package_version_1.findClosestPackageJson)(require.resolve(otterCorePackageName));
285
- if (otterCorePackage) {
286
- const { version } = JSON.parse(fs.readFileSync(otterCorePackage, { encoding: 'utf-8' }));
287
- otterVersion = version;
288
- }
289
- }
290
- catch {
291
- logger?.debug('Fail to find local Otter installation');
292
- }
293
- }
294
- const flags = Object.entries(keywordTags)
295
- .filter(([key]) => npmPackage.keywords?.includes(key))
296
- .map(([, flag]) => flag);
297
- const outdatedWarning = otterVersion && otterCoreRange && !(0, semver_1.satisfies)(otterVersion, otterCoreRange) ? ' ' + chalk.yellow(`(outdated, supporting ${otterCoreRange})`) : '';
298
- const lines = [
299
- chalk.bold(`${runner} ng add ${chalk.cyan(npmPackage.name)}`) + outdatedWarning,
300
- chalk.italic(npmPackage.description || '<no description>'),
301
- ...(npmPackage.links?.npm ? [chalk.italic.grey(`(details on ${npmPackage.links.npm})`)] : []),
302
- ...(flags.length > 0 ? [`Tags: ${flags.map((flag) => chalk.cyan(flag)).join(', ')}`] : [])
303
- ];
304
- return lines.join(node_os_1.EOL);
305
- }
306
- exports.formatModuleDescription = formatModuleDescription;
307
201
  //# sourceMappingURL=modules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../src/utility/modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modules.js","sourceRoot":"","sources":["../../../src/utility/modules.ts"],"names":[],"mappings":"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"}