@rxap/preset-angular 19.0.1-dev.1 → 19.0.1-dev.2
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 +6 -0
- package/GUIDES.md +1 -1
- package/generators.json +5 -0
- package/package.json +4 -4
- package/src/generators/init/generator.d.ts +4 -0
- package/src/generators/init/generator.js +106 -0
- package/src/generators/init/generator.js.map +1 -0
- package/src/generators/init/schema.d.ts +2 -0
- package/src/generators/init/schema.json +8 -0
- package/src/generators/preset/generator.js +2 -0
- package/src/generators/preset/generator.js.map +1 -1
- package/src/generators/preset/schema.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [19.0.1-dev.2](https://gitlab.com/rxap/packages/compare/@rxap/preset-angular@19.0.1-dev.1...@rxap/preset-angular@19.0.1-dev.2) (2024-06-21)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- run the install task after preset generators ([6eb50fa](https://gitlab.com/rxap/packages/commit/6eb50fabc21d7b0bc403b5bc6bed7331bcedeb7c))
|
|
11
|
+
|
|
6
12
|
## [19.0.1-dev.1](https://gitlab.com/rxap/packages/compare/@rxap/preset-angular@19.0.1-dev.0...@rxap/preset-angular@19.0.1-dev.1) (2024-06-20)
|
|
7
13
|
|
|
8
14
|
**Note:** Version bump only for package @rxap/preset-angular
|
package/GUIDES.md
CHANGED
|
@@ -4,7 +4,7 @@ To create a new workspace, run the following command:
|
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
WORKSPACE_NAME=my-workspace
|
|
7
|
-
yarn create nx-workspace
|
|
7
|
+
yarn create nx-workspace --preset @rxap/preset-angular --pm yarn --name $WORKSPACE_NAME
|
|
8
8
|
```
|
|
9
9
|
|
|
10
10
|
Navigate to the newly created workspace and run the yarn install command:
|
package/generators.json
CHANGED
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
"schema": "./src/generators/preset/schema.json",
|
|
6
6
|
"description": "preset generator",
|
|
7
7
|
"x-use-standalone-layout": true
|
|
8
|
+
},
|
|
9
|
+
"init": {
|
|
10
|
+
"factory": "./src/generators/init/generator",
|
|
11
|
+
"schema": "./src/generators/init/schema.json",
|
|
12
|
+
"description": "Initialize the package in the workspace"
|
|
8
13
|
}
|
|
9
14
|
}
|
|
10
15
|
}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "19.0.1-dev.
|
|
2
|
+
"version": "19.0.1-dev.2",
|
|
3
3
|
"name": "@rxap/preset-angular",
|
|
4
4
|
"license": "GPL-3.0-or-later",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@nx/devkit": "19.3.0",
|
|
7
|
-
"@rxap/plugin-angular": "^19.2.0-dev.
|
|
8
|
-
"@rxap/plugin-workspace": "^19.1.1-dev.
|
|
7
|
+
"@rxap/plugin-angular": "^19.2.0-dev.1",
|
|
8
|
+
"@rxap/plugin-workspace": "^19.1.1-dev.2",
|
|
9
9
|
"tslib": "2.6.2"
|
|
10
10
|
},
|
|
11
11
|
"author": {
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
},
|
|
40
40
|
"type": "commonjs",
|
|
41
41
|
"typings": "./src/index.d.ts",
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "bbecc3ca89ac11dedf7969bed08705f22dfaa186"
|
|
43
43
|
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const devkit_1 = require("@nx/devkit");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
function initGenerator(tree, options) {
|
|
8
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
9
|
+
var _a, _b, _c, _d, _e;
|
|
10
|
+
const packageJsonFilePath = (0, path_1.relative)(tree.root, (0, path_1.join)(__dirname, '..', '..', '..', 'package.json'));
|
|
11
|
+
if (!tree.exists(packageJsonFilePath)) {
|
|
12
|
+
console.error('package.json not found in: ' + packageJsonFilePath);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const { peerDependencies, name: packageName } = JSON.parse(tree.read(packageJsonFilePath, 'utf-8'));
|
|
16
|
+
console.log(`Coerce peer dependencies for package: ${packageName}`);
|
|
17
|
+
if (!peerDependencies || !Object.keys(peerDependencies).length) {
|
|
18
|
+
console.log('No peer dependencies found');
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
console.log(`Peer dependencies: ${Object.keys(peerDependencies).join(', ')}`);
|
|
22
|
+
const rootPackageJson = JSON.parse(tree.read('package.json', 'utf-8'));
|
|
23
|
+
let isDevDependency = !!((_a = rootPackageJson.devDependencies) === null || _a === void 0 ? void 0 : _a[packageName]);
|
|
24
|
+
if (isDevDependency &&
|
|
25
|
+
[/^@rxap\/ngx/, /^@rxap\/nest/].some((rx) => rx.test(packageName))) {
|
|
26
|
+
(_b = rootPackageJson.dependencies) !== null && _b !== void 0 ? _b : (rootPackageJson.dependencies = {});
|
|
27
|
+
rootPackageJson.dependencies[packageName] =
|
|
28
|
+
rootPackageJson.devDependencies[packageName];
|
|
29
|
+
delete rootPackageJson.devDependencies[packageName];
|
|
30
|
+
isDevDependency = false;
|
|
31
|
+
tree.write('package.json', JSON.stringify(rootPackageJson, null, 2));
|
|
32
|
+
}
|
|
33
|
+
if (!isDevDependency && [
|
|
34
|
+
/^@rxap\/plugin/,
|
|
35
|
+
/^@rxap\/workspace/,
|
|
36
|
+
/@rxap\/schematic/,
|
|
37
|
+
]) {
|
|
38
|
+
(_c = rootPackageJson.devDependencies) !== null && _c !== void 0 ? _c : (rootPackageJson.devDependencies = {});
|
|
39
|
+
rootPackageJson.devDependencies[packageName] =
|
|
40
|
+
rootPackageJson.dependencies[packageName];
|
|
41
|
+
delete rootPackageJson.dependencies[packageName];
|
|
42
|
+
isDevDependency = true;
|
|
43
|
+
tree.write('package.json', JSON.stringify(rootPackageJson, null, 2));
|
|
44
|
+
}
|
|
45
|
+
const missingPeerDependencies = Object.entries(peerDependencies)
|
|
46
|
+
.filter(([dep]) => {
|
|
47
|
+
var _a, _b;
|
|
48
|
+
return !((_a = rootPackageJson.dependencies) === null || _a === void 0 ? void 0 : _a[dep]) &&
|
|
49
|
+
!((_b = rootPackageJson.devDependencies) === null || _b === void 0 ? void 0 : _b[dep]);
|
|
50
|
+
})
|
|
51
|
+
.reduce((acc, [dep, version]) => (Object.assign(Object.assign({}, acc), { [dep]: version })), {});
|
|
52
|
+
if (!Object.keys(missingPeerDependencies).length) {
|
|
53
|
+
console.log('No missing peer dependencies');
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (isDevDependency) {
|
|
57
|
+
(0, devkit_1.addDependenciesToPackageJson)(tree, {}, missingPeerDependencies);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
(0, devkit_1.addDependenciesToPackageJson)(tree, missingPeerDependencies, {});
|
|
61
|
+
}
|
|
62
|
+
yield (0, devkit_1.formatFiles)(tree);
|
|
63
|
+
(0, devkit_1.installPackagesTask)(tree);
|
|
64
|
+
for (const peer of Object.keys(missingPeerDependencies)) {
|
|
65
|
+
console.log(`Peer dependency ${peer} added to package.json`);
|
|
66
|
+
const peerPackageJsonFilePath = (0, path_1.join)('node_modules', ...peer.split('/'), 'package.json');
|
|
67
|
+
if (!tree.exists(peerPackageJsonFilePath)) {
|
|
68
|
+
console.log(`Peer dependency ${peer} has no package.json`);
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const { generators, schematics } = JSON.parse(tree.read(peerPackageJsonFilePath, 'utf-8'));
|
|
72
|
+
if (!generators && !schematics) {
|
|
73
|
+
console.log(`Peer dependency ${peer} has no generators or schematics`);
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
const configFile = generators || schematics;
|
|
77
|
+
if (!tree.exists((0, path_1.join)('node_modules', ...peer.split('/'), configFile))) {
|
|
78
|
+
console.log(`Peer dependency ${peer} has no generators or schematics file`);
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
const config = JSON.parse(tree.read((0, path_1.join)('node_modules', ...peer.split('/'), configFile), 'utf-8'));
|
|
82
|
+
if (!((_d = config.generators) === null || _d === void 0 ? void 0 : _d.init)) {
|
|
83
|
+
console.log(`Peer dependency ${peer} has no init generator`);
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
const initGeneratorFilePath = config.generators.init.factory;
|
|
87
|
+
const fullInitGeneratorFilePath = (0, path_1.join)('node_modules', ...peer.split('/'), initGeneratorFilePath) + '.js';
|
|
88
|
+
if (!tree.exists(fullInitGeneratorFilePath)) {
|
|
89
|
+
console.log(`Peer dependency ${peer} has no init generator file: ` +
|
|
90
|
+
fullInitGeneratorFilePath);
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
94
|
+
const initGenerator = (_e = require((0, path_1.join)('node_modules', ...peer.split('/'), initGeneratorFilePath))) === null || _e === void 0 ? void 0 : _e.default;
|
|
95
|
+
if (typeof initGenerator !== 'function') {
|
|
96
|
+
console.log(`Peer dependency ${peer} has no init generator function`);
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
console.log(`Run init generator for peer dependency ${peer}`);
|
|
100
|
+
yield initGenerator(tree, options);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
exports.initGenerator = initGenerator;
|
|
105
|
+
exports.default = initGenerator;
|
|
106
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/preset/angular/src/generators/init/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.presetGenerator = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
6
|
const plugin_angular_1 = require("@rxap/plugin-angular");
|
|
6
7
|
const plugin_workspace_1 = require("@rxap/plugin-workspace");
|
|
7
8
|
function presetGenerator(tree, options) {
|
|
@@ -18,6 +19,7 @@ function presetGenerator(tree, options) {
|
|
|
18
19
|
prefix,
|
|
19
20
|
overwrite: true,
|
|
20
21
|
});
|
|
22
|
+
(0, devkit_1.installPackagesTask)(tree, true);
|
|
21
23
|
});
|
|
22
24
|
}
|
|
23
25
|
exports.presetGenerator = presetGenerator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/preset/angular/src/generators/preset/generator.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/preset/angular/src/generators/preset/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAGoB;AACpB,yDAA4D;AAC5D,6DAAgE;AAGhE,SAAsB,eAAe,CACnC,IAAU,EACV,OAA8B;;QAE9B,MAAM,EACJ,QAAQ,EACR,UAAU,EACV,OAAO,EACP,aAAa,EACb,MAAM,GACP,GAAG,OAAO,CAAC;QACZ,MAAM,IAAA,yCAAsB,EAAC,IAAI,EAAE;YACjC,QAAQ;YACR,UAAU;YACV,OAAO;YACP,aAAa;YACb,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,IAAA,qCAAoB,EAAC,IAAI,EAAE;YAC/B,MAAM;YACN,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,IAAA,4BAAmB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;CAAA;AAxBD,0CAwBC;AAED,kBAAe,eAAe,CAAC"}
|