@unisphere/cli 1.51.3 → 1.51.5

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.
Files changed (42) hide show
  1. package/package.json +1 -2
  2. package/src/lib/commands/check/command.js +1 -1
  3. package/src/lib/commands/check/command.js.map +1 -1
  4. package/src/lib/commands/info/command.js +1 -1
  5. package/src/lib/commands/info/command.js.map +1 -1
  6. package/src/lib/commands/package/publish/deploy-to-github.js +10 -5
  7. package/src/lib/commands/package/publish/deploy-to-github.js.map +1 -1
  8. package/src/lib/commands/package/publish/deploy-to-npm.js +10 -5
  9. package/src/lib/commands/package/publish/deploy-to-npm.js.map +1 -1
  10. package/src/lib/unisphere.js +0 -2
  11. package/src/lib/unisphere.js.map +1 -1
  12. package/src/lib/utils/get-cli-version.d.ts +1 -1
  13. package/src/lib/utils/get-cli-version.js +9 -3
  14. package/src/lib/utils/get-cli-version.js.map +1 -1
  15. package/_templates/unisphere-repo/.editorconfig +0 -13
  16. package/_templates/unisphere-repo/.eslintignore +0 -1
  17. package/_templates/unisphere-repo/.eslintrc.json +0 -46
  18. package/_templates/unisphere-repo/.nvmrc +0 -1
  19. package/_templates/unisphere-repo/.prettierignore +0 -5
  20. package/_templates/unisphere-repo/.prettierrc +0 -3
  21. package/_templates/unisphere-repo/.unisphere +0 -11
  22. package/_templates/unisphere-repo/README.md +0 -1
  23. package/_templates/unisphere-repo/jest.config.ts +0 -5
  24. package/_templates/unisphere-repo/jest.preset.js +0 -3
  25. package/_templates/unisphere-repo/nx.json +0 -76
  26. package/_templates/unisphere-repo/package-lock.json +0 -26338
  27. package/_templates/unisphere-repo/package.json +0 -106
  28. package/_templates/unisphere-repo/patches/@changesets+cli+2.27.11.patch +0 -58
  29. package/_templates/unisphere-repo/patches/@nx+rollup+19.2.2.patch +0 -29
  30. package/_templates/unisphere-repo/tsconfig.base.json +0 -22
  31. package/_templates/unisphere-repo/unisphere/applications/.gitkeep +0 -0
  32. package/_templates/unisphere-repo/unisphere/packages/.gitkeep +0 -0
  33. package/_templates/unisphere-repo/vitest.workspace.ts +0 -1
  34. package/src/lib/commands/generate/create-unisphere-repo-command.d.ts +0 -2
  35. package/src/lib/commands/generate/create-unisphere-repo-command.js +0 -211
  36. package/src/lib/commands/generate/create-unisphere-repo-command.js.map +0 -1
  37. package/src/lib/commands/generate/generate-commands.d.ts +0 -2
  38. package/src/lib/commands/generate/generate-commands.js +0 -13
  39. package/src/lib/commands/generate/generate-commands.js.map +0 -1
  40. package/src/lib/commands/generate/overwrite-placeholders.d.ts +0 -4
  41. package/src/lib/commands/generate/overwrite-placeholders.js +0 -119
  42. package/src/lib/commands/generate/overwrite-placeholders.js.map +0 -1
