@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 +4 -4
- package/schematics/ng-add/index.d.ts +6 -0
- package/schematics/ng-add/index.d.ts.map +1 -0
- package/schematics/ng-add/index.js +58 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/schema.d.ts +6 -0
- package/schematics/ng-add/schema.d.ts.map +1 -0
- package/schematics/ng-add/schema.js +3 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/src/index.d.ts +1 -0
- package/src/index.d.ts.map +1 -1
- package/src/index.js +1 -0
- package/src/index.js.map +1 -1
- package/src/modules/index.d.ts +3 -0
- package/src/modules/index.d.ts.map +1 -0
- package/src/modules/index.js +6 -0
- package/src/modules/index.js.map +1 -0
- package/src/modules/modules.constants.d.ts +34 -0
- package/src/modules/modules.constants.d.ts.map +1 -0
- package/src/modules/modules.constants.js +12 -0
- package/src/modules/modules.constants.js.map +1 -0
- package/src/modules/modules.helpers.d.ts +37 -0
- package/src/modules/modules.helpers.d.ts.map +1 -0
- package/src/modules/modules.helpers.js +149 -0
- package/src/modules/modules.helpers.js.map +1 -0
- package/src/utility/modules.d.ts +0 -51
- package/src/utility/modules.d.ts.map +1 -1
- package/src/utility/modules.js +1 -107
- package/src/utility/modules.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/schematics",
|
|
3
|
-
"version": "8.3.0-alpha.
|
|
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.
|
|
62
|
-
"@o3r/dev-tools": "^8.3.0-alpha.
|
|
63
|
-
"@o3r/eslint-plugin": "^8.3.0-alpha.
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":""}
|
package/src/index.d.ts
CHANGED
package/src/index.d.ts.map
CHANGED
|
@@ -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 @@
|
|
|
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":"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"}
|
package/src/utility/modules.d.ts
CHANGED
|
@@ -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":"AAAA,OAAO,EAAC,gBAAgB,EAAuB,IAAI,EAAE,cAAc,EAAC,MAAM,4BAA4B,CAAC;AACvG,OAAO,KAAK,EAAE,MAAM,gFAAgF,CAAC;
|
|
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"}
|
package/src/utility/modules.js
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
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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"}
|