oc 0.49.7 → 0.49.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/README.md +2 -15
- package/dist/cli/domain/clean.d.ts +2 -2
- package/dist/cli/domain/clean.js +10 -13
- package/dist/cli/domain/get-components-by-dir.d.ts +1 -1
- package/dist/cli/domain/get-components-by-dir.js +8 -15
- package/dist/cli/domain/get-mocked-plugins.js +8 -6
- package/dist/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.d.ts +1 -1
- package/dist/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.js +4 -5
- package/dist/cli/domain/handle-dependencies/get-compiler.d.ts +1 -1
- package/dist/cli/domain/handle-dependencies/get-compiler.js +3 -3
- package/dist/cli/domain/handle-dependencies/index.d.ts +4 -3
- package/dist/cli/domain/handle-dependencies/index.js +40 -34
- package/dist/cli/domain/handle-dependencies/install-compiler.d.ts +1 -1
- package/dist/cli/domain/handle-dependencies/install-compiler.js +14 -7
- package/dist/cli/domain/handle-dependencies/install-missing-dependencies.d.ts +1 -1
- package/dist/cli/domain/handle-dependencies/install-missing-dependencies.js +13 -9
- package/dist/cli/domain/handle-dependencies/link-missing-dependencies.d.ts +1 -1
- package/dist/cli/domain/handle-dependencies/link-missing-dependencies.js +4 -8
- package/dist/cli/domain/init-template/index.d.ts +2 -2
- package/dist/cli/domain/init-template/index.js +6 -8
- package/dist/cli/domain/init-template/install-template.d.ts +2 -2
- package/dist/cli/domain/init-template/install-template.js +10 -9
- package/dist/cli/domain/init-template/scaffold.d.ts +2 -2
- package/dist/cli/domain/init-template/scaffold.js +7 -7
- package/dist/cli/domain/local.js +11 -10
- package/dist/cli/domain/mock.d.ts +1 -1
- package/dist/cli/domain/mock.js +21 -21
- package/dist/cli/domain/package-components.d.ts +1 -1
- package/dist/cli/domain/package-components.js +14 -17
- package/dist/cli/domain/registry.js +68 -81
- package/dist/cli/domain/watch.js +1 -1
- package/dist/cli/facade/clean.d.ts +10 -4
- package/dist/cli/facade/clean.js +38 -28
- package/dist/cli/facade/dev.d.ts +108 -15
- package/dist/cli/facade/dev.js +85 -99
- package/dist/cli/facade/init.d.ts +12 -5
- package/dist/cli/facade/init.js +22 -20
- package/dist/cli/facade/mock.d.ts +12 -5
- package/dist/cli/facade/mock.js +5 -6
- package/dist/cli/facade/package.d.ts +12 -5
- package/dist/cli/facade/package.js +30 -32
- package/dist/cli/facade/preview.d.ts +8 -3
- package/dist/cli/facade/preview.js +12 -10
- package/dist/cli/facade/publish.d.ts +16 -7
- package/dist/cli/facade/publish.js +94 -114
- package/dist/cli/facade/registry-add.d.ts +8 -3
- package/dist/cli/facade/registry-add.js +10 -9
- package/dist/cli/facade/registry-ls.d.ts +4 -1
- package/dist/cli/facade/registry-ls.js +19 -17
- package/dist/cli/facade/registry-remove.d.ts +8 -3
- package/dist/cli/facade/registry-remove.js +10 -9
- package/dist/cli/facade/registry.d.ts +4 -1
- package/dist/cli/facade/registry.js +6 -3
- package/dist/cli/index.js +3 -5
- package/dist/cli/programmatic-api.d.ts +1 -1
- package/dist/components/oc-client/_package/package.json +1 -1
- package/dist/components/oc-client/package.json +1 -1
- package/dist/registry/app-start.d.ts +2 -2
- package/dist/registry/app-start.js +20 -20
- package/dist/registry/domain/components-cache/components-list.d.ts +7 -6
- package/dist/registry/domain/components-cache/components-list.js +31 -45
- package/dist/registry/domain/components-cache/index.d.ts +6 -5
- package/dist/registry/domain/components-cache/index.js +47 -50
- package/dist/registry/domain/components-details.d.ts +5 -4
- package/dist/registry/domain/components-details.js +27 -38
- package/dist/registry/domain/extract-package.d.ts +2 -2
- package/dist/registry/domain/extract-package.js +9 -12
- package/dist/registry/domain/get-package-json-from-temp-dir.d.ts +1 -1
- package/dist/registry/domain/get-package-json-from-temp-dir.js +2 -2
- package/dist/registry/domain/nested-renderer.d.ts +7 -6
- package/dist/registry/domain/nested-renderer.js +36 -72
- package/dist/registry/domain/options-sanitiser.js +5 -3
- package/dist/registry/domain/plugins-initialiser.d.ts +3 -1
- package/dist/registry/domain/plugins-initialiser.js +29 -33
- package/dist/registry/domain/repository.js +78 -100
- package/dist/registry/domain/require-wrapper.js +1 -2
- package/dist/registry/domain/storage-adapter.d.ts +10 -0
- package/dist/registry/domain/storage-adapter.js +55 -0
- package/dist/registry/index.d.ts +2 -2
- package/dist/registry/index.js +15 -28
- package/dist/registry/middleware/index.d.ts +6 -2
- package/dist/registry/middleware/index.js +5 -1
- package/dist/registry/router.d.ts +2 -2
- package/dist/registry/router.js +0 -2
- package/dist/registry/routes/component-info.js +3 -2
- package/dist/registry/routes/component-preview.js +2 -1
- package/dist/registry/routes/components.js +1 -1
- package/dist/registry/routes/helpers/get-component-fallback.d.ts +2 -7
- package/dist/registry/routes/helpers/get-component.d.ts +5 -5
- package/dist/registry/routes/helpers/get-component.js +6 -5
- package/dist/registry/routes/helpers/is-url-discoverable.d.ts +2 -2
- package/dist/registry/routes/helpers/is-url-discoverable.js +15 -9
- package/dist/registry/routes/index.js +4 -3
- package/dist/registry/routes/publish.d.ts +1 -1
- package/dist/registry/routes/publish.js +32 -31
- package/dist/resources/settings.js +1 -1
- package/dist/types.d.ts +35 -43
- package/dist/utils/npm-utils.d.ts +6 -8
- package/dist/utils/npm-utils.js +20 -9
- package/dist/utils/put.d.ts +2 -1
- package/dist/utils/put.js +10 -29
- package/logintervals.md +1 -1
- package/package.json +6 -1
- package/src/cli/domain/clean.ts +10 -20
- package/src/cli/domain/get-components-by-dir.ts +12 -26
- package/src/cli/domain/get-mocked-plugins.ts +32 -26
- package/src/cli/domain/handle-dependencies/ensure-compiler-is-declared-as-devDependency.ts +8 -12
- package/src/cli/domain/handle-dependencies/get-compiler.ts +8 -11
- package/src/cli/domain/handle-dependencies/index.ts +55 -109
- package/src/cli/domain/handle-dependencies/install-compiler.ts +22 -15
- package/src/cli/domain/handle-dependencies/install-missing-dependencies.ts +19 -13
- package/src/cli/domain/handle-dependencies/link-missing-dependencies.ts +8 -16
- package/src/cli/domain/init-template/index.ts +13 -20
- package/src/cli/domain/init-template/install-template.ts +11 -12
- package/src/cli/domain/init-template/scaffold.ts +9 -12
- package/src/cli/domain/local.ts +19 -22
- package/src/cli/domain/mock.ts +32 -36
- package/src/cli/domain/package-components.ts +14 -25
- package/src/cli/domain/registry.ts +80 -116
- package/src/cli/domain/watch.ts +1 -1
- package/src/cli/facade/clean.ts +37 -37
- package/src/cli/facade/dev.ts +159 -182
- package/src/cli/facade/init.ts +36 -38
- package/src/cli/facade/mock.ts +11 -10
- package/src/cli/facade/package.ts +44 -49
- package/src/cli/facade/preview.ts +20 -18
- package/src/cli/facade/publish.ts +134 -172
- package/src/cli/facade/registry-add.ts +16 -15
- package/src/cli/facade/registry-ls.ts +27 -22
- package/src/cli/facade/registry-remove.ts +16 -15
- package/src/cli/facade/registry.ts +7 -5
- package/src/cli/index.ts +3 -5
- package/src/components/oc-client/_package/package.json +1 -1
- package/src/components/oc-client/package.json +1 -1
- package/src/globals.d.ts +38 -0
- package/src/registry/app-start.ts +27 -31
- package/src/registry/domain/components-cache/components-list.ts +45 -67
- package/src/registry/domain/components-cache/index.ts +55 -60
- package/src/registry/domain/components-details.ts +49 -75
- package/src/registry/domain/extract-package.ts +19 -27
- package/src/registry/domain/get-package-json-from-temp-dir.ts +3 -4
- package/src/registry/domain/nested-renderer.ts +64 -122
- package/src/registry/domain/options-sanitiser.ts +6 -3
- package/src/registry/domain/plugins-initialiser.ts +45 -49
- package/src/registry/domain/repository.ts +129 -235
- package/src/registry/domain/require-wrapper.ts +1 -2
- package/src/registry/domain/storage-adapter.ts +85 -0
- package/src/registry/index.ts +48 -79
- package/src/registry/middleware/index.ts +10 -2
- package/src/registry/router.ts +2 -10
- package/src/registry/routes/component-info.ts +4 -3
- package/src/registry/routes/component-preview.ts +3 -2
- package/src/registry/routes/components.ts +1 -1
- package/src/registry/routes/helpers/get-component-fallback.ts +3 -9
- package/src/registry/routes/helpers/get-component.ts +11 -9
- package/src/registry/routes/helpers/is-url-discoverable.ts +14 -15
- package/src/registry/routes/index.ts +18 -13
- package/src/registry/routes/publish.ts +31 -34
- package/src/resources/settings.ts +1 -1
- package/src/types.ts +63 -136
- package/src/utils/npm-utils.ts +38 -37
- package/src/utils/put.ts +15 -37
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
## Change Log
|
|
2
2
|
|
|
3
|
+
### v0.49.8
|
|
4
|
+
- [#1292](https://github.com/opencomponents/oc/pull/1292) dont watch files on temp folder from templates
|
|
5
|
+
- [#1289](https://github.com/opencomponents/oc/pull/1289) use polling on watch
|
|
6
|
+
- [#1288](https://github.com/opencomponents/oc/pull/1288) Update README documentation link
|
|
7
|
+
- [#1287](https://github.com/opencomponents/oc/pull/1287) [INTERNAL] reduce lodash usage on test/code
|
|
8
|
+
- [#1286](https://github.com/opencomponents/oc/pull/1286) Callback to promises
|
|
9
|
+
- [#1285](https://github.com/opencomponents/oc/pull/1285) [CB-INTERNAL] promisify publish route
|
|
10
|
+
- [#1284](https://github.com/opencomponents/oc/pull/1284) Update README.md
|
|
11
|
+
- [#1273](https://github.com/opencomponents/oc/pull/1273) [CB-INTERNAL] move nested renderer to promises
|
|
12
|
+
- [#1272](https://github.com/opencomponents/oc/pull/1272) [CB-INTERNAL] promisify registry
|
|
13
|
+
- [#1269](https://github.com/opencomponents/oc/pull/1269) [CB-INTERNAL] move plugins initialiser to promises
|
|
14
|
+
- [#1267](https://github.com/opencomponents/oc/pull/1267) [CB-INTERNAL] add express-promise-router to allow promises on routes
|
|
15
|
+
- [#1266](https://github.com/opencomponents/oc/pull/1266) [CB-INTERNAL] upgrade storage adapters and parse legacy ones
|
|
16
|
+
- [#1265](https://github.com/opencomponents/oc/pull/1265) [CB-INTERNAL] move components-details and repository to promises
|
|
17
|
+
- [#1258](https://github.com/opencomponents/oc/pull/1258) [INTERNAL-CB] move components cache to promises
|
|
18
|
+
- [#1257](https://github.com/opencomponents/oc/pull/1257) [INTERNAL-CB] Facade to promises
|
|
19
|
+
- [#1247](https://github.com/opencomponents/oc/pull/1247) Some repository methods to promises
|
|
20
|
+
- [#1246](https://github.com/opencomponents/oc/pull/1246) Registry cli to promises
|
|
21
|
+
- [#1245](https://github.com/opencomponents/oc/pull/1245) Local to promises
|
|
22
|
+
- [#1242](https://github.com/opencomponents/oc/pull/1242) move more files to promises
|
|
23
|
+
- [#1241](https://github.com/opencomponents/oc/pull/1241) Start moving callback based functions to promises
|
|
24
|
+
|
|
3
25
|
### v0.49.7
|
|
4
26
|
- [#1283](https://github.com/opencomponents/oc/pull/1283) add "open" link to component preview page
|
|
5
27
|
- [#1279](https://github.com/opencomponents/oc/pull/1279) improve auth flexibility allowing to pass any library on type field
|
package/README.md
CHANGED
|
@@ -16,14 +16,14 @@ We have been using it for more than two years in production at OpenTable, for sh
|
|
|
16
16
|
|
|
17
17
|
[](https://npmjs.org/package/oc)
|
|
18
18
|
[](https://npmjs.org/package/oc)
|
|
19
|
-
[](https://david-dm.org/opencomponents/oc)
|
|
20
19
|
[](https://snyk.io/test/github/opencomponents/oc)
|
|
21
20
|
[](https://npmjs.org/package/oc)
|
|
22
21
|
[](https://gitter.im/opentable/oc?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
|
23
22
|
|
|
24
23
|
## Links
|
|
25
24
|
|
|
26
|
-
- [
|
|
25
|
+
- [Website](https://opencomponents.github.io)
|
|
26
|
+
- [Documentation](https://opencomponents.github.io/docs/intro)
|
|
27
27
|
- [Requirements and build status](#requirements-and-build-status)
|
|
28
28
|
- [Changelog](CHANGELOG.md)
|
|
29
29
|
- [Awesome resources about OC](https://github.com/matteofigus/awesome-oc)
|
|
@@ -36,19 +36,6 @@ We have been using it for more than two years in production at OpenTable, for sh
|
|
|
36
36
|
|
|
37
37
|
Disclaimer: This project is still under heavy development and the API is likely to change at any time. In case you would find any issues, check the [troubleshooting page](CONTRIBUTING.md#troubleshooting).
|
|
38
38
|
|
|
39
|
-
[](http://travis-ci.org/opencomponents/oc)
|
|
40
|
-
|
|
41
|
-
| Node 8 | Node 9 | Node 10 |
|
|
42
|
-
| ---------------- | ---------------- | ----------------- |
|
|
43
|
-
| [![Node8][1]][5] | [![Node9][2]][5] | [![Node10][3]][5] |
|
|
44
|
-
|
|
45
|
-
[1]: https://travis-matrix-badges.herokuapp.com/repos/opencomponents/oc/branches/master/1
|
|
46
|
-
[2]: https://travis-matrix-badges.herokuapp.com/repos/opencomponents/oc/branches/master/2
|
|
47
|
-
[3]: https://travis-matrix-badges.herokuapp.com/repos/opencomponents/oc/branches/master/3
|
|
48
|
-
[5]: https://travis-ci.org/opencomponents/oc
|
|
49
|
-
|
|
50
|
-
[](https://ci.appveyor.com/project/matteofigus/oc)
|
|
51
|
-
|
|
52
39
|
## License
|
|
53
40
|
|
|
54
41
|
MIT
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function fetchList(dirPath: string
|
|
2
|
-
export declare function remove(list: string[]
|
|
1
|
+
export declare function fetchList(dirPath: string): Promise<string[]>;
|
|
2
|
+
export declare function remove(list: string[]): Promise<void>;
|
package/dist/cli/domain/clean.js
CHANGED
|
@@ -4,24 +4,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.remove = exports.fetchList = void 0;
|
|
7
|
-
const async_1 = __importDefault(require("async"));
|
|
8
7
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
8
|
const get_components_by_dir_1 = __importDefault(require("./get-components-by-dir"));
|
|
10
9
|
const path_1 = __importDefault(require("path"));
|
|
11
10
|
const getComponentsByDir = (0, get_components_by_dir_1.default)();
|
|
12
|
-
function fetchList(dirPath
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const toRemove = list.map(folder => path_1.default.join(folder, 'node_modules'));
|
|
19
|
-
const folderExists = (folder, cb) => fs_extra_1.default.exists(folder, exists => cb(null, exists));
|
|
20
|
-
async_1.default.filterSeries(toRemove, folderExists, callback);
|
|
21
|
-
});
|
|
11
|
+
async function fetchList(dirPath) {
|
|
12
|
+
const list = await getComponentsByDir(dirPath);
|
|
13
|
+
if (list.length === 0)
|
|
14
|
+
return [];
|
|
15
|
+
const toRemove = list.map(folder => path_1.default.join(folder, 'node_modules'));
|
|
16
|
+
return toRemove.filter(fs_extra_1.default.existsSync);
|
|
22
17
|
}
|
|
23
18
|
exports.fetchList = fetchList;
|
|
24
|
-
function remove(list
|
|
25
|
-
|
|
19
|
+
async function remove(list) {
|
|
20
|
+
for (const item of list) {
|
|
21
|
+
await fs_extra_1.default.remove(item);
|
|
22
|
+
}
|
|
26
23
|
}
|
|
27
24
|
exports.remove = remove;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function getComponentsByDir(): (componentsDir: string,
|
|
1
|
+
export default function getComponentsByDir(): (componentsDir: string, componentsToRun?: string[] | undefined) => Promise<string[]>;
|
|
@@ -6,14 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
function getComponentsByDir() {
|
|
9
|
-
return (componentsDir,
|
|
10
|
-
const
|
|
11
|
-
? undefined
|
|
12
|
-
: componentsToRunOrCb;
|
|
13
|
-
const callback = typeof componentsToRunOrCb === 'function'
|
|
14
|
-
? componentsToRunOrCb
|
|
15
|
-
: callbackMaybe;
|
|
16
|
-
const isOcComponent = function (file) {
|
|
9
|
+
return async (componentsDir, componentsToRun) => {
|
|
10
|
+
const isOcComponent = (file) => {
|
|
17
11
|
const filePath = path_1.default.resolve(componentsDir, file);
|
|
18
12
|
const packagePath = path_1.default.join(filePath, 'package.json');
|
|
19
13
|
let content;
|
|
@@ -29,20 +23,19 @@ function getComponentsByDir() {
|
|
|
29
23
|
const packagedProperty = content.oc && content.oc.packaged;
|
|
30
24
|
return typeof packagedProperty === 'undefined';
|
|
31
25
|
};
|
|
32
|
-
let dirContent;
|
|
33
26
|
try {
|
|
34
|
-
dirContent = fs_extra_1.default.
|
|
27
|
+
let dirContent = await fs_extra_1.default.readdir(componentsDir);
|
|
35
28
|
if (componentsToRun) {
|
|
36
29
|
dirContent = dirContent.filter(content => componentsToRun.includes(content));
|
|
37
30
|
}
|
|
31
|
+
const components = dirContent
|
|
32
|
+
.filter(isOcComponent)
|
|
33
|
+
.map(component => path_1.default.resolve(componentsDir, component));
|
|
34
|
+
return components;
|
|
38
35
|
}
|
|
39
36
|
catch (err) {
|
|
40
|
-
return
|
|
37
|
+
return [];
|
|
41
38
|
}
|
|
42
|
-
const components = dirContent
|
|
43
|
-
.filter(isOcComponent)
|
|
44
|
-
.map(component => path_1.default.resolve(componentsDir, component));
|
|
45
|
-
callback(null, components);
|
|
46
39
|
};
|
|
47
40
|
}
|
|
48
41
|
exports.default = getComponentsByDir;
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
9
8
|
const settings_1 = __importDefault(require("../../resources/settings"));
|
|
10
9
|
const resources_1 = __importDefault(require("../../resources/"));
|
|
11
10
|
const isMockValid = (plugin) => {
|
|
@@ -19,7 +18,7 @@ const isMockValid = (plugin) => {
|
|
|
19
18
|
const defaultRegister = (_options, _dependencies, next) => {
|
|
20
19
|
next();
|
|
21
20
|
};
|
|
22
|
-
const registerStaticMocks = (mocks, logger) =>
|
|
21
|
+
const registerStaticMocks = (mocks, logger) => Object.entries(mocks).map(([pluginName, mockedValue]) => {
|
|
23
22
|
logger.ok(`├── ${pluginName} () => ${mockedValue}`);
|
|
24
23
|
return {
|
|
25
24
|
name: pluginName,
|
|
@@ -29,7 +28,8 @@ const registerStaticMocks = (mocks, logger) => lodash_1.default.map(mocks, (mock
|
|
|
29
28
|
}
|
|
30
29
|
};
|
|
31
30
|
});
|
|
32
|
-
const registerDynamicMocks = (ocJsonLocation, mocks, logger) =>
|
|
31
|
+
const registerDynamicMocks = (ocJsonLocation, mocks, logger) => Object.entries(mocks)
|
|
32
|
+
.map(([pluginName, source]) => {
|
|
33
33
|
let pluginMock;
|
|
34
34
|
try {
|
|
35
35
|
pluginMock = require(path_1.default.resolve(ocJsonLocation, source));
|
|
@@ -50,7 +50,8 @@ const registerDynamicMocks = (ocJsonLocation, mocks, logger) => lodash_1.default
|
|
|
50
50
|
name: pluginName,
|
|
51
51
|
register: { execute, register }
|
|
52
52
|
};
|
|
53
|
-
})
|
|
53
|
+
})
|
|
54
|
+
.filter((pluginMock) => !!pluginMock);
|
|
54
55
|
const findPath = (pathToResolve, fileName) => {
|
|
55
56
|
const rootDir = fs_extra_1.default.realpathSync('.');
|
|
56
57
|
const fileToResolve = path_1.default.join(pathToResolve, fileName);
|
|
@@ -67,6 +68,7 @@ const findPath = (pathToResolve, fileName) => {
|
|
|
67
68
|
return fileToResolve;
|
|
68
69
|
};
|
|
69
70
|
function getMockedPlugins(logger, componentsDir) {
|
|
71
|
+
var _a, _b;
|
|
70
72
|
componentsDir = path_1.default.resolve(componentsDir || '.');
|
|
71
73
|
let plugins = [];
|
|
72
74
|
const ocJsonFileName = settings_1.default.configFile.src.replace('./', '');
|
|
@@ -80,8 +82,8 @@ function getMockedPlugins(logger, componentsDir) {
|
|
|
80
82
|
return plugins;
|
|
81
83
|
}
|
|
82
84
|
logger.warn(resources_1.default.messages.cli.REGISTERING_MOCKED_PLUGINS);
|
|
83
|
-
plugins = plugins.concat(registerStaticMocks(content.mocks.plugins.static, logger));
|
|
84
|
-
plugins = plugins.concat(registerDynamicMocks(ocJsonLocation, content.mocks.plugins.dynamic, logger));
|
|
85
|
+
plugins = plugins.concat(registerStaticMocks((_a = content.mocks.plugins.static) !== null && _a !== void 0 ? _a : {}, logger));
|
|
86
|
+
plugins = plugins.concat(registerDynamicMocks(ocJsonLocation, (_b = content.mocks.plugins.dynamic) !== null && _b !== void 0 ? _b : {}, logger));
|
|
85
87
|
return plugins;
|
|
86
88
|
}
|
|
87
89
|
exports.default = getMockedPlugins;
|
|
@@ -4,14 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const resources_1 = __importDefault(require("../../../resources"));
|
|
7
|
-
function ensureCompilerIsDeclaredAsDevDependency(options
|
|
7
|
+
function ensureCompilerIsDeclaredAsDevDependency(options) {
|
|
8
8
|
var _a;
|
|
9
9
|
const { componentPath, pkg, template } = options;
|
|
10
10
|
const compilerDep = `${template}-compiler`;
|
|
11
11
|
const isOk = (_a = pkg.devDependencies) === null || _a === void 0 ? void 0 : _a[compilerDep];
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
cb(err, compilerDep);
|
|
12
|
+
if (!isOk)
|
|
13
|
+
throw resources_1.default.errors.cli.TEMPLATE_DEP_MISSING(template, componentPath);
|
|
14
|
+
return compilerDep;
|
|
16
15
|
}
|
|
17
16
|
exports.default = ensureCompilerIsDeclaredAsDevDependency;
|
|
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const path_1 = __importDefault(require("path"));
|
|
7
7
|
const clean_require_1 = __importDefault(require("../../../utils/clean-require"));
|
|
8
8
|
const install_compiler_1 = __importDefault(require("./install-compiler"));
|
|
9
|
-
function getCompiler(options
|
|
9
|
+
function getCompiler(options) {
|
|
10
10
|
const { compilerDep, componentPath, logger, pkg } = options;
|
|
11
11
|
const compilerPath = path_1.default.join(componentPath, 'node_modules', compilerDep);
|
|
12
12
|
const compiler = (0, clean_require_1.default)(compilerPath, { justTry: true });
|
|
13
13
|
if (compiler) {
|
|
14
|
-
return
|
|
14
|
+
return Promise.resolve(compiler);
|
|
15
15
|
}
|
|
16
16
|
let dependency = compilerDep;
|
|
17
17
|
if (pkg.devDependencies[compilerDep]) {
|
|
@@ -23,6 +23,6 @@ function getCompiler(options, cb) {
|
|
|
23
23
|
dependency,
|
|
24
24
|
logger
|
|
25
25
|
};
|
|
26
|
-
(0, install_compiler_1.default)(installOptions
|
|
26
|
+
return (0, install_compiler_1.default)(installOptions);
|
|
27
27
|
}
|
|
28
28
|
exports.default = getCompiler;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Logger } from '../../logger';
|
|
2
|
+
import { Template } from '../../../types';
|
|
2
3
|
export default function handleDependencies(options: {
|
|
3
4
|
components: string[];
|
|
4
5
|
logger: Logger;
|
|
5
6
|
useComponentDependencies?: boolean;
|
|
6
|
-
}
|
|
7
|
+
}): Promise<{
|
|
7
8
|
modules: string[];
|
|
8
|
-
templates: Array<
|
|
9
|
-
}
|
|
9
|
+
templates: Array<Template>;
|
|
10
|
+
}>;
|
|
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const async_1 = __importDefault(require("async"));
|
|
7
6
|
const builtin_modules_1 = __importDefault(require("builtin-modules"));
|
|
8
7
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
8
|
const path_1 = __importDefault(require("path"));
|
|
@@ -13,11 +12,11 @@ const install_missing_dependencies_1 = __importDefault(require("./install-missin
|
|
|
13
12
|
const link_missing_dependencies_1 = __importDefault(require("./link-missing-dependencies"));
|
|
14
13
|
const is_template_legacy_1 = __importDefault(require("../../../utils/is-template-legacy"));
|
|
15
14
|
const resources_1 = __importDefault(require("../../../resources"));
|
|
16
|
-
const getComponentPackageJson = (componentPath
|
|
15
|
+
const getComponentPackageJson = (componentPath) => fs_extra_1.default.readJson(path_1.default.join(componentPath, 'package.json'));
|
|
17
16
|
const union = (a, b) => [
|
|
18
17
|
...new Set([...a, ...b])
|
|
19
18
|
];
|
|
20
|
-
function handleDependencies(options
|
|
19
|
+
async function handleDependencies(options) {
|
|
21
20
|
const { components, logger, useComponentDependencies } = options;
|
|
22
21
|
const dependencies = {};
|
|
23
22
|
const addDependencies = (componentDependencies) => Object.entries(componentDependencies || {}).forEach(([dependency, version]) => {
|
|
@@ -27,38 +26,45 @@ function handleDependencies(options, callback) {
|
|
|
27
26
|
const addTemplate = (templateName, template) => {
|
|
28
27
|
templates[templateName] = template;
|
|
29
28
|
};
|
|
30
|
-
const setupComponentDependencies = (componentPath
|
|
31
|
-
|
|
32
|
-
(pkg
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return done();
|
|
37
|
-
}
|
|
38
|
-
cb(null, { componentPath, logger, pkg, template });
|
|
39
|
-
},
|
|
40
|
-
(options, cb) => (0, ensure_compiler_is_declared_as_devDependency_1.default)(options, (err, compilerDep) => cb(err, Object.assign(options, { compilerDep }))),
|
|
41
|
-
(options, cb) => (0, get_compiler_1.default)(options, (err, compiler) => cb(err, Object.assign(options, { compiler }))),
|
|
42
|
-
(options, cb) => {
|
|
43
|
-
const { compiler, template } = options;
|
|
44
|
-
addTemplate(template, compiler);
|
|
45
|
-
cb();
|
|
29
|
+
const setupComponentDependencies = async (componentPath) => {
|
|
30
|
+
const pkg = await getComponentPackageJson(componentPath);
|
|
31
|
+
addDependencies(pkg.dependencies);
|
|
32
|
+
const template = pkg.oc.files.template.type;
|
|
33
|
+
if ((0, is_template_legacy_1.default)(template)) {
|
|
34
|
+
return;
|
|
46
35
|
}
|
|
47
|
-
|
|
36
|
+
const compilerDep = (0, ensure_compiler_is_declared_as_devDependency_1.default)({
|
|
37
|
+
componentPath,
|
|
38
|
+
pkg,
|
|
39
|
+
template
|
|
40
|
+
});
|
|
41
|
+
Object.assign(options, { compilerDep });
|
|
42
|
+
const compiler = await (0, get_compiler_1.default)({
|
|
43
|
+
compilerDep,
|
|
44
|
+
componentPath,
|
|
45
|
+
logger,
|
|
46
|
+
pkg: pkg
|
|
47
|
+
});
|
|
48
|
+
Object.assign(options, { compiler });
|
|
49
|
+
addTemplate(template, compiler);
|
|
50
|
+
};
|
|
48
51
|
logger.warn(resources_1.default.messages.cli.CHECKING_DEPENDENCIES);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
52
|
+
for (const component of components) {
|
|
53
|
+
await setupComponentDependencies(component);
|
|
54
|
+
}
|
|
55
|
+
const result = {
|
|
56
|
+
modules: union(builtin_modules_1.default, Object.keys(dependencies)).sort(),
|
|
57
|
+
templates: Object.values(templates)
|
|
58
|
+
};
|
|
59
|
+
if (useComponentDependencies) {
|
|
60
|
+
(0, link_missing_dependencies_1.default)({
|
|
61
|
+
componentPath: components[0],
|
|
62
|
+
dependencies,
|
|
63
|
+
logger
|
|
64
|
+
});
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
await (0, install_missing_dependencies_1.default)({ dependencies, logger });
|
|
68
|
+
return result;
|
|
63
69
|
}
|
|
64
70
|
exports.default = handleDependencies;
|
|
@@ -26,7 +26,7 @@ const clean_require_1 = __importDefault(require("../../../utils/clean-require"))
|
|
|
26
26
|
const is_template_valid_1 = __importDefault(require("../../../utils/is-template-valid"));
|
|
27
27
|
const npm = __importStar(require("../../../utils/npm-utils"));
|
|
28
28
|
const index_1 = __importDefault(require("../../../resources/index"));
|
|
29
|
-
function installCompiler(options
|
|
29
|
+
async function installCompiler(options) {
|
|
30
30
|
const { compilerPath, componentPath, dependency, logger } = options;
|
|
31
31
|
logger.warn(index_1.default.messages.cli.INSTALLING_DEPS(dependency, componentPath));
|
|
32
32
|
const npmOptions = {
|
|
@@ -36,12 +36,19 @@ function installCompiler(options, cb) {
|
|
|
36
36
|
silent: true,
|
|
37
37
|
usePrefix: false
|
|
38
38
|
};
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
const errorMsg = 'There was a problem while installing the compiler';
|
|
40
|
+
try {
|
|
41
|
+
await npm.installDependency(npmOptions);
|
|
42
|
+
logger.ok('OK');
|
|
41
43
|
const compiler = (0, clean_require_1.default)(compilerPath, { justTry: true });
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
if (!(0, is_template_valid_1.default)(compiler)) {
|
|
45
|
+
throw errorMsg;
|
|
46
|
+
}
|
|
47
|
+
return compiler;
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
logger.err('FAIL');
|
|
51
|
+
throw errorMsg;
|
|
52
|
+
}
|
|
46
53
|
}
|
|
47
54
|
exports.default = installCompiler;
|
|
@@ -26,11 +26,11 @@ const path_1 = __importDefault(require("path"));
|
|
|
26
26
|
const get_missing_dependencies_1 = __importDefault(require("./get-missing-dependencies"));
|
|
27
27
|
const npm = __importStar(require("../../../utils/npm-utils"));
|
|
28
28
|
const index_1 = __importDefault(require("../../../resources/index"));
|
|
29
|
-
function installMissingDependencies(options
|
|
29
|
+
async function installMissingDependencies(options) {
|
|
30
30
|
const { dependencies, logger } = options;
|
|
31
31
|
const missing = (0, get_missing_dependencies_1.default)(dependencies);
|
|
32
32
|
if (!missing.length) {
|
|
33
|
-
return
|
|
33
|
+
return;
|
|
34
34
|
}
|
|
35
35
|
const installPath = path_1.default.resolve('.');
|
|
36
36
|
logger.warn(index_1.default.messages.cli.INSTALLING_DEPS(missing.join(', '), installPath));
|
|
@@ -41,15 +41,19 @@ function installMissingDependencies(options, callback) {
|
|
|
41
41
|
silent: false,
|
|
42
42
|
usePrefix: true
|
|
43
43
|
};
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
try {
|
|
45
|
+
await npm.installDependencies(npmOptions);
|
|
46
|
+
if ((0, get_missing_dependencies_1.default)(dependencies).length) {
|
|
46
47
|
logger.err('FAIL');
|
|
47
|
-
|
|
48
|
-
logger.err(`${err}`);
|
|
49
|
-
return callback(index_1.default.errors.cli.DEPENDENCIES_INSTALL_FAIL);
|
|
48
|
+
throw index_1.default.errors.cli.DEPENDENCIES_INSTALL_FAIL;
|
|
50
49
|
}
|
|
51
50
|
logger.ok('OK');
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
}
|
|
52
|
+
catch (err) {
|
|
53
|
+
logger.err('FAIL');
|
|
54
|
+
if (err)
|
|
55
|
+
logger.err(String(err));
|
|
56
|
+
throw index_1.default.errors.cli.DEPENDENCIES_INSTALL_FAIL;
|
|
57
|
+
}
|
|
54
58
|
}
|
|
55
59
|
exports.default = installMissingDependencies;
|
|
@@ -8,29 +8,25 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
8
8
|
const get_missing_dependencies_1 = __importDefault(require("./get-missing-dependencies"));
|
|
9
9
|
const index_1 = __importDefault(require("../../../resources/index"));
|
|
10
10
|
const strip_version_1 = __importDefault(require("../../../utils/strip-version"));
|
|
11
|
-
function linkMissingDependencies(options
|
|
11
|
+
async function linkMissingDependencies(options) {
|
|
12
12
|
const { componentPath, dependencies, logger } = options;
|
|
13
13
|
const missingDependencies = (0, get_missing_dependencies_1.default)(dependencies);
|
|
14
14
|
if (!missingDependencies.length) {
|
|
15
|
-
return
|
|
15
|
+
return;
|
|
16
16
|
}
|
|
17
17
|
logger.warn(index_1.default.messages.cli.LINKING_DEPENDENCIES(missingDependencies.join(', ')), true);
|
|
18
18
|
const symLinkType = 'dir';
|
|
19
|
-
let symLinkError = false;
|
|
20
19
|
for (const dependency of missingDependencies) {
|
|
21
20
|
const moduleName = (0, strip_version_1.default)(dependency);
|
|
22
21
|
const pathToComponentModule = path_1.default.resolve(componentPath, 'node_modules', moduleName);
|
|
23
22
|
const pathToModule = path_1.default.resolve('.', 'node_modules', moduleName);
|
|
24
23
|
try {
|
|
25
|
-
fs_extra_1.default.
|
|
24
|
+
await fs_extra_1.default.ensureSymlink(pathToComponentModule, pathToModule, symLinkType);
|
|
26
25
|
}
|
|
27
26
|
catch (err) {
|
|
28
|
-
symLinkError = true;
|
|
29
27
|
logger.err(index_1.default.errors.cli.DEPENDENCY_LINK_FAIL(moduleName, String(err)));
|
|
28
|
+
throw index_1.default.errors.cli.DEPENDENCIES_LINK_FAIL;
|
|
30
29
|
}
|
|
31
30
|
}
|
|
32
|
-
return !symLinkError
|
|
33
|
-
? callback(null)
|
|
34
|
-
: callback(index_1.default.errors.cli.DEPENDENCIES_LINK_FAIL);
|
|
35
31
|
}
|
|
36
32
|
exports.default = linkMissingDependencies;
|
|
@@ -22,21 +22,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
const async_1 = __importDefault(require("async"));
|
|
26
25
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
27
26
|
const path_1 = __importDefault(require("path"));
|
|
28
27
|
const install_template_1 = __importDefault(require("./install-template"));
|
|
29
28
|
const npm = __importStar(require("../../../utils/npm-utils"));
|
|
30
29
|
const scaffold_1 = __importDefault(require("./scaffold"));
|
|
31
|
-
function initTemplate(options
|
|
30
|
+
async function initTemplate(options) {
|
|
32
31
|
const { compiler, componentPath } = options;
|
|
33
32
|
const compilerPath = path_1.default.join(componentPath, 'node_modules', compiler);
|
|
34
33
|
const npmOptions = { initPath: componentPath, silent: true };
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
], callback);
|
|
34
|
+
await fs_extra_1.default.ensureDir(componentPath);
|
|
35
|
+
await npm.init(npmOptions);
|
|
36
|
+
await (0, install_template_1.default)(options);
|
|
37
|
+
await (0, scaffold_1.default)(Object.assign(options, { compilerPath }));
|
|
38
|
+
return { ok: true };
|
|
41
39
|
}
|
|
42
40
|
exports.default = initTemplate;
|
|
@@ -5,7 +5,7 @@ interface Options {
|
|
|
5
5
|
compiler: string;
|
|
6
6
|
logger: Logger;
|
|
7
7
|
}
|
|
8
|
-
export default function installTemplate(options: Options
|
|
8
|
+
export default function installTemplate(options: Options): Promise<{
|
|
9
9
|
ok: true;
|
|
10
|
-
}
|
|
10
|
+
}>;
|
|
11
11
|
export {};
|
|
@@ -26,8 +26,9 @@ const try_require_1 = __importDefault(require("try-require"));
|
|
|
26
26
|
const is_template_valid_1 = __importDefault(require("../../../utils/is-template-valid"));
|
|
27
27
|
const npm = __importStar(require("../../../utils/npm-utils"));
|
|
28
28
|
const resources_1 = __importDefault(require("../../../resources"));
|
|
29
|
-
function installTemplate(options
|
|
29
|
+
async function installTemplate(options) {
|
|
30
30
|
const { compiler, componentPath, logger, templateType } = options;
|
|
31
|
+
const errorMessage = 'template type not valid';
|
|
31
32
|
const npmOptions = {
|
|
32
33
|
dependency: compiler,
|
|
33
34
|
installPath: componentPath,
|
|
@@ -36,18 +37,18 @@ function installTemplate(options, callback) {
|
|
|
36
37
|
usePrefix: false
|
|
37
38
|
};
|
|
38
39
|
logger.log(resources_1.default.messages.cli.installCompiler(compiler));
|
|
39
|
-
|
|
40
|
-
const
|
|
41
|
-
if (err) {
|
|
42
|
-
return callback(errorMessage, undefined);
|
|
43
|
-
}
|
|
40
|
+
try {
|
|
41
|
+
const result = await npm.installDependency(npmOptions);
|
|
44
42
|
const installedCompiler = (0, try_require_1.default)(result.dest);
|
|
45
43
|
if (!(0, is_template_valid_1.default)(installedCompiler, { compiler: true })) {
|
|
46
|
-
|
|
44
|
+
throw errorMessage;
|
|
47
45
|
}
|
|
48
46
|
const version = installedCompiler.getInfo().version;
|
|
49
47
|
logger.log(resources_1.default.messages.cli.installCompilerSuccess(templateType, compiler, version));
|
|
50
|
-
return
|
|
51
|
-
}
|
|
48
|
+
return { ok: true };
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
throw errorMessage;
|
|
52
|
+
}
|
|
52
53
|
}
|
|
53
54
|
exports.default = installTemplate;
|
|
@@ -5,7 +5,7 @@ interface ScaffoldOptions {
|
|
|
5
5
|
componentPath: string;
|
|
6
6
|
templateType: string;
|
|
7
7
|
}
|
|
8
|
-
export default function scaffold(options: ScaffoldOptions
|
|
8
|
+
export default function scaffold(options: ScaffoldOptions): Promise<{
|
|
9
9
|
ok: true;
|
|
10
|
-
}
|
|
10
|
+
}>;
|
|
11
11
|
export {};
|