@@ -1,106 +0,0 @@
1
- {
2
- "name": "{{company-name|lower-dash-case}}-{{project-name|lower-dash-case}}/source",
3
- "version": "1.0.0",
4
- "license": "MIT",
5
- "scripts": {
6
- "postinstall": "patch-package && npm run reset",
7
- "start": "unisphere how-to",
8
- "info": "unisphere info",
9
- "check": "unisphere check",
10
- "reset": "unisphere reset",
11
- "changeset": "changeset"
12
- },
13
- "private": true,
14
- "devDependencies": {
15
- "@babel/core": "^7.14.5",
16
- "@babel/preset-react": "^7.14.5",
17
- "@changesets/cli": "^2.27.11",
18
- "@nx/eslint": "19.2.2",
19
- "@nx/eslint-plugin": "19.2.2",
20
- "@nx/jest": "19.2.2",
21
- "@nx/js": "19.2.2",
22
- "@nx/react": "^19.2.2",
23
- "@nx/rollup": "19.2.2",
24
- "@nx/vite": "19.2.2",
25
- "@nx/web": "19.2.2",
26
- "@nx/webpack": "19.2.2",
27
- "@nx/workspace": "19.2.2",
28
- "@rollup/plugin-alias": "^5.1.0",
29
- "@rollup/plugin-replace": "^5.0.7",
30
- "@rollup/plugin-terser": "^0.4.4",
31
- "@rollup/plugin-url": "^8.0.2",
32
- "@svgr/rollup": "^8.1.0",
33
- "@svgr/webpack": "^8.0.1",
34
- "@swc-node/register": "~1.9.1",
35
- "@swc/cli": "~0.3.12",
36
- "@swc/core": "~1.5.7",
37
- "@swc/helpers": "~0.5.11",
38
- "@testing-library/react": "15.0.6",
39
- "@types/jest": "^29.4.0",
40
- "@types/node": "18.16.9",
41
- "@types/react": "18.3.1",
42
- "@types/react-dom": "18.3.0",
43
- "@typescript-eslint/eslint-plugin": "^7.3.0",
44
- "@typescript-eslint/parser": "^7.3.0",
45
- "@vitejs/plugin-react": "^4.2.0",
46
- "@vitest/coverage-v8": "^1.0.4",
47
- "@vitest/ui": "^1.3.1",
48
- "babel-jest": "^29.4.1",
49
- "concurrently": "^8.2.2",
50
- "core-js": "^3.36.1",
51
- "eslint": "~8.57.0",
52
- "eslint-config-prettier": "^9.0.0",
53
- "eslint-plugin-import": "2.27.5",
54
- "eslint-plugin-jsx-a11y": "6.7.1",
55
- "eslint-plugin-react": "7.32.2",
56
- "eslint-plugin-react-hooks": "4.6.0",
57
- "jest": "^29.4.1",
58
- "jest-environment-jsdom": "^29.4.1",
59
- "jsdom": "~22.1.0",
60
- "local-web-server": "^5.3.3",
61
- "nx": "19.2.2",
62
- "patch-package": "^8.0.0",
63
- "prettier": "^2.6.2",
64
- "rollup": "^4.14.0",
65
- "rollup-plugin-analyzer": "^4.0.0",
66
- "ts-jest": "^29.1.0",
67
- "ts-node": "10.9.1",
68
- "tslib": "^2.3.0",
69
- "typescript": "~5.4.2",
70
- "vite": "^5.0.0",
71
- "vitest": "^1.3.1",
72
- "webpack-cli": "^5.1.4"
73
- },
74
- "overrides": {
75
- "@mui/styles@5": {
76
- "react": "18.x"
77
- }
78
- },
79
- "dependencies": {
80
- "@emotion/react": "^11.13.0",
81
- "@emotion/styled": "^11.13.0",
82
- "@kaltura/ds-react-bits": "^10.11.5",
83
- "@kaltura/ds-react-components": "^10.11.5",
84
- "@kaltura/ds-react-icons": "^10.11.5",
85
- "@kaltura/ds-react-theme": "^10.11.5",
86
- "@kaltura/ds-react-utils": "^10.11.5",
87
- "@mui/icons-material": "^5.15.21",
88
- "@mui/material": "^5.16.6",
89
- "@unisphere/cli": "^1.45.3",
90
- "@unisphere/notifications-core": "^1.13.0",
91
- "@unisphere/notifications-runtime-react": "^1.13.0",
92
- "@unisphere/runtime": "^1.74.0",
93
- "@unisphere/runtime-js": "^1.72.1",
94
- "@unisphere/runtime-react": "^1.69.1",
95
- "react": "18.3.1",
96
- "react-dom": "18.3.1",
97
- "@unisphere/core": "^1.75.7"
98
- },
99
- "optionalDependencies": {
100
- "@nx/nx-linux-x64-gnu": "19.2.2",
101
- "@rollup/rollup-linux-x64-gnu": "4.22.4"
102
- },
103
- "workspaces": [
104
- "unisphere/**"
105
- ]
106
- }
@@ -1,58 +0,0 @@
1
- diff --git a/node_modules/@changesets/cli/dist/changesets-cli.cjs.js b/node_modules/@changesets/cli/dist/changesets-cli.cjs.js
2
- index eaba708..aa36b0e 100644
3
- --- a/node_modules/@changesets/cli/dist/changesets-cli.cjs.js
4
- +++ b/node_modules/@changesets/cli/dist/changesets-cli.cjs.js
5
- @@ -336,23 +336,7 @@ async function createChangeset(changedPackages, allPackages) {
6
- const packagesToRelease = await getPackagesToRelease(changedPackages, allPackages);
7
- let pkgJsonsByName = getPkgJsonsByName(allPackages);
8
- let pkgsLeftToGetBumpTypeFor = new Set(packagesToRelease);
9
- - let pkgsThatShouldBeMajorBumped = (await askCheckboxPlus(bold(`Which packages should have a ${red("major")} bump?`), [{
10
- - name: "all packages",
11
- - choices: packagesToRelease.map(pkgName => {
12
- - return {
13
- - name: pkgName,
14
- - message: formatPkgNameAndVersion(pkgName, pkgJsonsByName.get(pkgName).version)
15
- - };
16
- - })
17
- - }], x => {
18
- - // this removes changed packages and unchanged packages from the list
19
- - // of packages shown after selection
20
- - if (Array.isArray(x)) {
21
- - return x.filter(x => x !== "all packages").map(x => cyan(x)).join(", ");
22
- - }
23
- -
24
- - return x;
25
- - })).filter(x => x !== "all packages");
26
- + let pkgsThatShouldBeMajorBumped = []
27
-
28
- for (const pkgName of pkgsThatShouldBeMajorBumped) {
29
- // for packages that are under v1, we want to make sure major releases are intended,
30
- diff --git a/node_modules/@changesets/cli/dist/changesets-cli.esm.js b/node_modules/@changesets/cli/dist/changesets-cli.esm.js
31
- index 817d3ce..f2fd456 100644
32
- --- a/node_modules/@changesets/cli/dist/changesets-cli.esm.js
33
- +++ b/node_modules/@changesets/cli/dist/changesets-cli.esm.js
34
- @@ -298,23 +298,7 @@ async function createChangeset(changedPackages, allPackages) {
35
- const packagesToRelease = await getPackagesToRelease(changedPackages, allPackages);
36
- let pkgJsonsByName = getPkgJsonsByName(allPackages);
37
- let pkgsLeftToGetBumpTypeFor = new Set(packagesToRelease);
38
- - let pkgsThatShouldBeMajorBumped = (await askCheckboxPlus(bold(`Which packages should have a ${red("major")} bump?`), [{
39
- - name: "all packages",
40
- - choices: packagesToRelease.map(pkgName => {
41
- - return {
42
- - name: pkgName,
43
- - message: formatPkgNameAndVersion(pkgName, pkgJsonsByName.get(pkgName).version)
44
- - };
45
- - })
46
- - }], x => {
47
- - // this removes changed packages and unchanged packages from the list
48
- - // of packages shown after selection
49
- - if (Array.isArray(x)) {
50
- - return x.filter(x => x !== "all packages").map(x => cyan(x)).join(", ");
51
- - }
52
- -
53
- - return x;
54
- - })).filter(x => x !== "all packages");
55
- + let pkgsThatShouldBeMajorBumped = []
56
-
57
- for (const pkgName of pkgsThatShouldBeMajorBumped) {
58
- // for packages that are under v1, we want to make sure major releases are intended,
@@ -1,29 +0,0 @@
1
- diff --git a/node_modules/@nx/rollup/src/plugins/with-nx/with-nx.js b/node_modules/@nx/rollup/src/plugins/with-nx/with-nx.js
2
- index bffa207..6f73d4b 100644
3
- --- a/node_modules/@nx/rollup/src/plugins/with-nx/with-nx.js
4
- +++ b/node_modules/@nx/rollup/src/plugins/with-nx/with-nx.js
5
- @@ -118,6 +118,13 @@ dependencies) {
6
- };
7
- }
8
- if (!global.NX_GRAPH_CREATION) {
9
- + let compilerOptionsInterceptor = ((config) => config)
10
- + if (rollupConfig.unisphere?.interceptors?.compilerOptions) {
11
- + console.log(`[unisphere.nx.rollup] using monkey patched interceptor for TS compiler options`);
12
- + compilerOptionsInterceptor = rollupConfig.unisphere?.interceptors?.compilerOptions ;
13
- + }
14
- +
15
- +
16
- finalConfig.plugins = [
17
- copy({
18
- targets: convertCopyAssetsToRollupOptions(options.outputPath, options.assets),
19
- @@ -128,8 +135,9 @@ dependencies) {
20
- require('rollup-plugin-typescript2')({
21
- check: !options.skipTypeCheck,
22
- tsconfig: options.tsConfig,
23
- + exclude: ['**/*.stories.ts', '**/*.stories.tsx'], // Add this line
24
- tsconfigOverride: {
25
- - compilerOptions: createTsCompilerOptions(projectRoot, tsConfig, options, dependencies),
26
- + compilerOptions: compilerOptionsInterceptor(createTsCompilerOptions(projectRoot, tsConfig, options, dependencies)),
27
- },
28
- }),
29
- (0, type_definitions_1.typeDefinitions)({
@@ -1,22 +0,0 @@
1
- {
2
- "compileOnSave": false,
3
- "compilerOptions": {
4
- "rootDir": ".",
5
- "sourceMap": true,
6
- "declaration": false,
7
- "moduleResolution": "node",
8
- "emitDecoratorMetadata": true,
9
- "resolveJsonModule": true,
10
- "experimentalDecorators": true,
11
- "importHelpers": true,
12
- "target": "es2015",
13
- "module": "esnext",
14
- "lib": ["es2020", "dom"],
15
- "skipLibCheck": true,
16
- "skipDefaultLibCheck": true,
17
- "baseUrl": ".",
18
- "paths": {
19
- }
20
- },
21
- "exclude": ["node_modules", "tmp"]
22
- }
@@ -1 +0,0 @@
1
- export default ['**/*/vite.config.ts', '**/*/vitest.config.ts'];
@@ -1,2 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const createCreateUnisphereRepoCommand: (parentCommand: Command) => Command;
@@ -1,211 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createCreateUnisphereRepoCommand = void 0;
4
- const tslib_1 = require("tslib");
5
- const commander_1 = require("commander");
6
- const utils_1 = require("../../utils/utils");
7
- const debug_1 = require("debug");
8
- const listr2_1 = require("listr2");
9
- const defaults_1 = require("../../utils/listr2/defaults");
10
- const path_1 = require("path");
11
- const fs_1 = require("fs");
12
- const fs_extra_1 = require("fs-extra");
13
- const overwrite_placeholders_1 = require("./overwrite-placeholders");
14
- const inquirer = require("inquirer");
15
- const child_process_1 = require("child_process");
16
- const debug = (0, debug_1.default)('unisphere:template:create-unisphere-repo');
17
- // Path to the local template directory (copied to dist during build)
18
- const NEW_REPO_PATH = (0, path_1.resolve)(__dirname, '../../../../_templates/unisphere-repo');
19
- const normalizeInput = (input) => {
20
- return input
21
- .trim() // Remove leading/trailing spaces
22
- .toLowerCase() // Convert to lowercase
23
- .replace(/\s+/g, ' ') // Multiple spaces to single space
24
- .replace(/[^a-z0-9\s]/g, '') // Remove special characters but keep spaces
25
- .replace(/\s+/g, '-') // Convert spaces to hyphens
26
- .replace(/-+/g, '-') // Multiple hyphens to single hyphen
27
- .replace(/^-+|-+$/g, ''); // Remove leading/trailing hyphens
28
- };
29
- const validateInput = (name) => {
30
- return /^[a-zA-Z\s-]+$/.test(name);
31
- };
32
- const createCreateUnisphereRepoCommand = (parentCommand) => {
33
- const command = parentCommand.command('create-unisphere-repo');
34
- const nxpluginPathOption = new commander_1.Option('--nxplugin-path <path>', 'bypass github tags checks');
35
- nxpluginPathOption.hidden = true;
36
- command
37
- .description('create a new unisphere repository from template')
38
- .option('--cwd <path>', 'The working directory', process.cwd())
39
- .option('--company-name <name>', 'The company name (letters, hyphens, and spaces only)')
40
- .addOption(nxpluginPathOption)
41
- .option('--experience-name <name>', 'The experience name (any format)')
42
- .option('--verbose', 'Output debug logs', false)
43
- .hook('preAction', utils_1.printVerboseHook)
44
- .action((options) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
45
- const cwd = (0, path_1.resolve)(options.cwd || process.cwd());
46
- // Get values from options or prompt for all of them
47
- let _companyName = options.companyName;
48
- let _experienceName = options.experienceName;
49
- // Create prompt questions for missing values
50
- const questions = [];
51
- if (!_companyName) {
52
- questions.push({
53
- type: 'input',
54
- name: 'companyName',
55
- message: 'Enter company name (letters, hyphens, and spaces only):',
56
- validate: (input) => {
57
- if (!input || !input.trim()) {
58
- return 'Company name is required';
59
- }
60
- if (!validateInput(input.trim())) {
61
- return 'Company name can only contain letters, hyphens, and spaces';
62
- }
63
- return true;
64
- },
65
- });
66
- }
67
- if (!_experienceName) {
68
- questions.push({
69
- type: 'input',
70
- name: 'experienceName',
71
- message: 'Enter experience name:',
72
- validate: (input) => {
73
- if (!input || !input.trim()) {
74
- return 'Experience name is required';
75
- }
76
- if (!validateInput(input.trim())) {
77
- return 'Experience name can only contain letters, hyphens, and spaces';
78
- }
79
- return true;
80
- },
81
- });
82
- }
83
- // Prompt for missing values
84
- if (questions.length > 0) {
85
- const answers = yield inquirer.prompt(questions);
86
- _companyName = _companyName || answers.companyName;
87
- _experienceName = _experienceName || answers.experienceName;
88
- }
89
- // Validate company name if provided via options
90
- if (_companyName && !validateInput(_companyName)) {
91
- throw new Error('Company name can only contain letters, hyphens, and spaces');
92
- }
93
- if (_experienceName && !validateInput(_experienceName)) {
94
- throw new Error('Experience name can only contain letters, hyphens, and spaces');
95
- }
96
- debug(`Company name: ${_companyName}`);
97
- debug(`Experience name: ${_experienceName}`);
98
- // Generate repo name from company and experience name
99
- const companyName = normalizeInput(_companyName);
100
- const experienceName = normalizeInput(_experienceName);
101
- const repoName = `unisphere-${experienceName}`;
102
- const repoPath = (0, path_1.resolve)(cwd, repoName);
103
- debug(`Creating repository: ${repoName} at ${repoPath}`);
104
- const tasks = [
105
- {
106
- title: 'Check if the working directory exists',
107
- task: () => {
108
- if (!(0, fs_1.existsSync)(cwd)) {
109
- throw new Error(`Working directory "${cwd}" does not exist.`);
110
- }
111
- },
112
- },
113
- {
114
- title: 'Check if repository path exists',
115
- task: () => {
116
- if ((0, fs_1.existsSync)(repoPath)) {
117
- throw new Error(`Path "${repoPath}" already exists.`);
118
- }
119
- },
120
- },
121
- {
122
- title: 'Copy template from local path',
123
- task: (ctx, task) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
124
- debug(`Created repository folder: ${repoPath}`);
125
- (0, fs_1.mkdirSync)(repoPath, { recursive: true });
126
- debug(`Copying from ${NEW_REPO_PATH} to ${repoPath}`);
127
- try {
128
- yield (0, fs_extra_1.copy)(NEW_REPO_PATH, repoPath, {
129
- overwrite: true,
130
- recursive: true,
131
- });
132
- debug(`Successfully copied template from ${NEW_REPO_PATH}`);
133
- }
134
- catch (error) {
135
- throw new Error(`Failed to copy template: ${error.message}`);
136
- }
137
- }),
138
- },
139
- {
140
- title: 'Customize template for experience',
141
- task: (ctx, task) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
142
- task.title = 'Processing template files and placeholders';
143
- yield (0, overwrite_placeholders_1.overwritePlaceholders)(repoPath, {
144
- companyName,
145
- experienceName,
146
- });
147
- task.title = 'Template customization completed';
148
- }),
149
- },
150
- {
151
- title: 'Install packages',
152
- task: (ctx, task) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
153
- const packageJsonPath = (0, path_1.resolve)(repoPath, 'package.json');
154
- if (!(0, fs_1.existsSync)(packageJsonPath)) {
155
- task.skip('No package.json found');
156
- return;
157
- }
158
- const packageJson = yield (0, fs_extra_1.readJson)(packageJsonPath);
159
- const allDependencies = Object.assign(Object.assign(Object.assign({}, packageJson.dependencies), packageJson.devDependencies), packageJson.peerDependencies);
160
- // Find all @unisphere packages
161
- const unispherePackages = Object.keys(allDependencies).filter((pkg) => pkg.startsWith('@unisphere'));
162
- if (unispherePackages.length === 0) {
163
- task.skip('No @unisphere packages found');
164
- return;
165
- }
166
- debug(`Found @unisphere packages: ${unispherePackages.join(', ')}`);
167
- // Install each @unisphere package with ^1 (latest 1.x version)
168
- const packagesToInstall = unispherePackages.map((pkg) => `${pkg}@^1`);
169
- const installCommand = `npm install ${packagesToInstall.join(' ')}`;
170
- debug(`Running: ${installCommand}`);
171
- task.title = 'Installing @unisphere packages with 1.x versions';
172
- (0, child_process_1.execSync)(installCommand, {
173
- cwd: repoPath,
174
- stdio: 'inherit',
175
- });
176
- task.title = '@unisphere packages installed with 1.x versions';
177
- }),
178
- },
179
- {
180
- title: 'Create core',
181
- task: (ctx, task) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
182
- const packageName = options.nxpluginPath || '@unisphere/nx';
183
- const createCoreCommand = `npx nx g ${packageName}:add-package --packageName="core" --scope="internal"`;
184
- debug(`Running: ${createCoreCommand}`);
185
- task.title = 'Creating core';
186
- (0, child_process_1.execSync)(createCoreCommand, {
187
- cwd: repoPath,
188
- stdio: 'inherit',
189
- });
190
- // Create widget-types.ts file in core package
191
- const widgetTypesPath = (0, path_1.resolve)(repoPath, 'unisphere/packages/core/src/lib/widget-types.ts');
192
- const _companyName = companyName === 'kaltura' ? 'unisphere' : companyName;
193
- const widgetTypesContent = `export const WidgetName = '${_companyName}.widget.${experienceName}'`;
194
- debug(`Creating widget-types.ts at: ${widgetTypesPath}`);
195
- yield (0, fs_extra_1.outputFile)(widgetTypesPath, widgetTypesContent);
196
- const indexFileContent = `export * from './lib/widget-types';`;
197
- const indexPath = (0, path_1.resolve)(repoPath, 'unisphere/packages/core/src/index.ts');
198
- debug(`Creating index.ts at: ${indexPath}`);
199
- yield (0, fs_extra_1.outputFile)(indexPath, indexFileContent);
200
- task.title = 'Core created';
201
- }),
202
- },
203
- ];
204
- const taskRunner = new listr2_1.Listr(tasks, (0, defaults_1.getDefaultListrOptions)());
205
- yield taskRunner.run();
206
- console.log(`Successfully created unisphere repository: ${repoPath}`);
207
- }));
208
- return command;
209
- };
210
- exports.createCreateUnisphereRepoCommand = createCreateUnisphereRepoCommand;
211
- //# sourceMappingURL=create-unisphere-repo-command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-unisphere-repo-command.js","sourceRoot":"","sources":["../../../../../../../packages/unisphere-cli/src/lib/commands/generate/create-unisphere-repo-command.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const createGenerateCommand: () => Command;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createGenerateCommand = void 0;
4
- const commander_1 = require("commander");
5
- const create_unisphere_repo_command_1 = require("./create-unisphere-repo-command");
6
- const createGenerateCommand = () => {
7
- const generateCommand = new commander_1.Command('generate');
8
- generateCommand.description('manage Unisphere templates');
9
- (0, create_unisphere_repo_command_1.createCreateUnisphereRepoCommand)(generateCommand);
10
- return generateCommand;
11
- };
12
- exports.createGenerateCommand = createGenerateCommand;
13
- //# sourceMappingURL=generate-commands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-commands.js","sourceRoot":"","sources":["../../../../../../../packages/unisphere-cli/src/lib/commands/generate/generate-commands.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,mFAAmF;AAI5E,MAAM,qBAAqB,GAAG,GAAY,EAAE;IACjD,MAAM,eAAe,GAAG,IAAI,mBAAO,CAAC,UAAU,CAAC,CAAC;IAGhD,eAAe,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAE1D,IAAA,gEAAgC,EAAC,eAAe,CAAC,CAAC;IAElD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AATW,QAAA,qBAAqB,yBAShC"}
@@ -1,4 +0,0 @@
1
- export declare const overwritePlaceholders: (folderPath: string, { companyName, experienceName, }: {
2
- companyName: string;
3
- experienceName: string;
4
- }) => Promise<void>;
@@ -1,119 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.overwritePlaceholders = void 0;
4
- const tslib_1 = require("tslib");
5
- const fs_extra_1 = require("fs-extra");
6
- const path_1 = require("path");
7
- const debug_1 = require("debug");
8
- const debug = (0, debug_1.default)('unisphere:utils:overwrite-placeholders');
9
- // Transformation functions
10
- const transformations = {
11
- 'lower-dash-case': (str) => str.toLowerCase().replace(/[^a-z0-9]/g, '-'),
12
- 'lower-kebab-case': (str) => str.toLowerCase().replace(/[^a-z0-9]/g, '-'),
13
- 'camelCase': (str) => str.replace(/[-_\s]+(.)?/g, (_, c) => c ? c.toUpperCase() : ''),
14
- 'PascalCase': (str) => {
15
- const camelCase = str.replace(/[-_\s]+(.)?/g, (_, c) => c ? c.toUpperCase() : '');
16
- return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
17
- },
18
- 'UPPER_SNAKE_CASE': (str) => str.toUpperCase().replace(/[^A-Z0-9]/g, '_'),
19
- 'lowercase': (str) => str.toLowerCase(),
20
- 'uppercase': (str) => str.toUpperCase(),
21
- 'human-readable': (str) => {
22
- // Convert camelCase, PascalCase, snake_case, kebab-case to human readable
23
- return str
24
- .replace(/([a-z])([A-Z])/g, '$1 $2') // camelCase/PascalCase
25
- .replace(/[-_]/g, ' ') // kebab-case and snake_case
26
- .replace(/\s+/g, ' ') // multiple spaces
27
- .trim()
28
- .toLowerCase()
29
- .replace(/\b\w/g, l => l.toUpperCase()); // Title case
30
- },
31
- };
32
- // Apply transformation to a value
33
- const applyTransformation = (value, transformation) => {
34
- if (!transformation || !transformations[transformation]) {
35
- return value;
36
- }
37
- return transformations[transformation](value);
38
- };
39
- // Replace placeholders in text
40
- const replacePlaceholders = (content, replacements) => {
41
- let result = content;
42
- // Match patterns like {{variable|transformation}} or {{variable}}
43
- const placeholderRegex = /\{\{([^}|]+)(\|([^}]+))?\}\}/g;
44
- result = result.replace(placeholderRegex, (match, variable, _, transformation) => {
45
- const value = replacements[variable];
46
- if (value === undefined) {
47
- debug(`Warning: No replacement found for placeholder: ${match}`);
48
- return match; // Keep original if no replacement found
49
- }
50
- return applyTransformation(value, transformation);
51
- });
52
- return result;
53
- };
54
- // Process a single file
55
- const processFile = (filePath, replacements) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
56
- try {
57
- const content = yield (0, fs_extra_1.readFile)(filePath, 'utf-8');
58
- const newContent = replacePlaceholders(content, replacements);
59
- if (newContent !== content) {
60
- yield (0, fs_extra_1.writeFile)(filePath, newContent, 'utf-8');
61
- debug(`Processed placeholders in: ${filePath}`);
62
- }
63
- }
64
- catch (error) {
65
- // Skip binary files or files that can't be read as text
66
- debug(`Skipping file (likely binary): ${filePath}`);
67
- }
68
- });
69
- // Rename file or directory if it contains placeholders
70
- const renameIfNeeded = (itemPath, replacements) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
71
- const itemName = (0, path_1.basename)(itemPath);
72
- const newItemName = replacePlaceholders(itemName, replacements);
73
- if (newItemName !== itemName) {
74
- const newItemPath = (0, path_1.join)((0, path_1.dirname)(itemPath), newItemName);
75
- yield (0, fs_extra_1.rename)(itemPath, newItemPath);
76
- debug(`Renamed: ${itemName} → ${newItemName}`);
77
- return newItemPath;
78
- }
79
- return itemPath;
80
- });
81
- // Recursively process directory
82
- const processDirectory = (dirPath, replacements) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
83
- const items = yield (0, fs_extra_1.readdir)(dirPath);
84
- for (const item of items) {
85
- const itemPath = (0, path_1.join)(dirPath, item);
86
- const itemStat = yield (0, fs_extra_1.stat)(itemPath);
87
- if (itemStat.isDirectory()) {
88
- // Recursively process subdirectories first
89
- yield processDirectory(itemPath, replacements);
90
- // Then rename directory if needed
91
- yield renameIfNeeded(itemPath, replacements);
92
- }
93
- else {
94
- // Process file content
95
- yield processFile(itemPath, replacements);
96
- // Rename file if needed
97
- yield renameIfNeeded(itemPath, replacements);
98
- }
99
- }
100
- });
101
- const overwritePlaceholders = (folderPath_1, _a) => tslib_1.__awaiter(void 0, [folderPath_1, _a], void 0, function* (folderPath, { companyName, experienceName, }) {
102
- debug(`Processing placeholders in: ${folderPath}`);
103
- // Create replacement map
104
- const replacements = {
105
- 'company-name': companyName,
106
- 'project-name': experienceName,
107
- };
108
- debug(`Placeholder replacements:`, replacements);
109
- try {
110
- yield processDirectory(folderPath, replacements);
111
- debug(`Successfully processed all placeholders in: ${folderPath}`);
112
- }
113
- catch (error) {
114
- debug(`Error processing placeholders: ${error.message}`);
115
- throw new Error(`Failed to process placeholders: ${error.message}`);
116
- }
117
- });
118
- exports.overwritePlaceholders = overwritePlaceholders;
119
- //# sourceMappingURL=overwrite-placeholders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"overwrite-placeholders.js","sourceRoot":"","sources":["../../../../../../../packages/unisphere-cli/src/lib/commands/generate/overwrite-placeholders.ts"],"names":[],"mappings":"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"}