slicejs-cli 2.8.4 → 2.8.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.
@@ -17,22 +17,24 @@ export default async function initializeProject(projectType) {
17
17
  const destinationApi = getApiPath(import.meta.url);
18
18
  const destinationSrc = getSrcPath(import.meta.url);
19
19
 
20
- const fwSpinner = ora('Ensuring latest Slice framework...').start();
21
- let sliceBaseDir;
22
- try {
23
- const latest = execSync('npm view slicejs-web-framework version', { cwd: projectRoot }).toString().trim();
20
+ const fwSpinner = ora('Ensuring latest Slice framework...').start();
21
+ let latestVersion = null;
22
+ let sliceBaseDir;
23
+ try {
24
+ const latest = execSync('npm view slicejs-web-framework version', { cwd: projectRoot }).toString().trim();
25
+ latestVersion = latest;
24
26
  const installedPkgPath = path.join(projectRoot, 'node_modules', 'slicejs-web-framework', 'package.json');
25
27
  let installed = null;
26
28
  if (await fs.pathExists(installedPkgPath)) {
27
29
  const pkg = await fs.readJson(installedPkgPath);
28
30
  installed = pkg.version;
29
31
  }
30
- if (installed !== latest) {
31
- execSync(`npm install slicejs-web-framework@${latest} --save`, { cwd: projectRoot, stdio: 'inherit' });
32
- }
33
- sliceBaseDir = path.join(projectRoot, 'node_modules', 'slicejs-web-framework');
34
- fwSpinner.succeed(`slicejs-web-framework@${latest} ready`);
35
- } catch (err) {
32
+ if (installed !== latest) {
33
+ execSync(`npm install slicejs-web-framework@${latest} --save`, { cwd: projectRoot, stdio: 'inherit' });
34
+ }
35
+ sliceBaseDir = path.join(projectRoot, 'node_modules', 'slicejs-web-framework');
36
+ fwSpinner.succeed(`slicejs-web-framework@${latest} ready`);
37
+ } catch (err) {
36
38
  const fallback = path.join(path.dirname(fileURLToPath(import.meta.url)), '../../../slicejs-web-framework');
37
39
  if (await fs.pathExists(fallback)) {
38
40
  sliceBaseDir = fallback;
@@ -178,7 +180,8 @@ export default async function initializeProject(projectType) {
178
180
  };
179
181
  }
180
182
 
181
- pkg.scripts = pkg.scripts || {};
183
+ pkg.scripts = pkg.scripts || {};
184
+ pkg.dependencies = pkg.dependencies || {};
182
185
 
183
186
  // Comandos principales
184
187
  pkg.scripts['dev'] = 'slice dev';
@@ -210,11 +213,16 @@ export default async function initializeProject(projectType) {
210
213
  pkg.scripts['slice:sync'] = 'slice sync';
211
214
  pkg.scripts['run'] = 'slice dev';
212
215
 
213
- // Configuración de módulo
214
- pkg.type = pkg.type || 'module';
215
- pkg.engines = pkg.engines || { node: '>=20.0.0' };
216
-
217
- await fs.writeFile(pkgPath, JSON.stringify(pkg, null, 2), 'utf8');
216
+ // Configuración de módulo
217
+ pkg.type = pkg.type || 'module';
218
+ pkg.engines = pkg.engines || { node: '>=20.0.0' };
219
+
220
+ // Ensure framework dependency is present
221
+ if (!pkg.dependencies['slicejs-web-framework']) {
222
+ pkg.dependencies['slicejs-web-framework'] = latestVersion ? latestVersion : 'latest';
223
+ }
224
+
225
+ await fs.writeFile(pkgPath, JSON.stringify(pkg, null, 2), 'utf8');
218
226
  pkgSpinner.succeed('npm scripts configured successfully');
219
227
 
220
228
  console.log('\n🎯 New recommended commands:');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slicejs-cli",
3
- "version": "2.8.4",
3
+ "version": "2.8.5",
4
4
  "description": "Command client for developing web applications with Slice.js framework",
5
5
  "main": "client.js",
6
6
  "bin": {