@forgecart/cli 1.0.1 → 2.0.0
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/bin/forgecart.d.ts +2 -0
- package/dist/bin/forgecart.js +4 -0
- package/dist/bin/forgecart.js.map +1 -0
- package/dist/src/cli.d.ts +14 -1
- package/dist/src/cli.js +30 -15
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/init.d.ts +20 -2
- package/dist/src/commands/init.js +88 -255
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/placeholders.d.ts +19 -0
- package/dist/src/commands/placeholders.js +109 -0
- package/dist/src/commands/placeholders.js.map +1 -0
- package/dist/src/output.d.ts +11 -0
- package/dist/src/output.js +16 -0
- package/dist/src/output.js.map +1 -0
- package/package.json +21 -11
- package/templates/storefront/.env.example +12 -0
- package/templates/storefront/.forgecartignore +2 -0
- package/templates/storefront/Procfile +1 -0
- package/templates/storefront/README.md +87 -0
- package/templates/storefront/next.config.js +14 -0
- package/templates/storefront/package.json +25 -0
- package/templates/storefront/postcss.config.js +6 -0
- package/templates/storefront/src/app/cart/page.tsx +110 -0
- package/templates/storefront/src/app/globals.css +13 -0
- package/templates/storefront/src/app/layout.tsx +30 -0
- package/templates/storefront/src/app/page.tsx +49 -0
- package/templates/storefront/src/app/products/[slug]/not-found.tsx +20 -0
- package/templates/storefront/src/app/products/[slug]/page.tsx +96 -0
- package/templates/storefront/src/app/products/page.tsx +27 -0
- package/templates/storefront/src/components/AddToCartButton.tsx +30 -0
- package/templates/storefront/src/components/Header.tsx +36 -0
- package/templates/storefront/src/components/ProductCard.tsx +43 -0
- package/templates/storefront/src/lib/cart-context.tsx +116 -0
- package/templates/storefront/src/lib/forgecart.ts +202 -0
- package/templates/storefront/tailwind.config.js +8 -0
- package/templates/storefront/tsconfig.json +23 -0
- package/LICENSE +0 -21
- package/README.md +0 -179
- package/bin/forgecart.js +0 -3
- package/dist/package.json +0 -49
- package/dist/src/cli.d.ts.map +0 -1
- package/dist/src/commands/delete.d.ts +0 -3
- package/dist/src/commands/delete.d.ts.map +0 -1
- package/dist/src/commands/delete.js +0 -58
- package/dist/src/commands/delete.js.map +0 -1
- package/dist/src/commands/deploy.d.ts +0 -3
- package/dist/src/commands/deploy.d.ts.map +0 -1
- package/dist/src/commands/deploy.js +0 -235
- package/dist/src/commands/deploy.js.map +0 -1
- package/dist/src/commands/env.d.ts +0 -3
- package/dist/src/commands/env.d.ts.map +0 -1
- package/dist/src/commands/env.js +0 -151
- package/dist/src/commands/env.js.map +0 -1
- package/dist/src/commands/init.d.ts.map +0 -1
- package/dist/src/commands/list.d.ts +0 -3
- package/dist/src/commands/list.d.ts.map +0 -1
- package/dist/src/commands/list.js +0 -63
- package/dist/src/commands/list.js.map +0 -1
- package/dist/src/commands/login.d.ts +0 -3
- package/dist/src/commands/login.d.ts.map +0 -1
- package/dist/src/commands/login.js +0 -120
- package/dist/src/commands/login.js.map +0 -1
- package/dist/src/commands/logs.d.ts +0 -3
- package/dist/src/commands/logs.d.ts.map +0 -1
- package/dist/src/commands/logs.js +0 -88
- package/dist/src/commands/logs.js.map +0 -1
- package/dist/src/commands/scale.d.ts +0 -3
- package/dist/src/commands/scale.d.ts.map +0 -1
- package/dist/src/commands/scale.js +0 -48
- package/dist/src/commands/scale.js.map +0 -1
- package/dist/src/commands/status.d.ts +0 -3
- package/dist/src/commands/status.d.ts.map +0 -1
- package/dist/src/commands/status.js +0 -87
- package/dist/src/commands/status.js.map +0 -1
- package/dist/src/commands/whoami.d.ts +0 -3
- package/dist/src/commands/whoami.d.ts.map +0 -1
- package/dist/src/commands/whoami.js +0 -57
- package/dist/src/commands/whoami.js.map +0 -1
- package/dist/src/index.d.ts +0 -3
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -5
- package/dist/src/index.js.map +0 -1
- package/dist/src/lib/api-client.d.ts +0 -28
- package/dist/src/lib/api-client.d.ts.map +0 -1
- package/dist/src/lib/api-client.js +0 -137
- package/dist/src/lib/api-client.js.map +0 -1
- package/dist/src/lib/archive.d.ts +0 -9
- package/dist/src/lib/archive.d.ts.map +0 -1
- package/dist/src/lib/archive.js +0 -118
- package/dist/src/lib/archive.js.map +0 -1
- package/dist/src/lib/config-updater.d.ts +0 -10
- package/dist/src/lib/config-updater.d.ts.map +0 -1
- package/dist/src/lib/config-updater.js +0 -34
- package/dist/src/lib/config-updater.js.map +0 -1
- package/dist/src/lib/config.d.ts +0 -53
- package/dist/src/lib/config.d.ts.map +0 -1
- package/dist/src/lib/config.js +0 -162
- package/dist/src/lib/config.js.map +0 -1
- package/dist/src/lib/env-sync.d.ts +0 -36
- package/dist/src/lib/env-sync.d.ts.map +0 -1
- package/dist/src/lib/env-sync.js +0 -118
- package/dist/src/lib/env-sync.js.map +0 -1
- package/dist/src/lib/logger.d.ts +0 -15
- package/dist/src/lib/logger.d.ts.map +0 -1
- package/dist/src/lib/logger.js +0 -54
- package/dist/src/lib/logger.js.map +0 -1
- package/dist/src/lib/nx-generator.d.ts +0 -20
- package/dist/src/lib/nx-generator.d.ts.map +0 -1
- package/dist/src/lib/nx-generator.js +0 -338
- package/dist/src/lib/nx-generator.js.map +0 -1
- package/dist/src/lib/standalone.d.ts +0 -28
- package/dist/src/lib/standalone.d.ts.map +0 -1
- package/dist/src/lib/standalone.js +0 -107
- package/dist/src/lib/standalone.js.map +0 -1
- package/dist/src/types/index.d.ts +0 -80
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/index.js +0 -14
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/utils/spinner.d.ts +0 -4
- package/dist/src/utils/spinner.d.ts.map +0 -1
- package/dist/src/utils/spinner.js +0 -20
- package/dist/src/utils/spinner.js.map +0 -1
- package/dist/src/utils/validation.d.ts +0 -12
- package/dist/src/utils/validation.d.ts.map +0 -1
- package/dist/src/utils/validation.js +0 -82
- package/dist/src/utils/validation.js.map +0 -1
- package/dist/templates/application-additions/.forgecartignore +0 -37
- package/dist/templates/application-additions/Procfile +0 -1
- package/dist/templates/application-additions/env.example +0 -7
- package/dist/templates/application-additions/src/app/app.module.ts +0 -16
- package/dist/templates/application-additions/src/services/forgecart.service.ts +0 -62
- package/dist/templates/application-additions/src/services/index.ts +0 -2
- package/dist/templates/application-additions/src/services/price-fetcher.service.ts +0 -71
- package/dist/templates/storefront-additions/.forgecartignore +0 -64
- package/dist/templates/storefront-additions/Procfile +0 -1
- package/dist/templates/storefront-additions/env.example +0 -3
- package/dist/templates/storefront-additions/package.json +0 -11
- package/dist/templates/storefront-additions/src/app/products/page.tsx +0 -66
- package/dist/templates/storefront-additions/src/lib/forgecart.ts +0 -22
- package/dist/templates/workspace/.nxignore +0 -2
- package/templates/application-additions/.forgecartignore +0 -37
- package/templates/application-additions/Procfile +0 -1
- package/templates/application-additions/env.example +0 -7
- package/templates/application-additions/src/app/app.module.ts +0 -16
- package/templates/application-additions/src/services/forgecart.service.ts +0 -62
- package/templates/application-additions/src/services/index.ts +0 -2
- package/templates/application-additions/src/services/price-fetcher.service.ts +0 -71
- package/templates/storefront-additions/.forgecartignore +0 -64
- package/templates/storefront-additions/Procfile +0 -1
- package/templates/storefront-additions/env.example +0 -3
- package/templates/storefront-additions/package.json +0 -11
- package/templates/storefront-additions/src/app/products/page.tsx +0 -66
- package/templates/storefront-additions/src/lib/forgecart.ts +0 -22
- package/templates/workspace/.nxignore +0 -2
|
@@ -1,338 +0,0 @@
|
|
|
1
|
-
import { spawn } from 'child_process';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import * as fs from 'fs';
|
|
4
|
-
import logger from './logger.js';
|
|
5
|
-
export const DEFAULT_NX_VERSION = '21.2.0';
|
|
6
|
-
async function runCommand(command, args, cwd, silent = false) {
|
|
7
|
-
return new Promise((resolve) => {
|
|
8
|
-
const child = spawn(command, args, {
|
|
9
|
-
cwd,
|
|
10
|
-
shell: true,
|
|
11
|
-
stdio: silent ? 'pipe' : 'inherit',
|
|
12
|
-
env: {
|
|
13
|
-
...process.env,
|
|
14
|
-
NX_DAEMON: 'false', // Disable Nx daemon to avoid cross-project issues
|
|
15
|
-
},
|
|
16
|
-
});
|
|
17
|
-
let output = '';
|
|
18
|
-
let error = '';
|
|
19
|
-
if (silent) {
|
|
20
|
-
child.stdout?.on('data', (data) => {
|
|
21
|
-
output += data.toString();
|
|
22
|
-
});
|
|
23
|
-
child.stderr?.on('data', (data) => {
|
|
24
|
-
error += data.toString();
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
child.on('close', (code) => {
|
|
28
|
-
resolve({
|
|
29
|
-
success: code === 0,
|
|
30
|
-
output,
|
|
31
|
-
error,
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
child.on('error', (err) => {
|
|
35
|
-
resolve({
|
|
36
|
-
success: false,
|
|
37
|
-
output,
|
|
38
|
-
error: err.message,
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Get the NX version from the project's package.json
|
|
45
|
-
*/
|
|
46
|
-
function getNxVersion(projectRoot) {
|
|
47
|
-
const packageJsonPath = path.join(projectRoot, 'package.json');
|
|
48
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
49
|
-
// nx version is in devDependencies
|
|
50
|
-
const nxVersion = packageJson.devDependencies?.nx || packageJson.dependencies?.nx;
|
|
51
|
-
// Remove ^ or ~ prefix if present
|
|
52
|
-
return nxVersion?.replace(/^[\^~]/, '') || 'latest';
|
|
53
|
-
}
|
|
54
|
-
export async function createNxWorkspace(projectName, targetDir, nxVersion = DEFAULT_NX_VERSION) {
|
|
55
|
-
logger.info(`Creating NX workspace: ${projectName} (NX v${nxVersion})`);
|
|
56
|
-
const result = await runCommand('npx', [
|
|
57
|
-
`create-nx-workspace@${nxVersion}`,
|
|
58
|
-
projectName,
|
|
59
|
-
'--preset=apps',
|
|
60
|
-
'--nxCloud=skip',
|
|
61
|
-
'--packageManager=npm',
|
|
62
|
-
], targetDir);
|
|
63
|
-
if (!result.success) {
|
|
64
|
-
logger.error('Failed to create NX workspace');
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
// Create tsconfig.base.json if it doesn't exist (required by @nx/next generator)
|
|
68
|
-
const projectPath = path.join(targetDir, projectName);
|
|
69
|
-
const tsconfigPath = path.join(projectPath, 'tsconfig.base.json');
|
|
70
|
-
if (!fs.existsSync(tsconfigPath)) {
|
|
71
|
-
const tsconfigContent = {
|
|
72
|
-
compileOnSave: false,
|
|
73
|
-
compilerOptions: {
|
|
74
|
-
rootDir: '.',
|
|
75
|
-
sourceMap: true,
|
|
76
|
-
declaration: false,
|
|
77
|
-
moduleResolution: 'node',
|
|
78
|
-
emitDecoratorMetadata: true,
|
|
79
|
-
experimentalDecorators: true,
|
|
80
|
-
importHelpers: true,
|
|
81
|
-
target: 'es2015',
|
|
82
|
-
module: 'esnext',
|
|
83
|
-
lib: ['es2020', 'dom'],
|
|
84
|
-
skipLibCheck: true,
|
|
85
|
-
skipDefaultLibCheck: true,
|
|
86
|
-
baseUrl: '.',
|
|
87
|
-
paths: {},
|
|
88
|
-
},
|
|
89
|
-
exclude: ['node_modules', 'tmp'],
|
|
90
|
-
};
|
|
91
|
-
fs.writeFileSync(tsconfigPath, JSON.stringify(tsconfigContent, null, 2));
|
|
92
|
-
logger.info('Created tsconfig.base.json');
|
|
93
|
-
}
|
|
94
|
-
// Copy workspace-level templates (like .nxignore)
|
|
95
|
-
const templatesDir = getCliTemplatesDir();
|
|
96
|
-
const workspaceTemplatesDir = path.join(templatesDir, 'workspace');
|
|
97
|
-
if (fs.existsSync(workspaceTemplatesDir)) {
|
|
98
|
-
copyTemplateFiles(workspaceTemplatesDir, projectPath);
|
|
99
|
-
logger.debug('Copied workspace templates');
|
|
100
|
-
}
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
103
|
-
export async function generateNextApp(appName, projectRoot) {
|
|
104
|
-
// Get the NX version from the workspace package.json
|
|
105
|
-
const nxVersion = getNxVersion(projectRoot);
|
|
106
|
-
// Install all required @nx/* plugins at the SAME version to avoid conflicts
|
|
107
|
-
logger.info('Installing @nx plugins...');
|
|
108
|
-
const plugins = [
|
|
109
|
-
`@nx/next@${nxVersion}`,
|
|
110
|
-
`@nx/react@${nxVersion}`,
|
|
111
|
-
`@nx/jest@${nxVersion}`,
|
|
112
|
-
`@nx/playwright@${nxVersion}`,
|
|
113
|
-
`@nx/eslint@${nxVersion}`,
|
|
114
|
-
];
|
|
115
|
-
const installResult = await runCommand('npm', ['install', '--save-dev', ...plugins], projectRoot);
|
|
116
|
-
if (!installResult.success) {
|
|
117
|
-
logger.error('Failed to install @nx plugins');
|
|
118
|
-
return false;
|
|
119
|
-
}
|
|
120
|
-
logger.info(`Generating Next.js application: ${appName}`);
|
|
121
|
-
const result = await runCommand('npx', [
|
|
122
|
-
'nx',
|
|
123
|
-
'g',
|
|
124
|
-
'@nx/next:application',
|
|
125
|
-
appName,
|
|
126
|
-
'--directory=apps/' + appName,
|
|
127
|
-
'--style=css',
|
|
128
|
-
'--appDir=true',
|
|
129
|
-
'--linter=eslint',
|
|
130
|
-
'--e2eTestRunner=playwright',
|
|
131
|
-
'--unitTestRunner=jest',
|
|
132
|
-
'--src=true',
|
|
133
|
-
], projectRoot);
|
|
134
|
-
if (!result.success) {
|
|
135
|
-
logger.error('Failed to generate Next.js application');
|
|
136
|
-
return false;
|
|
137
|
-
}
|
|
138
|
-
return true;
|
|
139
|
-
}
|
|
140
|
-
export async function generateNestApp(appName, projectRoot) {
|
|
141
|
-
// Get the NX version from the workspace package.json
|
|
142
|
-
const nxVersion = getNxVersion(projectRoot);
|
|
143
|
-
// Install all required @nx/* plugins at the SAME version to avoid conflicts
|
|
144
|
-
logger.info('Installing @nx plugins...');
|
|
145
|
-
const plugins = [
|
|
146
|
-
`@nx/nest@${nxVersion}`,
|
|
147
|
-
`@nx/node@${nxVersion}`,
|
|
148
|
-
`@nx/jest@${nxVersion}`,
|
|
149
|
-
`@nx/eslint@${nxVersion}`,
|
|
150
|
-
];
|
|
151
|
-
const installResult = await runCommand('npm', ['install', '--save-dev', ...plugins], projectRoot);
|
|
152
|
-
if (!installResult.success) {
|
|
153
|
-
logger.error('Failed to install @nx plugins');
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
logger.info(`Generating NestJS application: ${appName}`);
|
|
157
|
-
const result = await runCommand('npx', [
|
|
158
|
-
'nx',
|
|
159
|
-
'g',
|
|
160
|
-
'@nx/nest:application',
|
|
161
|
-
'--name=' + appName,
|
|
162
|
-
'--directory=apps/' + appName,
|
|
163
|
-
'--linter=eslint',
|
|
164
|
-
'--e2eTestRunner=jest',
|
|
165
|
-
'--unitTestRunner=jest',
|
|
166
|
-
], projectRoot);
|
|
167
|
-
if (!result.success) {
|
|
168
|
-
logger.error('Failed to generate NestJS application');
|
|
169
|
-
return false;
|
|
170
|
-
}
|
|
171
|
-
return true;
|
|
172
|
-
}
|
|
173
|
-
export async function installDependency(packageName, projectRoot, dev = false) {
|
|
174
|
-
logger.info(`Installing ${packageName}`);
|
|
175
|
-
const args = ['install', packageName];
|
|
176
|
-
if (dev) {
|
|
177
|
-
args.push('--save-dev');
|
|
178
|
-
}
|
|
179
|
-
const result = await runCommand('npm', args, projectRoot);
|
|
180
|
-
if (!result.success) {
|
|
181
|
-
logger.error(`Failed to install ${packageName}`);
|
|
182
|
-
return false;
|
|
183
|
-
}
|
|
184
|
-
return true;
|
|
185
|
-
}
|
|
186
|
-
export async function runNxBuild(appName, projectRoot) {
|
|
187
|
-
logger.info(`Building ${appName}`);
|
|
188
|
-
// Use npm run to ensure correct project context
|
|
189
|
-
const result = await runCommand('npm', ['run', `build:${appName}`], projectRoot);
|
|
190
|
-
if (!result.success) {
|
|
191
|
-
logger.error(`Failed to build ${appName}`);
|
|
192
|
-
return false;
|
|
193
|
-
}
|
|
194
|
-
return true;
|
|
195
|
-
}
|
|
196
|
-
export async function runNxBuildMany(appNames, projectRoot) {
|
|
197
|
-
logger.info(`Building ${appNames.join(', ')}`);
|
|
198
|
-
// Use npm run build:all to ensure correct project context
|
|
199
|
-
const result = await runCommand('npm', ['run', 'build:all'], projectRoot);
|
|
200
|
-
if (!result.success) {
|
|
201
|
-
logger.error(`Failed to build projects`);
|
|
202
|
-
return false;
|
|
203
|
-
}
|
|
204
|
-
return true;
|
|
205
|
-
}
|
|
206
|
-
export function copyTemplateFiles(templateDir, targetDir, overwrite = true) {
|
|
207
|
-
if (!fs.existsSync(templateDir)) {
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
const files = getAllFiles(templateDir);
|
|
211
|
-
for (const file of files) {
|
|
212
|
-
const relativePath = path.relative(templateDir, file);
|
|
213
|
-
const targetPath = path.join(targetDir, relativePath);
|
|
214
|
-
const targetDirPath = path.dirname(targetPath);
|
|
215
|
-
if (!fs.existsSync(targetDirPath)) {
|
|
216
|
-
fs.mkdirSync(targetDirPath, { recursive: true });
|
|
217
|
-
}
|
|
218
|
-
if (overwrite || !fs.existsSync(targetPath)) {
|
|
219
|
-
fs.copyFileSync(file, targetPath);
|
|
220
|
-
logger.debug(`Copied: ${relativePath}`);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
function getAllFiles(dir) {
|
|
225
|
-
const files = [];
|
|
226
|
-
const items = fs.readdirSync(dir, { withFileTypes: true });
|
|
227
|
-
for (const item of items) {
|
|
228
|
-
const fullPath = path.join(dir, item.name);
|
|
229
|
-
if (item.isDirectory()) {
|
|
230
|
-
files.push(...getAllFiles(fullPath));
|
|
231
|
-
}
|
|
232
|
-
else {
|
|
233
|
-
files.push(fullPath);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
return files;
|
|
237
|
-
}
|
|
238
|
-
export function addPackageScripts(projectRoot, withApplication) {
|
|
239
|
-
const packageJsonPath = path.join(projectRoot, 'package.json');
|
|
240
|
-
if (!fs.existsSync(packageJsonPath)) {
|
|
241
|
-
logger.warn('package.json not found, skipping scripts addition');
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
245
|
-
packageJson.scripts = {
|
|
246
|
-
...packageJson.scripts,
|
|
247
|
-
// Storefront scripts
|
|
248
|
-
dev: 'nx run storefront:dev',
|
|
249
|
-
'dev:storefront': 'nx run storefront:dev',
|
|
250
|
-
start: 'nx run storefront:start',
|
|
251
|
-
'start:storefront': 'nx run storefront:start',
|
|
252
|
-
build: 'nx run storefront:build',
|
|
253
|
-
'build:storefront': 'nx run storefront:build',
|
|
254
|
-
test: 'nx run-many --target=test',
|
|
255
|
-
'test:storefront': 'nx run storefront:test',
|
|
256
|
-
lint: 'nx run-many --target=lint',
|
|
257
|
-
'lint:storefront': 'nx run storefront:lint',
|
|
258
|
-
e2e: 'nx run storefront-e2e:e2e',
|
|
259
|
-
};
|
|
260
|
-
if (withApplication) {
|
|
261
|
-
// Application scripts
|
|
262
|
-
packageJson.scripts['dev:application'] = 'nx run application:serve';
|
|
263
|
-
packageJson.scripts['start:application'] = 'nx run application:serve';
|
|
264
|
-
packageJson.scripts['build:application'] = 'nx run application:build';
|
|
265
|
-
packageJson.scripts['test:application'] = 'nx run application:test';
|
|
266
|
-
packageJson.scripts['lint:application'] = 'nx run application:lint';
|
|
267
|
-
// Combined scripts
|
|
268
|
-
packageJson.scripts['dev:all'] =
|
|
269
|
-
'nx run-many --target=dev --projects=storefront & nx run application:serve';
|
|
270
|
-
packageJson.scripts['build:all'] =
|
|
271
|
-
'nx run-many --target=build --projects=storefront,application';
|
|
272
|
-
packageJson.scripts['test:all'] =
|
|
273
|
-
'nx run-many --target=test --projects=storefront,application';
|
|
274
|
-
}
|
|
275
|
-
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
|
|
276
|
-
logger.info('Added convenience scripts to package.json');
|
|
277
|
-
}
|
|
278
|
-
export function getCliTemplatesDir() {
|
|
279
|
-
// When running from CLI package, templates can be in different locations:
|
|
280
|
-
// 1. Development: apps/cli/templates (relative to src/lib)
|
|
281
|
-
// 2. Installed: dist/templates (relative to dist/lib)
|
|
282
|
-
const currentFileUrl = new URL(import.meta.url);
|
|
283
|
-
const currentFilePath = currentFileUrl.pathname;
|
|
284
|
-
const libDir = path.dirname(currentFilePath);
|
|
285
|
-
// Try dist/templates first (installed package)
|
|
286
|
-
const distTemplatesPath = path.resolve(libDir, '..', 'templates');
|
|
287
|
-
if (fs.existsSync(distTemplatesPath)) {
|
|
288
|
-
return distTemplatesPath;
|
|
289
|
-
}
|
|
290
|
-
// Try apps/cli/templates (development)
|
|
291
|
-
const devTemplatesPath = path.resolve(libDir, '..', '..', 'templates');
|
|
292
|
-
if (fs.existsSync(devTemplatesPath)) {
|
|
293
|
-
return devTemplatesPath;
|
|
294
|
-
}
|
|
295
|
-
// Fallback - try to find templates directory
|
|
296
|
-
logger.warn('Templates directory not found, using fallback path');
|
|
297
|
-
return devTemplatesPath;
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Rename env.example to .env.example in a directory
|
|
301
|
-
* This is a workaround for build tools that don't copy dotfiles
|
|
302
|
-
*/
|
|
303
|
-
export function renameEnvExample(targetDir) {
|
|
304
|
-
const envExamplePath = path.join(targetDir, 'env.example');
|
|
305
|
-
const dotEnvExamplePath = path.join(targetDir, '.env.example');
|
|
306
|
-
if (fs.existsSync(envExamplePath)) {
|
|
307
|
-
fs.renameSync(envExamplePath, dotEnvExamplePath);
|
|
308
|
-
logger.debug(`Renamed env.example to .env.example in ${targetDir}`);
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Append .env patterns to .gitignore if not already present
|
|
313
|
-
*/
|
|
314
|
-
export function appendEnvPatternsToGitignore(projectRoot) {
|
|
315
|
-
const gitignorePath = path.join(projectRoot, '.gitignore');
|
|
316
|
-
const envPatterns = `
|
|
317
|
-
# Environment files
|
|
318
|
-
.env
|
|
319
|
-
.env.local
|
|
320
|
-
.env.*.local
|
|
321
|
-
!.env.example
|
|
322
|
-
`;
|
|
323
|
-
if (fs.existsSync(gitignorePath)) {
|
|
324
|
-
const content = fs.readFileSync(gitignorePath, 'utf-8');
|
|
325
|
-
// Check if .env patterns are already present
|
|
326
|
-
if (!content.includes('# Environment files') &&
|
|
327
|
-
!content.includes('.env.local')) {
|
|
328
|
-
fs.appendFileSync(gitignorePath, envPatterns);
|
|
329
|
-
logger.debug('Added .env patterns to .gitignore');
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
else {
|
|
333
|
-
// Create .gitignore with env patterns
|
|
334
|
-
fs.writeFileSync(gitignorePath, envPatterns.trim() + '\n');
|
|
335
|
-
logger.debug('Created .gitignore with .env patterns');
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
//# sourceMappingURL=nx-generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nx-generator.js","sourceRoot":"","sources":["../../../src/lib/nx-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Prepares a Next.js standalone deployment by copying static and public files
|
|
3
|
-
* to the correct location within the standalone output directory.
|
|
4
|
-
*
|
|
5
|
-
* In an Nx monorepo, the standalone output structure is:
|
|
6
|
-
* .next/standalone/apps/storefront/server.js
|
|
7
|
-
*
|
|
8
|
-
* The server looks for static files relative to its location, so we need to copy:
|
|
9
|
-
* - .next/static -> .next/standalone/apps/storefront/.next/static
|
|
10
|
-
* - public -> .next/standalone/apps/storefront/public
|
|
11
|
-
*/
|
|
12
|
-
export declare function prepareStandaloneDeployment(appDir: string): Promise<void>;
|
|
13
|
-
/**
|
|
14
|
-
* Prepares a NestJS application deployment by copying the built output
|
|
15
|
-
* and required files to a deployment staging directory.
|
|
16
|
-
*
|
|
17
|
-
* In an Nx monorepo, the build output is at dist/apps/application/
|
|
18
|
-
* We create a staging directory with:
|
|
19
|
-
* - Built JS files from dist/apps/application
|
|
20
|
-
* - Procfile from apps/application
|
|
21
|
-
* - .env file from apps/application or project root
|
|
22
|
-
*
|
|
23
|
-
* @param appDir - The application source directory (apps/application)
|
|
24
|
-
* @param projectRoot - The project root directory
|
|
25
|
-
* @returns The path to the deployment staging directory
|
|
26
|
-
*/
|
|
27
|
-
export declare function prepareApplicationDeployment(appDir: string, projectRoot: string): Promise<string>;
|
|
28
|
-
//# sourceMappingURL=standalone.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../../../src/lib/standalone.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAgDjB"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import * as fs from 'fs';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
/**
|
|
4
|
-
* Prepares a Next.js standalone deployment by copying static and public files
|
|
5
|
-
* to the correct location within the standalone output directory.
|
|
6
|
-
*
|
|
7
|
-
* In an Nx monorepo, the standalone output structure is:
|
|
8
|
-
* .next/standalone/apps/storefront/server.js
|
|
9
|
-
*
|
|
10
|
-
* The server looks for static files relative to its location, so we need to copy:
|
|
11
|
-
* - .next/static -> .next/standalone/apps/storefront/.next/static
|
|
12
|
-
* - public -> .next/standalone/apps/storefront/public
|
|
13
|
-
*/
|
|
14
|
-
export async function prepareStandaloneDeployment(appDir) {
|
|
15
|
-
const nextDir = path.join(appDir, '.next');
|
|
16
|
-
const standaloneDir = path.join(nextDir, 'standalone');
|
|
17
|
-
// In Nx monorepo, standalone output is at .next/standalone/apps/storefront/
|
|
18
|
-
const standaloneAppDir = path.join(standaloneDir, 'apps', 'storefront');
|
|
19
|
-
if (!fs.existsSync(standaloneAppDir)) {
|
|
20
|
-
throw new Error('Standalone build not found. Ensure next.config.js has output: "standalone"');
|
|
21
|
-
}
|
|
22
|
-
// Copy static files: .next/static -> .next/standalone/apps/storefront/.next/static
|
|
23
|
-
const staticSrc = path.join(nextDir, 'static');
|
|
24
|
-
const staticDest = path.join(standaloneAppDir, '.next', 'static');
|
|
25
|
-
if (fs.existsSync(staticSrc)) {
|
|
26
|
-
copyDirSync(staticSrc, staticDest);
|
|
27
|
-
}
|
|
28
|
-
// Copy public files: public -> .next/standalone/apps/storefront/public
|
|
29
|
-
const publicSrc = path.join(appDir, 'public');
|
|
30
|
-
const publicDest = path.join(standaloneAppDir, 'public');
|
|
31
|
-
if (fs.existsSync(publicSrc)) {
|
|
32
|
-
copyDirSync(publicSrc, publicDest);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Prepares a NestJS application deployment by copying the built output
|
|
37
|
-
* and required files to a deployment staging directory.
|
|
38
|
-
*
|
|
39
|
-
* In an Nx monorepo, the build output is at dist/apps/application/
|
|
40
|
-
* We create a staging directory with:
|
|
41
|
-
* - Built JS files from dist/apps/application
|
|
42
|
-
* - Procfile from apps/application
|
|
43
|
-
* - .env file from apps/application or project root
|
|
44
|
-
*
|
|
45
|
-
* @param appDir - The application source directory (apps/application)
|
|
46
|
-
* @param projectRoot - The project root directory
|
|
47
|
-
* @returns The path to the deployment staging directory
|
|
48
|
-
*/
|
|
49
|
-
export async function prepareApplicationDeployment(appDir, projectRoot) {
|
|
50
|
-
const distDir = path.join(projectRoot, 'dist', 'apps', 'application');
|
|
51
|
-
// Use .forgecart directory at project root to avoid Nx detecting it as a duplicate project
|
|
52
|
-
const deployDir = path.join(projectRoot, '.forgecart', 'application-deploy');
|
|
53
|
-
// Check if build output exists
|
|
54
|
-
if (!fs.existsSync(distDir)) {
|
|
55
|
-
throw new Error('Application build not found. Run the build first or check dist/apps/application exists.');
|
|
56
|
-
}
|
|
57
|
-
// Clean and create deploy directory
|
|
58
|
-
if (fs.existsSync(deployDir)) {
|
|
59
|
-
fs.rmSync(deployDir, { recursive: true });
|
|
60
|
-
}
|
|
61
|
-
fs.mkdirSync(deployDir, { recursive: true });
|
|
62
|
-
// Copy built files from dist/apps/application
|
|
63
|
-
copyDirSync(distDir, deployDir);
|
|
64
|
-
// Remove project.json if copied (causes Nx duplicate project error)
|
|
65
|
-
const projectJsonPath = path.join(deployDir, 'project.json');
|
|
66
|
-
if (fs.existsSync(projectJsonPath)) {
|
|
67
|
-
fs.unlinkSync(projectJsonPath);
|
|
68
|
-
}
|
|
69
|
-
// Copy Procfile
|
|
70
|
-
const procfileSrc = path.join(appDir, 'Procfile');
|
|
71
|
-
if (fs.existsSync(procfileSrc)) {
|
|
72
|
-
fs.copyFileSync(procfileSrc, path.join(deployDir, 'Procfile'));
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
throw new Error('Procfile not found in application directory');
|
|
76
|
-
}
|
|
77
|
-
// Copy .env file - check app dir first, then project root
|
|
78
|
-
const envSrcApp = path.join(appDir, '.env');
|
|
79
|
-
const envSrcRoot = path.join(projectRoot, '.env');
|
|
80
|
-
const envDest = path.join(deployDir, '.env');
|
|
81
|
-
if (fs.existsSync(envSrcApp)) {
|
|
82
|
-
fs.copyFileSync(envSrcApp, envDest);
|
|
83
|
-
}
|
|
84
|
-
else if (fs.existsSync(envSrcRoot)) {
|
|
85
|
-
fs.copyFileSync(envSrcRoot, envDest);
|
|
86
|
-
}
|
|
87
|
-
// .env is optional - don't throw if not found
|
|
88
|
-
return deployDir;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Recursively copies a directory and its contents.
|
|
92
|
-
*/
|
|
93
|
-
function copyDirSync(src, dest) {
|
|
94
|
-
fs.mkdirSync(dest, { recursive: true });
|
|
95
|
-
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
96
|
-
for (const entry of entries) {
|
|
97
|
-
const srcPath = path.join(src, entry.name);
|
|
98
|
-
const destPath = path.join(dest, entry.name);
|
|
99
|
-
if (entry.isDirectory()) {
|
|
100
|
-
copyDirSync(srcPath, destPath);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
fs.copyFileSync(srcPath, destPath);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
//# sourceMappingURL=standalone.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"standalone.js","sourceRoot":"","sources":["../../../src/lib/standalone.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
export interface ForgecartConfig {
|
|
2
|
-
version: string;
|
|
3
|
-
channelToken: string;
|
|
4
|
-
apiUrl: string;
|
|
5
|
-
hasApplication: boolean;
|
|
6
|
-
storefrontPath: string;
|
|
7
|
-
applicationPath?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare enum DeploymentType {
|
|
10
|
-
STOREFRONT = "storefront",
|
|
11
|
-
APPLICATION = "application"
|
|
12
|
-
}
|
|
13
|
-
export declare enum DeploymentStatus {
|
|
14
|
-
PENDING = "PENDING",
|
|
15
|
-
STAGING = "STAGING",
|
|
16
|
-
RUNNING = "RUNNING",
|
|
17
|
-
ERROR = "ERROR",
|
|
18
|
-
STOPPED = "STOPPED"
|
|
19
|
-
}
|
|
20
|
-
export interface Deployment {
|
|
21
|
-
id: string;
|
|
22
|
-
type: DeploymentType;
|
|
23
|
-
status: DeploymentStatus;
|
|
24
|
-
url: string | null;
|
|
25
|
-
instances: number;
|
|
26
|
-
lastDeployedAt: string | null;
|
|
27
|
-
errorMessage: string | null;
|
|
28
|
-
}
|
|
29
|
-
export interface ChannelInfo {
|
|
30
|
-
id: string;
|
|
31
|
-
code: string;
|
|
32
|
-
name: string;
|
|
33
|
-
domain: string;
|
|
34
|
-
hasApplication: boolean;
|
|
35
|
-
applicationName: string | null;
|
|
36
|
-
}
|
|
37
|
-
export interface DeploymentEnv {
|
|
38
|
-
key: string;
|
|
39
|
-
value: string;
|
|
40
|
-
}
|
|
41
|
-
export interface DeploymentLogEntry {
|
|
42
|
-
timestamp: string;
|
|
43
|
-
message: string;
|
|
44
|
-
type: string;
|
|
45
|
-
}
|
|
46
|
-
export interface InitOptions {
|
|
47
|
-
projectName?: string;
|
|
48
|
-
channelToken?: string;
|
|
49
|
-
withApplication?: boolean;
|
|
50
|
-
apiUrl?: string;
|
|
51
|
-
nxVersion?: string;
|
|
52
|
-
}
|
|
53
|
-
export interface DeployOptions {
|
|
54
|
-
type?: DeploymentType;
|
|
55
|
-
}
|
|
56
|
-
export interface ScaleOptions {
|
|
57
|
-
type: DeploymentType;
|
|
58
|
-
instances: number;
|
|
59
|
-
}
|
|
60
|
-
export interface EnvGetOptions {
|
|
61
|
-
type: DeploymentType;
|
|
62
|
-
}
|
|
63
|
-
export interface EnvSetOptions {
|
|
64
|
-
type: DeploymentType;
|
|
65
|
-
key: string;
|
|
66
|
-
value: string;
|
|
67
|
-
}
|
|
68
|
-
export interface EnvUnsetOptions {
|
|
69
|
-
type: DeploymentType;
|
|
70
|
-
key: string;
|
|
71
|
-
}
|
|
72
|
-
export interface LogsOptions {
|
|
73
|
-
type: DeploymentType;
|
|
74
|
-
follow?: boolean;
|
|
75
|
-
}
|
|
76
|
-
export interface DeleteOptions {
|
|
77
|
-
type: DeploymentType;
|
|
78
|
-
force?: boolean;
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,oBAAY,cAAc;IACxB,UAAU,eAAe;IACzB,WAAW,gBAAgB;CAC5B;AAED,oBAAY,gBAAgB;IAC1B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,EAAE,gBAAgB,CAAA;IACxB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAA;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,cAAc,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,cAAc,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,cAAc,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB"}
|
package/dist/src/types/index.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export var DeploymentType;
|
|
2
|
-
(function (DeploymentType) {
|
|
3
|
-
DeploymentType["STOREFRONT"] = "storefront";
|
|
4
|
-
DeploymentType["APPLICATION"] = "application";
|
|
5
|
-
})(DeploymentType || (DeploymentType = {}));
|
|
6
|
-
export var DeploymentStatus;
|
|
7
|
-
(function (DeploymentStatus) {
|
|
8
|
-
DeploymentStatus["PENDING"] = "PENDING";
|
|
9
|
-
DeploymentStatus["STAGING"] = "STAGING";
|
|
10
|
-
DeploymentStatus["RUNNING"] = "RUNNING";
|
|
11
|
-
DeploymentStatus["ERROR"] = "ERROR";
|
|
12
|
-
DeploymentStatus["STOPPED"] = "STOPPED";
|
|
13
|
-
})(DeploymentStatus || (DeploymentStatus = {}));
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AASA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,6CAA2B,CAAA;AAC7B,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAED,MAAM,CAAN,IAAY,gBAMX;AAND,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,uCAAmB,CAAA;AACrB,CAAC,EANW,gBAAgB,KAAhB,gBAAgB,QAM3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../src/utils/spinner.ts"],"names":[],"mappings":"AAAA,OAAY,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAE9B,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAK/C;AAED,wBAAsB,WAAW,CAAC,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAWZ"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import ora from 'ora';
|
|
2
|
-
export function createSpinner(text) {
|
|
3
|
-
return ora({
|
|
4
|
-
text,
|
|
5
|
-
spinner: 'dots',
|
|
6
|
-
});
|
|
7
|
-
}
|
|
8
|
-
export async function withSpinner(text, successText, failText, fn) {
|
|
9
|
-
const spinner = createSpinner(text).start();
|
|
10
|
-
try {
|
|
11
|
-
const result = await fn();
|
|
12
|
-
spinner.succeed(successText);
|
|
13
|
-
return result;
|
|
14
|
-
}
|
|
15
|
-
catch (error) {
|
|
16
|
-
spinner.fail(failText);
|
|
17
|
-
throw error;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=spinner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/utils/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,GAAY,MAAM,KAAK,CAAA;AAE9B,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,GAAG,CAAC;QACT,IAAI;QACJ,OAAO,EAAE,MAAM;KAChB,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,WAAmB,EACnB,QAAgB,EAChB,EAAoB;IAEpB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAA;IAE3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAA;QACzB,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC5B,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { DeploymentType } from '../types/index.js';
|
|
2
|
-
export declare function isValidProjectName(name: string): boolean;
|
|
3
|
-
export declare function detectProjectType(dir: string): DeploymentType | null;
|
|
4
|
-
export declare function validateChannelToken(token: string): boolean;
|
|
5
|
-
export declare function isNxWorkspace(dir: string): boolean;
|
|
6
|
-
export declare function hasStorefront(projectRoot: string, storefrontPath: string): boolean;
|
|
7
|
-
export declare function hasApplication(projectRoot: string, applicationPath: string): boolean;
|
|
8
|
-
export declare function getCurrentAppDir(projectRoot: string): {
|
|
9
|
-
type: DeploymentType;
|
|
10
|
-
path: string;
|
|
11
|
-
} | null;
|
|
12
|
-
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CA+CpE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,OAAO,CAMT;AAED,wBAAgB,cAAc,CAC5B,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,GACtB,OAAO,CAMT;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG;IACrD,IAAI,EAAE,cAAc,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,IAAI,CAcP"}
|