@unisphere/nx 1.20.0 → 1.21.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/dist/generators/add-application/add-application.d.ts.map +1 -1
- package/dist/generators/add-application/add-application.js +3 -1
- package/dist/generators/add-application/templates/local-dev-playground/src/app/app.tsx.template +1 -1
- package/dist/generators/add-package/add-package.d.ts.map +1 -1
- package/dist/generators/add-package/add-package.js +5 -0
- package/dist/generators/add-package/templates/new-package/{tsconfig.lib.json → tsconfig.lib.json.template} +4 -4
- package/dist/generators/add-runtime/add-runtime.d.ts.map +1 -1
- package/dist/generators/add-runtime/add-runtime.js +27 -22
- package/dist/generators/add-runtime/schema.d.ts +1 -1
- package/dist/generators/add-runtime/schema.json +3 -3
- package/dist/generators/add-runtime/templates/new-runtime/src/lib/runtime.tsx.template +2 -6
- package/dist/generators/add-visual/add-visual.d.ts.map +1 -1
- package/dist/generators/add-visual/add-visual.js +19 -18
- package/dist/generators/dependency-config.d.ts.map +1 -1
- package/dist/generators/dependency-config.js +32 -2
- package/dist/generators/utils.d.ts +18 -0
- package/dist/generators/utils.d.ts.map +1 -1
- package/dist/generators/utils.js +48 -0
- package/dist/migrations.json +14 -14
- package/migrations.json +14 -14
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-application.d.ts","sourceRoot":"","sources":["../../../src/generators/add-application/add-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,IAAI,EAAiB,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AA0EzD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,6BAA6B,
|
|
1
|
+
{"version":3,"file":"add-application.d.ts","sourceRoot":"","sources":["../../../src/generators/add-application/add-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,IAAI,EAAiB,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AA0EzD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,6BAA6B,uBAgIvC;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -84,6 +84,8 @@ async function addApplicationGenerator(tree, options) {
|
|
|
84
84
|
// Prepare template variables
|
|
85
85
|
const hasDs = selectedDependencies.includes('ds');
|
|
86
86
|
const hasMui = selectedDependencies.includes('mui') || hasDs;
|
|
87
|
+
// Find types package (or fallback to core)
|
|
88
|
+
const typesPackageInfo = (0, utils_1.findTypesOrCorePackageInfo)(tree);
|
|
87
89
|
const templateVariables = {
|
|
88
90
|
htmlPageTitle: options.servingType === 'local-dev-playground'
|
|
89
91
|
? `${options.runtimeName || 'Runtime'} - Local Dev Application`
|
|
@@ -95,7 +97,7 @@ async function addApplicationGenerator(tree, options) {
|
|
|
95
97
|
...(0, utils_1.createNameTransforms)(widgetName, 'widgetName'),
|
|
96
98
|
...(0, utils_1.createNameTransforms)(options.runtimeName || 'runtime', 'runtimeName'),
|
|
97
99
|
tmpl: '',
|
|
98
|
-
|
|
100
|
+
typesAlias: typesPackageInfo.alias,
|
|
99
101
|
};
|
|
100
102
|
const projectRoot = `unisphere/applications/${userInputApplicationName}`;
|
|
101
103
|
// Check if the application already exists
|
package/dist/generators/add-application/templates/local-dev-playground/src/app/app.tsx.template
CHANGED
|
@@ -8,7 +8,7 @@ import { ConfigurationProvider } from './configuration-provider';
|
|
|
8
8
|
import { UnisphereProvider, UnisphereRuntimeVisual } from '@unisphere/runtime-react';
|
|
9
9
|
import { UnisphereWorkspaceConfig } from '@unisphere/runtime';
|
|
10
10
|
import { UnisphereWorkspaceType } from '@unisphere/runtime';
|
|
11
|
-
import { <%= runtimeName__pascalCase %>Runtime } from '<%=
|
|
11
|
+
import { <%= runtimeName__pascalCase %>Runtime } from '<%= typesAlias %>';
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
const Hihi: React.FC = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-package.d.ts","sourceRoot":"","sources":["../../../src/generators/add-package/add-package.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,IAAI,EAA2B,MAAM,YAAY,CAAC;AAEvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAyJrD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,yBAAyB,
|
|
1
|
+
{"version":3,"file":"add-package.d.ts","sourceRoot":"","sources":["../../../src/generators/add-package/add-package.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,IAAI,EAA2B,MAAM,YAAY,CAAC;AAEvF,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAyJrD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,yBAAyB,uBAgInC;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -159,6 +159,9 @@ async function addPackageGenerator(tree, options) {
|
|
|
159
159
|
const githubUrl = `https://github.com/${companyName}/${experienceName}`;
|
|
160
160
|
// Resolve @unisphere/runtime version from workspace package.json
|
|
161
161
|
const unisphereRuntimeVersion = resolveUnisphereRuntimeVersion(tree);
|
|
162
|
+
// Determine which dependencies are selected
|
|
163
|
+
const hasDs = selectedDependencies.includes('ds');
|
|
164
|
+
const hasReact = selectedDependencies.includes('react') || hasDs;
|
|
162
165
|
// Prepare template variables
|
|
163
166
|
const templateVariables = {
|
|
164
167
|
scope: options.scope,
|
|
@@ -167,6 +170,8 @@ async function addPackageGenerator(tree, options) {
|
|
|
167
170
|
githubUrl,
|
|
168
171
|
companyName,
|
|
169
172
|
unisphereRuntimeVersion,
|
|
173
|
+
hasDs,
|
|
174
|
+
hasReact,
|
|
170
175
|
...(0, utils_1.createNameTransforms)(userInputPackageName, 'packageName'),
|
|
171
176
|
...(0, utils_1.createNameTransforms)(experienceName, 'experienceName'),
|
|
172
177
|
...(0, utils_1.createNameTransforms)(packageJsonName, 'packageJsonName'),
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
"compilerOptions": {
|
|
4
4
|
"outDir": "../../../dist/out-tsc",
|
|
5
5
|
"types": [
|
|
6
|
-
"node"
|
|
7
|
-
"@kaltura/ds-react-theme/src/lib/theme.d.ts"
|
|
6
|
+
"node"<% if (hasDs) { %>,
|
|
7
|
+
"@kaltura/ds-react-theme/src/lib/theme.d.ts"<% } %><% if (hasReact) { %>,
|
|
8
8
|
"@nx/react/typings/cssmodule.d.ts",
|
|
9
|
-
"@nx/react/typings/image.d.ts"
|
|
9
|
+
"@nx/react/typings/image.d.ts"<% } %>
|
|
10
10
|
]
|
|
11
11
|
},
|
|
12
12
|
"exclude": [
|
|
@@ -19,5 +19,5 @@
|
|
|
19
19
|
"**/*.spec.jsx",
|
|
20
20
|
"**/*.test.jsx"
|
|
21
21
|
],
|
|
22
|
-
"include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"
|
|
22
|
+
"include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"]
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-runtime.d.ts","sourceRoot":"","sources":["../../../src/generators/add-runtime/add-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,IAAI,EAAiB,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AA6CrD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,yBAAyB,
|
|
1
|
+
{"version":3,"file":"add-runtime.d.ts","sourceRoot":"","sources":["../../../src/generators/add-runtime/add-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,IAAI,EAAiB,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AA6CrD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,yBAAyB,uBAwInC;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -7,14 +7,14 @@ const path = tslib_1.__importStar(require("path"));
|
|
|
7
7
|
const utils_1 = require("../utils");
|
|
8
8
|
const dependency_config_1 = require("../dependency-config");
|
|
9
9
|
const add_application_1 = require("../add-application/add-application");
|
|
10
|
-
function
|
|
11
|
-
const
|
|
12
|
-
if (!tree.exists(
|
|
13
|
-
throw new Error(`
|
|
10
|
+
function updateTypesIndexExport(tree, runtimeName, basePath) {
|
|
11
|
+
const indexPath = `${basePath}/src/index.ts`;
|
|
12
|
+
if (!tree.exists(indexPath)) {
|
|
13
|
+
throw new Error(`Index file not found at ${indexPath}`);
|
|
14
14
|
}
|
|
15
|
-
const currentContent = tree.read(
|
|
15
|
+
const currentContent = tree.read(indexPath, 'utf-8');
|
|
16
16
|
if (!currentContent) {
|
|
17
|
-
throw new Error(`Failed to read content from ${
|
|
17
|
+
throw new Error(`Failed to read content from ${indexPath}`);
|
|
18
18
|
}
|
|
19
19
|
const exportLine = `export * from './lib/${runtimeName}-runtime';`;
|
|
20
20
|
// Check if the export already exists
|
|
@@ -23,9 +23,11 @@ function updateCoreIndexExport(tree, runtimeName) {
|
|
|
23
23
|
}
|
|
24
24
|
// Add the export at the end of the file
|
|
25
25
|
const updatedContent = currentContent + '\n' + exportLine;
|
|
26
|
-
tree.write(
|
|
26
|
+
tree.write(indexPath, updatedContent);
|
|
27
27
|
}
|
|
28
28
|
async function addRuntimeGenerator(tree, options) {
|
|
29
|
+
// Normalize standalone option - Nx list prompts may return string labels instead of boolean values
|
|
30
|
+
let isStandalone = options?.standalone === 'yes' ? true : false;
|
|
29
31
|
// Validate and read .unisphere configuration
|
|
30
32
|
const unisphereConfig = (0, utils_1.validateUnisphereConfig)(tree);
|
|
31
33
|
// Validate dependencies
|
|
@@ -37,11 +39,12 @@ async function addRuntimeGenerator(tree, options) {
|
|
|
37
39
|
// Validate and correct runtime naming for React/DS dependencies
|
|
38
40
|
let userInputRuntimeName = (0, devkit_1.names)(options.name).fileName;
|
|
39
41
|
userInputRuntimeName = (0, dependency_config_1.validateReactNaming)(userInputRuntimeName, selectedDependencies);
|
|
40
|
-
|
|
42
|
+
// Find types package (or fallback to core)
|
|
43
|
+
const typesPackageInfo = (0, utils_1.findTypesOrCorePackageInfo)(tree);
|
|
41
44
|
// Prepare template variables
|
|
42
45
|
const templateVariables = {
|
|
43
46
|
companyName,
|
|
44
|
-
|
|
47
|
+
typesAlias: typesPackageInfo.alias,
|
|
45
48
|
// Add all name transformations
|
|
46
49
|
...(0, utils_1.createNameTransforms)(userInputRuntimeName, 'runtimeName'),
|
|
47
50
|
...(0, utils_1.createNameTransforms)(widgetName, 'widgetName'),
|
|
@@ -53,18 +56,19 @@ async function addRuntimeGenerator(tree, options) {
|
|
|
53
56
|
throw new Error(`Runtime "${userInputRuntimeName}" already exists at ${projectRoot}.\n` +
|
|
54
57
|
'Please choose a different runtime name or remove the existing runtime first.');
|
|
55
58
|
}
|
|
56
|
-
// Check if the
|
|
57
|
-
const
|
|
58
|
-
if (tree.exists(
|
|
59
|
-
|
|
59
|
+
// Check if the runtime types file already exists in types/core package
|
|
60
|
+
const runtimeTypesPath = `${typesPackageInfo.basePath}/src/lib/${userInputRuntimeName}-runtime/runtime-types.ts`;
|
|
61
|
+
if (tree.exists(runtimeTypesPath)) {
|
|
62
|
+
const packageName = typesPackageInfo.hasTypesPackage ? 'types' : 'core';
|
|
63
|
+
throw new Error(`Runtime types file "${userInputRuntimeName}-runtime/runtime-types.ts" already exists in ${packageName} package.\n` +
|
|
60
64
|
'Please choose a different runtime name or remove the existing file first.');
|
|
61
65
|
}
|
|
62
66
|
// Generate files from templates for the runtime
|
|
63
67
|
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'templates/new-runtime'), projectRoot, templateVariables);
|
|
64
|
-
// Generate the runtime types file in the core package using template
|
|
65
|
-
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'templates/core-templates'),
|
|
66
|
-
// Update core index.ts to export the new runtime types
|
|
67
|
-
|
|
68
|
+
// Generate the runtime types file in the types/core package using template
|
|
69
|
+
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'templates/core-templates'), `${typesPackageInfo.basePath}/src/lib`, templateVariables);
|
|
70
|
+
// Update types/core index.ts to export the new runtime types
|
|
71
|
+
updateTypesIndexExport(tree, userInputRuntimeName, typesPackageInfo.basePath);
|
|
68
72
|
// Update .unisphere configuration
|
|
69
73
|
(0, utils_1.updateUnisphereConfig)(tree, 'runtimes', userInputRuntimeName, {
|
|
70
74
|
sourceRoot: `unisphere/runtimes/${userInputRuntimeName}`,
|
|
@@ -83,13 +87,14 @@ async function addRuntimeGenerator(tree, options) {
|
|
|
83
87
|
// if (packageResult && typeof packageResult === 'function') {
|
|
84
88
|
// packageResult();
|
|
85
89
|
// }
|
|
86
|
-
// Handle
|
|
87
|
-
if (
|
|
88
|
-
// Create
|
|
90
|
+
// Handle standalone usage - create dev application
|
|
91
|
+
if (isStandalone === true) {
|
|
92
|
+
// Create a dev application without prompts
|
|
89
93
|
const applicationResult = await (0, add_application_1.addApplicationGenerator)(tree, {
|
|
90
94
|
name: `${userInputRuntimeName}-dev`,
|
|
91
95
|
servingType: 'local-dev-playground',
|
|
92
96
|
runtimeName: userInputRuntimeName,
|
|
97
|
+
dependencies: selectedDependencies, // Pass same dependencies as runtime
|
|
93
98
|
});
|
|
94
99
|
// Execute the application generation callback if it exists
|
|
95
100
|
if (applicationResult && typeof applicationResult === 'function') {
|
|
@@ -106,8 +111,8 @@ async function addRuntimeGenerator(tree, options) {
|
|
|
106
111
|
devkit_1.logger.info('');
|
|
107
112
|
devkit_1.logger.info(`🚀 Runtime Name: ${userInputRuntimeName}`);
|
|
108
113
|
devkit_1.logger.info(`📁 Location: ${projectRoot}`);
|
|
109
|
-
devkit_1.logger.info(`🔧 Standalone: ${
|
|
110
|
-
if (
|
|
114
|
+
devkit_1.logger.info(`🔧 Standalone: ${isStandalone ? 'Yes' : 'No'}`);
|
|
115
|
+
if (isStandalone === true) {
|
|
111
116
|
devkit_1.logger.info('');
|
|
112
117
|
devkit_1.logger.info('📦 Additional components created:');
|
|
113
118
|
devkit_1.logger.info(` • Dev Application: ${userInputRuntimeName}-dev`);
|
|
@@ -11,18 +11,18 @@
|
|
|
11
11
|
"x-prompt": "What's the runtime name? (letters, numbers, dashes and spaces allowed)"
|
|
12
12
|
},
|
|
13
13
|
"standalone": {
|
|
14
|
-
"type": "
|
|
14
|
+
"type": "string",
|
|
15
15
|
"description": "Is this experience being loaded by the host application, or by another experience (not this one)?",
|
|
16
16
|
"x-prompt": {
|
|
17
17
|
"message": "Is this experience being loaded by the host application, or by another experience (not this one)?",
|
|
18
18
|
"type": "list",
|
|
19
19
|
"items": [
|
|
20
20
|
{
|
|
21
|
-
"value":
|
|
21
|
+
"value": "yes",
|
|
22
22
|
"label": "Yes -loaded by host application"
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
|
-
"value":
|
|
25
|
+
"value": "no",
|
|
26
26
|
"label": "No - loaded by another experience"
|
|
27
27
|
}
|
|
28
28
|
]
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as ReactDOM from 'react-dom/client';
|
|
2
2
|
import { Root } from 'react-dom/client';
|
|
3
|
-
import { ThemeProvider } from '@kaltura/ds-react-theme';
|
|
4
3
|
import {
|
|
5
4
|
CreateElementOptions,
|
|
6
5
|
UnisphereRuntimeBase,
|
|
@@ -10,12 +9,9 @@ import {
|
|
|
10
9
|
<%= runtimeName__pascalCase %>RuntimeName,
|
|
11
10
|
<%= runtimeName__pascalCase %>RuntimeSettings,
|
|
12
11
|
<%= runtimeName__camelCase %>RuntimeSettingsSchema,
|
|
13
|
-
} from '<%=
|
|
14
|
-
import {
|
|
15
|
-
ScopedUnisphereWorkspaceProvider
|
|
16
|
-
} from '@unisphere/runtime-react';
|
|
12
|
+
} from '<%= typesAlias %>';
|
|
17
13
|
import { HtmlDomRuntimeVisual } from '@unisphere/runtime';
|
|
18
|
-
import { widgetName } from '<%=
|
|
14
|
+
import { widgetName } from '<%= typesAlias %>'
|
|
19
15
|
|
|
20
16
|
export class Runtime
|
|
21
17
|
extends UnisphereRuntimeBase<<%= runtimeName__pascalCase %>RuntimeSettings, Root>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-visual.d.ts","sourceRoot":"","sources":["../../../src/generators/add-visual/add-visual.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"add-visual.d.ts","sourceRoot":"","sources":["../../../src/generators/add-visual/add-visual.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,IAAI,EAAE,MAAM,YAAY,CAAC;AAsB9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAuUpD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAoEf;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -12,7 +12,7 @@ const visual_utils_1 = require("./visual-utils");
|
|
|
12
12
|
*/
|
|
13
13
|
function addImportToRuntime(sourceFilePath, tree, vars, project) {
|
|
14
14
|
const sourceFile = (0, visual_utils_1.loadSourceFile)(tree, sourceFilePath, project);
|
|
15
|
-
const { visualName__humanReadable: humanName, runtimeVisualSettings, runtimeVisualSchema,
|
|
15
|
+
const { visualName__humanReadable: humanName, runtimeVisualSettings, runtimeVisualSchema, typesAlias, } = vars;
|
|
16
16
|
// Check if import already exists to prevent duplicates
|
|
17
17
|
const alreadyExists = sourceFile
|
|
18
18
|
.getImportDeclarations()
|
|
@@ -26,13 +26,13 @@ function addImportToRuntime(sourceFilePath, tree, vars, project) {
|
|
|
26
26
|
sourceFile.addImportDeclaration({
|
|
27
27
|
kind: ts_morph_1.StructureKind.ImportDeclaration,
|
|
28
28
|
namedImports: [runtimeVisualSettings, runtimeVisualSchema],
|
|
29
|
-
moduleSpecifier:
|
|
29
|
+
moduleSpecifier: typesAlias,
|
|
30
30
|
}); // Explicit cast for clarity
|
|
31
31
|
(0, visual_utils_1.saveSourceFile)(tree, sourceFilePath, sourceFile.getFullText());
|
|
32
32
|
console.log(`✅ Added import for visual ${humanName}`);
|
|
33
33
|
}
|
|
34
|
-
function updateRuntimeIndexExport(tree, runtimeName, visualName) {
|
|
35
|
-
const runtimeIndexPath =
|
|
34
|
+
function updateRuntimeIndexExport(tree, runtimeName, visualName, typesPackageInfo) {
|
|
35
|
+
const runtimeIndexPath = `${typesPackageInfo.basePath}/src/lib/${runtimeName}-runtime/index.ts`;
|
|
36
36
|
if (!tree.exists(runtimeIndexPath)) {
|
|
37
37
|
throw new Error(`Runtime index file not found at ${runtimeIndexPath}`);
|
|
38
38
|
}
|
|
@@ -117,7 +117,7 @@ function addVisualTypesToConstructor(sourceFilePath, tree, vars, project, isSing
|
|
|
117
117
|
* Adds a private render method to the main class in the runtime file.
|
|
118
118
|
* Uses Nx's generateFiles for proper template processing.
|
|
119
119
|
*/
|
|
120
|
-
function addRenderMethod(sourceFilePath, tree, vars, project) {
|
|
120
|
+
function addRenderMethod(sourceFilePath, tree, vars, project, typesPackageInfo) {
|
|
121
121
|
const sourceFile = (0, visual_utils_1.loadSourceFile)(tree, sourceFilePath, project);
|
|
122
122
|
const methodName = `_render${vars.visualName__pascalCase}`;
|
|
123
123
|
const clazz = (0, visual_utils_1.findFirstClass)(sourceFile);
|
|
@@ -135,7 +135,7 @@ function addRenderMethod(sourceFilePath, tree, vars, project) {
|
|
|
135
135
|
...vars,
|
|
136
136
|
tmpl: '', // This removes the .template extension
|
|
137
137
|
});
|
|
138
|
-
updateRuntimeIndexExport(tree, vars.runtimeName__lowerDashCase, vars.visualName__lowerDashCase);
|
|
138
|
+
updateRuntimeIndexExport(tree, vars.runtimeName__lowerDashCase, vars.visualName__lowerDashCase, typesPackageInfo);
|
|
139
139
|
// Read the processed template content
|
|
140
140
|
const processedContent = (0, visual_utils_1.readTreeFile)(tree, `${tempDir}/render-method`);
|
|
141
141
|
// Clean up the temporary file
|
|
@@ -165,14 +165,15 @@ function addRenderMethod(sourceFilePath, tree, vars, project) {
|
|
|
165
165
|
console.log(`✅ Added render method ${methodName}.`);
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
168
|
-
* Adds an interface and schema definition to the core runtime types file.
|
|
168
|
+
* Adds an interface and schema definition to the types/core runtime types file.
|
|
169
169
|
*/
|
|
170
|
-
function createVisualTypes(tree, vars) {
|
|
171
|
-
// Check if the
|
|
172
|
-
const visualTypesPath =
|
|
170
|
+
function createVisualTypes(tree, vars, typesPackageInfo) {
|
|
171
|
+
// Check if the runtime types file already exists
|
|
172
|
+
const visualTypesPath = `${typesPackageInfo.basePath}/src/lib/${vars.runtimeName__lowerDashCase}-runtime/${vars.visualName__lowerDashCase}-visual-types.ts`;
|
|
173
|
+
const packageName = typesPackageInfo.hasTypesPackage ? 'types' : 'core';
|
|
173
174
|
if (tree.exists(visualTypesPath)) {
|
|
174
|
-
throw new Error(`Visual types file "${vars.visualName__lowerDashCase}-visual-types.ts" already exists in
|
|
175
|
-
'Please choose a different
|
|
175
|
+
throw new Error(`Visual types file "${vars.visualName__lowerDashCase}-visual-types.ts" already exists in ${packageName} package.\n` +
|
|
176
|
+
'Please choose a different visual name or remove the existing file first.');
|
|
176
177
|
}
|
|
177
178
|
const { runtimeVisualSettings: interfaceName, runtimeVisualSchema: schemaName, visualName__humanReadable: humanName, } = vars;
|
|
178
179
|
// Construct the new interface and schema content.
|
|
@@ -207,8 +208,8 @@ async function addVisualGenerator(tree, options) {
|
|
|
207
208
|
// Validate runtime existence and get source root path.
|
|
208
209
|
const runtimeSourceRoot = (0, utils_1.validateRuntimeExists)(tree, runtimeName);
|
|
209
210
|
const runtimeTSxPath = `${runtimeSourceRoot}/src/lib/runtime.tsx`;
|
|
210
|
-
//
|
|
211
|
-
const
|
|
211
|
+
// Find types package (or fallback to core)
|
|
212
|
+
const typesPackageInfo = (0, utils_1.findTypesOrCorePackageInfo)(tree);
|
|
212
213
|
const runtimeNames = (0, utils_1.createNameTransforms)(runtimeName, 'runtimeName');
|
|
213
214
|
const visualNames = (0, utils_1.createNameTransforms)(visualName, 'visualName');
|
|
214
215
|
const widgetNames = (0, utils_1.createNameTransforms)(widgetName, 'widgetName');
|
|
@@ -222,7 +223,7 @@ async function addVisualGenerator(tree, options) {
|
|
|
222
223
|
...widgetNames,
|
|
223
224
|
runtimeVisualSettings,
|
|
224
225
|
runtimeVisualSchema,
|
|
225
|
-
|
|
226
|
+
typesAlias: typesPackageInfo.alias,
|
|
226
227
|
};
|
|
227
228
|
// Ensure the target runtime file exists before proceeding.
|
|
228
229
|
if (!tree.exists(runtimeTSxPath)) {
|
|
@@ -237,9 +238,9 @@ async function addVisualGenerator(tree, options) {
|
|
|
237
238
|
addImportToRuntime(runtimeTSxPath, tree, templateVariables, project);
|
|
238
239
|
addVisualTypesToConstructor(runtimeTSxPath, tree, templateVariables, project, isSingleOccurrence);
|
|
239
240
|
addSwitchCaseToRuntime(runtimeTSxPath, tree, templateVariables, project);
|
|
240
|
-
addRenderMethod(runtimeTSxPath, tree, templateVariables, project);
|
|
241
|
-
// 'project' parameter is not needed here as
|
|
242
|
-
createVisualTypes(tree, templateVariables);
|
|
241
|
+
addRenderMethod(runtimeTSxPath, tree, templateVariables, project, typesPackageInfo);
|
|
242
|
+
// 'project' parameter is not needed here as createVisualTypes directly writes to the tree.
|
|
243
|
+
createVisualTypes(tree, templateVariables, typesPackageInfo);
|
|
243
244
|
// Format all modified files for consistent code style.
|
|
244
245
|
await (0, devkit_1.formatFiles)(tree);
|
|
245
246
|
// Log success and summary information to the console.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-config.d.ts","sourceRoot":"","sources":["../../src/generators/dependency-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAU,MAAM,YAAY,CAAC;AAI1C;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,MAAM,EACN;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAgDjE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG,IAAI,CAkBrE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,MAAM,EAAE,GAC7B,MAAM,CAiBR;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,oBAAoB,EAAE,MAAM,EAAE,GAC7B,IAAI,
|
|
1
|
+
{"version":3,"file":"dependency-config.d.ts","sourceRoot":"","sources":["../../src/generators/dependency-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAU,MAAM,YAAY,CAAC;AAI1C;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,MAAM,EACN;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAgDjE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG,IAAI,CAkBrE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,oBAAoB,EAAE,MAAM,EAAE,GAC7B,MAAM,CAiBR;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,oBAAoB,EAAE,MAAM,EAAE,GAC7B,IAAI,CA4EN"}
|
|
@@ -100,6 +100,32 @@ function installSelectedDependencies(tree, selectedDependencies) {
|
|
|
100
100
|
if (!selectedDependencies || selectedDependencies.length === 0) {
|
|
101
101
|
return;
|
|
102
102
|
}
|
|
103
|
+
// Track processed packages to avoid duplicates (e.g., 'ds' and 'mui' both include @mui/material)
|
|
104
|
+
const processedPackages = new Set();
|
|
105
|
+
let hasPackagesToInstall = false;
|
|
106
|
+
// First pass: check if there's anything to install
|
|
107
|
+
for (const dep of selectedDependencies) {
|
|
108
|
+
const depConfig = exports.DEPENDENCY_MAP[dep];
|
|
109
|
+
if (!depConfig)
|
|
110
|
+
continue;
|
|
111
|
+
for (const packageName of depConfig.packages) {
|
|
112
|
+
if (processedPackages.has(packageName))
|
|
113
|
+
continue;
|
|
114
|
+
processedPackages.add(packageName);
|
|
115
|
+
if (!(0, utils_1.isPackageInstalled)(tree, packageName)) {
|
|
116
|
+
hasPackagesToInstall = true;
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (hasPackagesToInstall)
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
// If nothing to install, return silently
|
|
124
|
+
if (!hasPackagesToInstall) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
// Reset for second pass
|
|
128
|
+
processedPackages.clear();
|
|
103
129
|
devkit_1.logger.info('');
|
|
104
130
|
devkit_1.logger.info('📦 Installing selected dependencies...');
|
|
105
131
|
for (const dep of selectedDependencies) {
|
|
@@ -109,12 +135,16 @@ function installSelectedDependencies(tree, selectedDependencies) {
|
|
|
109
135
|
continue;
|
|
110
136
|
}
|
|
111
137
|
for (const packageName of depConfig.packages) {
|
|
138
|
+
// Skip if already processed (avoid duplicates)
|
|
139
|
+
if (processedPackages.has(packageName)) {
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
processedPackages.add(packageName);
|
|
112
143
|
const installedVersion = (0, utils_1.isPackageInstalled)(tree, packageName);
|
|
113
144
|
if (installedVersion) {
|
|
114
|
-
|
|
145
|
+
// Already installed, skip silently
|
|
115
146
|
continue;
|
|
116
147
|
}
|
|
117
|
-
// Determine version to install from defaultVersions map or fallback
|
|
118
148
|
const version = depConfig.defaultVersions?.[packageName] || '^1.0.0';
|
|
119
149
|
const installCommand = `npm install ${packageName}@${version}`;
|
|
120
150
|
devkit_1.logger.info(` Installing ${packageName}@${version}...`);
|
|
@@ -8,6 +8,24 @@ export declare function updateTsConfigPaths(tree: Tree, pathKey: string, pathVal
|
|
|
8
8
|
export declare function updateUnisphereConfig(tree: Tree, elementType: 'packages' | 'runtimes' | 'applications', elementName: string, elementConfig: Record<string, any>): void;
|
|
9
9
|
export declare function validateRuntimeExists(tree: Tree, runtimeName: string): string;
|
|
10
10
|
export declare function findCorePackageAlias(tree: Tree): string;
|
|
11
|
+
/**
|
|
12
|
+
* Tries to find the types package alias in tsconfig.base.json
|
|
13
|
+
* Returns null if types package is not found
|
|
14
|
+
*/
|
|
15
|
+
export declare function findTypesPackageAlias(tree: Tree): string | null;
|
|
16
|
+
export interface TypesPackageInfo {
|
|
17
|
+
/** The tsconfig alias for the package (e.g., "@mycompany/types" or "@mycompany/core") */
|
|
18
|
+
alias: string;
|
|
19
|
+
/** The base path to the package (e.g., "unisphere/packages/types" or "unisphere/packages/core") */
|
|
20
|
+
basePath: string;
|
|
21
|
+
/** Whether the types package exists (true) or falling back to core (false) */
|
|
22
|
+
hasTypesPackage: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Finds the types package if it exists, otherwise falls back to core package.
|
|
26
|
+
* Returns info about which package to use for runtime types.
|
|
27
|
+
*/
|
|
28
|
+
export declare function findTypesOrCorePackageInfo(tree: Tree): TypesPackageInfo;
|
|
11
29
|
type NameTransformations<Prefix extends string> = {
|
|
12
30
|
[K in `${Prefix}` | `${Prefix}__lowerDashCase` | `${Prefix}__camelCase` | `${Prefix}__pascalCase` | `${Prefix}__constantCase` | `${Prefix}__humanReadable`]: string;
|
|
13
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/generators/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAKL,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAmDnE;AAGD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QA4BjF;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,cAAc,EACrD,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QA2BnC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CA6C7E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CA8BvD;AAGD,KAAK,mBAAmB,CAAC,MAAM,SAAS,MAAM,IAAI;KAC/C,CAAC,IACE,GAAG,MAAM,EAAE,GACX,GAAG,MAAM,iBAAiB,GAC1B,GAAG,MAAM,aAAa,GACtB,GAAG,MAAM,cAAc,GACvB,GAAG,MAAM,gBAAgB,GACzB,GAAG,MAAM,iBAAiB,GAAG,MAAM;CACxC,CAAC;AAKF,wBAAgB,oBAAoB,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAczH;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAwBlF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAgB7E"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/generators/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAKL,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAmDnE;AAGD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QA4BjF;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,cAAc,EACrD,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QA2BnC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CA6C7E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CA8BvD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAuB/D;AAED,MAAM,WAAW,gBAAgB;IAC/B,yFAAyF;IACzF,KAAK,EAAE,MAAM,CAAC;IACd,mGAAmG;IACnG,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,gBAAgB,CAkBvE;AAGD,KAAK,mBAAmB,CAAC,MAAM,SAAS,MAAM,IAAI;KAC/C,CAAC,IACE,GAAG,MAAM,EAAE,GACX,GAAG,MAAM,iBAAiB,GAC1B,GAAG,MAAM,aAAa,GACtB,GAAG,MAAM,cAAc,GACvB,GAAG,MAAM,gBAAgB,GACzB,GAAG,MAAM,iBAAiB,GAAG,MAAM;CACxC,CAAC;AAKF,wBAAgB,oBAAoB,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAczH;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAwBlF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAgB7E"}
|
package/dist/generators/utils.js
CHANGED
|
@@ -5,6 +5,8 @@ exports.updateTsConfigPaths = updateTsConfigPaths;
|
|
|
5
5
|
exports.updateUnisphereConfig = updateUnisphereConfig;
|
|
6
6
|
exports.validateRuntimeExists = validateRuntimeExists;
|
|
7
7
|
exports.findCorePackageAlias = findCorePackageAlias;
|
|
8
|
+
exports.findTypesPackageAlias = findTypesPackageAlias;
|
|
9
|
+
exports.findTypesOrCorePackageInfo = findTypesOrCorePackageInfo;
|
|
8
10
|
exports.createNameTransforms = createNameTransforms;
|
|
9
11
|
exports.isPackageInstalled = isPackageInstalled;
|
|
10
12
|
exports.checkIfRuntimeExists = checkIfRuntimeExists;
|
|
@@ -144,6 +146,52 @@ function findCorePackageAlias(tree) {
|
|
|
144
146
|
throw new Error(`Failed to read tsconfig.base.json: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
145
147
|
}
|
|
146
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Tries to find the types package alias in tsconfig.base.json
|
|
151
|
+
* Returns null if types package is not found
|
|
152
|
+
*/
|
|
153
|
+
function findTypesPackageAlias(tree) {
|
|
154
|
+
if (!tree.exists('tsconfig.base.json')) {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
try {
|
|
158
|
+
const tsconfigBase = (0, devkit_1.readJson)(tree, 'tsconfig.base.json');
|
|
159
|
+
if (!tsconfigBase.compilerOptions?.paths) {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
// Find the key that has the value "unisphere/packages/types/src/index.ts"
|
|
163
|
+
for (const [key, paths] of Object.entries(tsconfigBase.compilerOptions.paths)) {
|
|
164
|
+
if (Array.isArray(paths) && paths.includes('unisphere/packages/types/src/index.ts')) {
|
|
165
|
+
return key;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Finds the types package if it exists, otherwise falls back to core package.
|
|
176
|
+
* Returns info about which package to use for runtime types.
|
|
177
|
+
*/
|
|
178
|
+
function findTypesOrCorePackageInfo(tree) {
|
|
179
|
+
const typesAlias = findTypesPackageAlias(tree);
|
|
180
|
+
if (typesAlias) {
|
|
181
|
+
return {
|
|
182
|
+
alias: typesAlias,
|
|
183
|
+
basePath: 'unisphere/packages/types',
|
|
184
|
+
hasTypesPackage: true,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
// Fallback to core package
|
|
188
|
+
const coreAlias = findCorePackageAlias(tree);
|
|
189
|
+
return {
|
|
190
|
+
alias: coreAlias,
|
|
191
|
+
basePath: 'unisphere/packages/core',
|
|
192
|
+
hasTypesPackage: false,
|
|
193
|
+
};
|
|
194
|
+
}
|
|
147
195
|
function createNameTransforms(baseName, prefix) {
|
|
148
196
|
const nameVariants = (0, devkit_1.names)(baseName); // Assuming 'names' function is available and returns NameVariants
|
|
149
197
|
const humanReadable = baseName
|
package/dist/migrations.json
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"generators": {
|
|
3
3
|
"check-nx-version": {
|
|
4
4
|
"version": "1.9.0",
|
|
5
5
|
"description": "Checks that Nx version is 22 or higher",
|
|
6
|
-
"
|
|
6
|
+
"factory": "./dist/migrations/update-1-1-5/check-nx-version.js",
|
|
7
7
|
"cli": {
|
|
8
|
-
"
|
|
8
|
+
"postUpdateMessage": "✅ Nx version check completed. Your project is using Nx 22 or higher."
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
11
|
"rename-widgetname-to-widgetname": {
|
|
12
12
|
"version": "1.9.0",
|
|
13
13
|
"description": "Changes the executor name from WidgetName to widgetName",
|
|
14
|
-
"
|
|
14
|
+
"factory": "./dist/migrations/update-1-1-5/rename-widgetname-to-widgetname.js"
|
|
15
15
|
},
|
|
16
16
|
"fix-playground-apps": {
|
|
17
17
|
"version": "1.9.0",
|
|
18
18
|
"description": "Fixes playground apps",
|
|
19
|
-
"
|
|
19
|
+
"factory": "./dist/migrations/update-1-1-5/fix-playground-apps.js"
|
|
20
20
|
},
|
|
21
21
|
"move-runtime-info-to-core": {
|
|
22
22
|
"version": "1.9.0",
|
|
23
23
|
"description": "Moves runtime-information.ts and runtime-settings.ts to core package",
|
|
24
|
-
"
|
|
24
|
+
"factory": "./dist/migrations/update-1-1-5/move-runtime-info-to-core.js"
|
|
25
25
|
},
|
|
26
26
|
"sync-package-json-files": {
|
|
27
27
|
"version": "1.9.0",
|
|
28
28
|
"description": "Syncs package json files",
|
|
29
|
-
"
|
|
29
|
+
"factory": "./dist/migrations/update-1-1-5/sync-package-json-files.js"
|
|
30
30
|
},
|
|
31
31
|
"update-nvmrc": {
|
|
32
32
|
"version": "1.9.0",
|
|
33
33
|
"description": "Updates .nvmrc to Node 24 (creates if missing)",
|
|
34
|
-
"
|
|
34
|
+
"factory": "./dist/migrations/update-1-1-5/update-nvmrc.js",
|
|
35
35
|
"cli": {
|
|
36
|
-
"
|
|
36
|
+
"postUpdateMessage": "✅ .nvmrc has been updated to Node 24. Please ensure you have Node.js 24.x installed."
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"fix-dependency-versions": {
|
|
40
40
|
"version": "1.9.0",
|
|
41
41
|
"description": "Removes ^ from @changesets/cli version in package.json",
|
|
42
|
-
"
|
|
42
|
+
"factory": "./dist/migrations/update-1-1-5/fix-dependency-versions.js",
|
|
43
43
|
"cli": {
|
|
44
|
-
"
|
|
44
|
+
"postUpdateMessage": "✅ @changesets/cli version has been pinned to exact version (^ removed)."
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"update-github-workflow": {
|
|
48
48
|
"version": "1.9.0",
|
|
49
49
|
"description": "Updates .github/workflows/cicd.yml from template",
|
|
50
|
-
"
|
|
50
|
+
"factory": "./dist/migrations/update-1-1-5/update-github-workflow.js",
|
|
51
51
|
"cli": {
|
|
52
|
-
"
|
|
52
|
+
"postUpdateMessage": "✅ GitHub workflow updated to use Node.js 24. Review .github/workflows/cicd.yml if you have custom changes."
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
},
|
|
@@ -163,4 +163,4 @@
|
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
|
-
}
|
|
166
|
+
}
|
package/migrations.json
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"generators": {
|
|
3
3
|
"check-nx-version": {
|
|
4
4
|
"version": "1.9.0",
|
|
5
5
|
"description": "Checks that Nx version is 22 or higher",
|
|
6
|
-
"
|
|
6
|
+
"factory": "./dist/migrations/update-1-1-5/check-nx-version.js",
|
|
7
7
|
"cli": {
|
|
8
|
-
"
|
|
8
|
+
"postUpdateMessage": "✅ Nx version check completed. Your project is using Nx 22 or higher."
|
|
9
9
|
}
|
|
10
10
|
},
|
|
11
11
|
"rename-widgetname-to-widgetname": {
|
|
12
12
|
"version": "1.9.0",
|
|
13
13
|
"description": "Changes the executor name from WidgetName to widgetName",
|
|
14
|
-
"
|
|
14
|
+
"factory": "./dist/migrations/update-1-1-5/rename-widgetname-to-widgetname.js"
|
|
15
15
|
},
|
|
16
16
|
"fix-playground-apps": {
|
|
17
17
|
"version": "1.9.0",
|
|
18
18
|
"description": "Fixes playground apps",
|
|
19
|
-
"
|
|
19
|
+
"factory": "./dist/migrations/update-1-1-5/fix-playground-apps.js"
|
|
20
20
|
},
|
|
21
21
|
"move-runtime-info-to-core": {
|
|
22
22
|
"version": "1.9.0",
|
|
23
23
|
"description": "Moves runtime-information.ts and runtime-settings.ts to core package",
|
|
24
|
-
"
|
|
24
|
+
"factory": "./dist/migrations/update-1-1-5/move-runtime-info-to-core.js"
|
|
25
25
|
},
|
|
26
26
|
"sync-package-json-files": {
|
|
27
27
|
"version": "1.9.0",
|
|
28
28
|
"description": "Syncs package json files",
|
|
29
|
-
"
|
|
29
|
+
"factory": "./dist/migrations/update-1-1-5/sync-package-json-files.js"
|
|
30
30
|
},
|
|
31
31
|
"update-nvmrc": {
|
|
32
32
|
"version": "1.9.0",
|
|
33
33
|
"description": "Updates .nvmrc to Node 24 (creates if missing)",
|
|
34
|
-
"
|
|
34
|
+
"factory": "./dist/migrations/update-1-1-5/update-nvmrc.js",
|
|
35
35
|
"cli": {
|
|
36
|
-
"
|
|
36
|
+
"postUpdateMessage": "✅ .nvmrc has been updated to Node 24. Please ensure you have Node.js 24.x installed."
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"fix-dependency-versions": {
|
|
40
40
|
"version": "1.9.0",
|
|
41
41
|
"description": "Removes ^ from @changesets/cli version in package.json",
|
|
42
|
-
"
|
|
42
|
+
"factory": "./dist/migrations/update-1-1-5/fix-dependency-versions.js",
|
|
43
43
|
"cli": {
|
|
44
|
-
"
|
|
44
|
+
"postUpdateMessage": "✅ @changesets/cli version has been pinned to exact version (^ removed)."
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"update-github-workflow": {
|
|
48
48
|
"version": "1.9.0",
|
|
49
49
|
"description": "Updates .github/workflows/cicd.yml from template",
|
|
50
|
-
"
|
|
50
|
+
"factory": "./dist/migrations/update-1-1-5/update-github-workflow.js",
|
|
51
51
|
"cli": {
|
|
52
|
-
"
|
|
52
|
+
"postUpdateMessage": "✅ GitHub workflow updated to use Node.js 24. Review .github/workflows/cicd.yml if you have custom changes."
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
},
|
|
@@ -163,4 +163,4 @@
|
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
|
-
}
|
|
166
|
+
}
|