create-unisphere-project 1.0.1 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
const create_unisphere_repo_command_1 = require("./lib/create-unisphere-repo-command");
|
|
5
5
|
const commander_1 = require("commander");
|
|
6
|
-
//
|
|
6
|
+
// 4
|
|
7
7
|
const command = (0, create_unisphere_repo_command_1.createCreateUnisphereRepoCommand)(new commander_1.Command());
|
|
8
8
|
command.parse(process.argv);
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -44,6 +44,7 @@ const createCreateUnisphereRepoCommand = (parentCommand) => {
|
|
|
44
44
|
.option('--company-name <name>', 'The company name (letters, hyphens, and spaces only)')
|
|
45
45
|
.addOption(nxpluginPathOption)
|
|
46
46
|
.option('--experience-name <name>', 'The experience name (any format)')
|
|
47
|
+
.option('--is-internal-product <boolean>', 'Is internal product')
|
|
47
48
|
.option('--verbose', 'Output debug logs', false)
|
|
48
49
|
.hook('preAction', utils_1.printVerboseHook)
|
|
49
50
|
.action((options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -51,13 +52,14 @@ const createCreateUnisphereRepoCommand = (parentCommand) => {
|
|
|
51
52
|
// Get values from options or prompt for all of them
|
|
52
53
|
let _companyName = options.companyName;
|
|
53
54
|
let _experienceName = options.experienceName;
|
|
55
|
+
let _isInternalProduct = options.isInternalProduct;
|
|
54
56
|
// Create prompt questions for missing values
|
|
55
57
|
const questions = [];
|
|
56
58
|
if (!_companyName) {
|
|
57
59
|
questions.push({
|
|
58
60
|
type: 'input',
|
|
59
61
|
name: 'companyName',
|
|
60
|
-
message: 'Enter company name
|
|
62
|
+
message: 'Enter company name:',
|
|
61
63
|
validate: (input) => {
|
|
62
64
|
if (!input || !input.trim()) {
|
|
63
65
|
return 'Company name is required';
|
|
@@ -69,11 +71,19 @@ const createCreateUnisphereRepoCommand = (parentCommand) => {
|
|
|
69
71
|
},
|
|
70
72
|
});
|
|
71
73
|
}
|
|
74
|
+
if (typeof _isInternalProduct === 'undefined') {
|
|
75
|
+
questions.push({
|
|
76
|
+
type: 'confirm',
|
|
77
|
+
name: 'isInternalProduct',
|
|
78
|
+
message: 'Is this an internal product? (if you are not sure, select no)',
|
|
79
|
+
default: false,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
72
82
|
if (!_experienceName) {
|
|
73
83
|
questions.push({
|
|
74
84
|
type: 'input',
|
|
75
85
|
name: 'experienceName',
|
|
76
|
-
message: 'Enter experience name:',
|
|
86
|
+
message: 'Enter experience name (unique name to be used in the unisphere marketplace):',
|
|
77
87
|
validate: (input) => {
|
|
78
88
|
if (!input || !input.trim()) {
|
|
79
89
|
return 'Experience name is required';
|
|
@@ -90,6 +100,7 @@ const createCreateUnisphereRepoCommand = (parentCommand) => {
|
|
|
90
100
|
const answers = yield inquirer.prompt(questions);
|
|
91
101
|
_companyName = _companyName || answers.companyName;
|
|
92
102
|
_experienceName = _experienceName || answers.experienceName;
|
|
103
|
+
_isInternalProduct = _isInternalProduct || answers.isInternalProduct;
|
|
93
104
|
}
|
|
94
105
|
// Validate company name if provided via options
|
|
95
106
|
if (_companyName && !validateInput(_companyName)) {
|
|
@@ -98,14 +109,15 @@ const createCreateUnisphereRepoCommand = (parentCommand) => {
|
|
|
98
109
|
if (_experienceName && !validateInput(_experienceName)) {
|
|
99
110
|
throw new Error('Experience name can only contain letters, hyphens, and spaces');
|
|
100
111
|
}
|
|
112
|
+
const originalCompanyNameValue = _companyName;
|
|
101
113
|
debug(`Company name: ${_companyName}`);
|
|
102
114
|
debug(`Experience name: ${_experienceName}`);
|
|
103
115
|
// Generate repo name from company and experience name
|
|
104
116
|
const companyName = normalizeInput(_companyName);
|
|
105
117
|
const experienceName = removeUnispherePrefix(_experienceName);
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
-
debug(`Creating repository: ${
|
|
118
|
+
const newProjectName = `unisphere-${experienceName}`;
|
|
119
|
+
const newProjectPath = (0, path_1.resolve)(cwd, newProjectName);
|
|
120
|
+
debug(`Creating repository: ${newProjectName} at ${newProjectPath}`);
|
|
109
121
|
const tasks = [
|
|
110
122
|
{
|
|
111
123
|
title: 'Check if the working directory exists',
|
|
@@ -118,23 +130,30 @@ const createCreateUnisphereRepoCommand = (parentCommand) => {
|
|
|
118
130
|
{
|
|
119
131
|
title: 'Check if repository path exists',
|
|
120
132
|
task: () => {
|
|
121
|
-
if ((0, fs_1.existsSync)(
|
|
122
|
-
throw new Error(`Path "${
|
|
133
|
+
if ((0, fs_1.existsSync)(newProjectPath)) {
|
|
134
|
+
throw new Error(`Path "${newProjectPath}" already exists.`);
|
|
123
135
|
}
|
|
124
136
|
},
|
|
125
137
|
},
|
|
126
138
|
{
|
|
127
139
|
title: 'Copy template from local path',
|
|
128
140
|
task: (ctx, task) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
129
|
-
debug(`Created repository folder: ${
|
|
130
|
-
(0, fs_1.mkdirSync)(
|
|
131
|
-
debug(`Copying from ${NEW_REPO_PATH} to ${
|
|
141
|
+
debug(`Created repository folder: ${newProjectPath}`);
|
|
142
|
+
(0, fs_1.mkdirSync)(newProjectPath, { recursive: true });
|
|
143
|
+
debug(`Copying from ${NEW_REPO_PATH} to ${newProjectPath}`);
|
|
132
144
|
try {
|
|
133
|
-
yield (0, fs_extra_1.copy)(NEW_REPO_PATH,
|
|
145
|
+
yield (0, fs_extra_1.copy)(NEW_REPO_PATH, newProjectPath, {
|
|
134
146
|
overwrite: true,
|
|
135
147
|
recursive: true,
|
|
136
148
|
});
|
|
137
149
|
debug(`Successfully copied template from ${NEW_REPO_PATH}`);
|
|
150
|
+
if (originalCompanyNameValue.toLowerCase() === 'kaltura') {
|
|
151
|
+
const npmRcPath = (0, path_1.resolve)(newProjectPath, '.npmrc');
|
|
152
|
+
debug(`Creating .npmrc file at ${npmRcPath}`);
|
|
153
|
+
yield (0, fs_extra_1.outputFile)(npmRcPath, `@kaltura:registry=https://npm.pkg.github.com
|
|
154
|
+
//npm.pkg.github.com/:_authToken=${process.env.GIT_TOKEN}
|
|
155
|
+
legacy-peer-deps=true`);
|
|
156
|
+
}
|
|
138
157
|
}
|
|
139
158
|
catch (error) {
|
|
140
159
|
throw new Error(`Failed to copy template: ${error.message}`);
|
|
@@ -145,7 +164,7 @@ const createCreateUnisphereRepoCommand = (parentCommand) => {
|
|
|
145
164
|
title: 'Customize template for experience',
|
|
146
165
|
task: (ctx, task) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
147
166
|
task.title = 'Processing template files and placeholders';
|
|
148
|
-
yield (0, overwrite_placeholders_1.overwritePlaceholders)(
|
|
167
|
+
yield (0, overwrite_placeholders_1.overwritePlaceholders)(newProjectPath, {
|
|
149
168
|
companyName,
|
|
150
169
|
experienceName,
|
|
151
170
|
});
|
|
@@ -155,7 +174,7 @@ const createCreateUnisphereRepoCommand = (parentCommand) => {
|
|
|
155
174
|
{
|
|
156
175
|
title: 'Install packages',
|
|
157
176
|
task: (ctx, task) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
158
|
-
const packageJsonPath = (0, path_1.resolve)(
|
|
177
|
+
const packageJsonPath = (0, path_1.resolve)(newProjectPath, 'package.json');
|
|
159
178
|
if (!(0, fs_1.existsSync)(packageJsonPath)) {
|
|
160
179
|
task.skip('No package.json found');
|
|
161
180
|
return;
|
|
@@ -165,16 +184,26 @@ const createCreateUnisphereRepoCommand = (parentCommand) => {
|
|
|
165
184
|
const unispherePackages = Object.keys(allDependencies).filter((pkg) => pkg.startsWith('@unisphere'));
|
|
166
185
|
const dsPackages = Object.keys(allDependencies).filter((pkg) => pkg.startsWith('@kaltura/ds'));
|
|
167
186
|
debug(`Found @unisphere packages: ${unispherePackages.join(', ')}`);
|
|
168
|
-
debug(`Found @kaltura/ds packages: ${dsPackages.join(', ')}`);
|
|
169
187
|
// Install each @unisphere package with ^1 (latest 1.x version)
|
|
170
188
|
const unispherePackagesToInstall = unispherePackages.map((pkg) => `${pkg}@^1`);
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
(0, child_process_1.execSync)(installCommand, {
|
|
175
|
-
cwd: repoPath,
|
|
189
|
+
debug(`Running: ${unispherePackagesToInstall}`);
|
|
190
|
+
(0, child_process_1.execSync)(`npm install ${unispherePackagesToInstall.join(' ')}`, {
|
|
191
|
+
cwd: newProjectPath,
|
|
176
192
|
stdio: 'inherit',
|
|
177
193
|
});
|
|
194
|
+
debug(`Found @kaltura/ds packages: ${dsPackages.join(', ')}`);
|
|
195
|
+
const dsPackagesToInstall = dsPackages.map((pkg) => `${pkg}@latest`);
|
|
196
|
+
debug(`Running: ${dsPackagesToInstall}`);
|
|
197
|
+
try {
|
|
198
|
+
(0, child_process_1.execSync)(`npm install ${dsPackagesToInstall.join(' ')}`, {
|
|
199
|
+
cwd: newProjectPath,
|
|
200
|
+
stdio: 'inherit',
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
debug(`Error installing @kaltura/ds packages: ${error.message}`);
|
|
205
|
+
throw new Error(`Error installing @kaltura/ds packages. Please ensure you have GIT_TOKEN set in your environment variables with organization scope.`);
|
|
206
|
+
}
|
|
178
207
|
task.title =
|
|
179
208
|
'Installing @unisphere packages with 1.x versions and latest @kaltura/ds packages';
|
|
180
209
|
}),
|
|
@@ -183,21 +212,21 @@ const createCreateUnisphereRepoCommand = (parentCommand) => {
|
|
|
183
212
|
title: 'Create core package',
|
|
184
213
|
task: (ctx, task) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
185
214
|
const packageName = options.nxpluginPath || '@unisphere/nx';
|
|
186
|
-
const createCoreCommand = `npx nx g ${packageName}:add-package --packageName="core" --scope="
|
|
215
|
+
const createCoreCommand = `npx nx g ${packageName}:add-package --packageName="core" --scope="${_isInternalProduct ? 'internal' : 'public'}"`;
|
|
187
216
|
debug(`Running: ${createCoreCommand}`);
|
|
188
217
|
task.title = 'Creating core package';
|
|
189
218
|
(0, child_process_1.execSync)(createCoreCommand, {
|
|
190
|
-
cwd:
|
|
219
|
+
cwd: newProjectPath,
|
|
191
220
|
stdio: 'inherit',
|
|
192
221
|
});
|
|
193
222
|
// Create widget-types.ts file in core package
|
|
194
|
-
const widgetTypesPath = (0, path_1.resolve)(
|
|
223
|
+
const widgetTypesPath = (0, path_1.resolve)(newProjectPath, 'unisphere/packages/core/src/lib/widget-types.ts');
|
|
195
224
|
const _companyName = companyName === 'kaltura' ? 'unisphere' : companyName;
|
|
196
225
|
const widgetTypesContent = `export const WidgetName = '${_companyName}.widget.${experienceName}' as const`;
|
|
197
226
|
debug(`Creating widget-types.ts at: ${widgetTypesPath}`);
|
|
198
227
|
yield (0, fs_extra_1.outputFile)(widgetTypesPath, widgetTypesContent);
|
|
199
228
|
const indexFileContent = `export * from './lib/widget-types';`;
|
|
200
|
-
const indexPath = (0, path_1.resolve)(
|
|
229
|
+
const indexPath = (0, path_1.resolve)(newProjectPath, 'unisphere/packages/core/src/index.ts');
|
|
201
230
|
debug(`Creating index.ts at: ${indexPath}`);
|
|
202
231
|
yield (0, fs_extra_1.outputFile)(indexPath, indexFileContent);
|
|
203
232
|
task.title = 'Core package created';
|
|
@@ -207,34 +236,34 @@ const createCreateUnisphereRepoCommand = (parentCommand) => {
|
|
|
207
236
|
title: 'Create data package',
|
|
208
237
|
task: (ctx, task) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
209
238
|
const packageName = options.nxpluginPath || '@unisphere/nx';
|
|
210
|
-
const command = `npx nx g ${packageName}:add-package --packageName="data" --scope="none"
|
|
239
|
+
const command = `npx nx g ${packageName}:add-package --packageName="data" --scope="none"`;
|
|
211
240
|
debug(`Running: ${command}`);
|
|
212
241
|
task.title = 'Creating data package';
|
|
213
242
|
(0, child_process_1.execSync)(command, {
|
|
214
|
-
cwd:
|
|
243
|
+
cwd: newProjectPath,
|
|
215
244
|
stdio: 'inherit',
|
|
216
245
|
});
|
|
217
246
|
task.title = 'Data package created';
|
|
218
247
|
}),
|
|
219
248
|
},
|
|
220
249
|
{
|
|
221
|
-
title: 'Create
|
|
250
|
+
title: 'Create mock-data package',
|
|
222
251
|
task: (ctx, task) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
223
252
|
const packageName = options.nxpluginPath || '@unisphere/nx';
|
|
224
|
-
const command = `npx nx g ${packageName}:add-package --packageName="
|
|
253
|
+
const command = `npx nx g ${packageName}:add-package --packageName="mock-data" --scope="none"`;
|
|
225
254
|
debug(`Running: ${command}`);
|
|
226
|
-
task.title = 'Creating
|
|
255
|
+
task.title = 'Creating mock-data package';
|
|
227
256
|
(0, child_process_1.execSync)(command, {
|
|
228
|
-
cwd:
|
|
257
|
+
cwd: newProjectPath,
|
|
229
258
|
stdio: 'inherit',
|
|
230
259
|
});
|
|
231
|
-
task.title = '
|
|
260
|
+
task.title = 'Mock-data package created';
|
|
232
261
|
}),
|
|
233
262
|
},
|
|
234
263
|
];
|
|
235
264
|
const taskRunner = new listr2_1.Listr(tasks, (0, utils_2.getDefaultListrOptions)());
|
|
236
265
|
yield taskRunner.run();
|
|
237
|
-
console.log(`Successfully created unisphere repository: ${
|
|
266
|
+
console.log(`Successfully created unisphere repository: ${newProjectPath}`);
|
|
238
267
|
}));
|
|
239
268
|
return command;
|
|
240
269
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-unisphere-repo-command.js","sourceRoot":"","sources":["../../../../../packages/create-unisphere-project/src/lib/create-unisphere-repo-command.ts"],"names":[],"mappings":";;;;AAAA,yCAA4C;AAC5C,mCAA2C;AAC3C,iCAA0B;AAC1B,mCAA0C;AAC1C,mCAAiD;AACjD,+BAA+B;AAC/B,2BAAmD;AACnD,uCAAsD;AACtD,qEAAiE;AACjE,qCAAsC;AACtC,iDAAyC;AAEzC,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,0CAA0C,CAAC,CAAC;AAEhE,qEAAqE;AACrE,MAAM,aAAa,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,oCAAoC,CAAC,CAAC;AAE/E,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE;IAC/C,OAAO,KAAK;SACT,IAAI,EAAE,CAAC,iCAAiC;SACxC,WAAW,EAAE,CAAC,uBAAuB;SACrC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,kCAAkC;SACvD,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,wDAAwD;SACrF,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,4BAA4B;SACjD,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,oCAAoC;SACxD,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC;AAChE,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAU,EAAE;IACtD,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,qEAAqE;IACrE,OAAO,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAW,EAAE;IAC9C,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC;AAEK,MAAM,gCAAgC,GAAG,CAC9C,aAAsB,EACb,EAAE;IACX,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAE/D,MAAM,kBAAkB,GAAG,IAAI,kBAAM,CACnC,wBAAwB,EACxB,2BAA2B,CAC5B,CAAC;IACF,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC;IAEjC,OAAO;SACJ,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,cAAc,EAAE,uBAAuB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAC9D,MAAM,CACL,uBAAuB,EACvB,sDAAsD,CACvD;SACA,SAAS,CAAC,kBAAkB,CAAC;SAC7B,MAAM,CAAC,0BAA0B,EAAE,kCAAkC,CAAC;SACtE,MAAM,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,CAAC;SAC/C,IAAI,CAAC,WAAW,EAAE,wBAAgB,CAAC;SACnC,MAAM,CAAC,CAAO,OAAO,EAAE,EAAE;QACxB,MAAM,GAAG,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAElD,oDAAoD;QACpD,IAAI,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"create-unisphere-repo-command.js","sourceRoot":"","sources":["../../../../../packages/create-unisphere-project/src/lib/create-unisphere-repo-command.ts"],"names":[],"mappings":"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"}
|