spine-framework 0.1.51 → 0.1.52

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.
@@ -364,9 +364,14 @@ async function installApp(slug: string, options: InstallOptions): Promise<void>
364
364
  let packageName: string | null = null
365
365
 
366
366
  if (isNpmPackage(slug)) {
367
- packageName = slug
367
+ // Strip version specifier (e.g. spine-framework-cortex@latest → spine-framework-cortex)
368
+ // Handles: pkg@latest, pkg@1.2.3, @scope/pkg@latest (preserve leading @ for scoped packages)
369
+ const barePackageName = slug.startsWith('@')
370
+ ? slug.replace(/(@[^/]+\/[^@]+)@.*$/, '$1') // @scope/pkg@version → @scope/pkg
371
+ : slug.replace(/@.*$/, '') // pkg@version → pkg
372
+ packageName = barePackageName
368
373
  console.log(`📥 Step 1: Installing npm package...`)
369
- const pkgDir = resolve(PROJECT_ROOT, `node_modules/${slug}`)
374
+ const pkgDir = resolve(PROJECT_ROOT, `node_modules/${barePackageName}`)
370
375
  if (!existsSync(pkgDir)) {
371
376
  try {
372
377
  console.log(` Running: npm install ${slug}`)
@@ -379,11 +384,11 @@ async function installApp(slug: string, options: InstallOptions): Promise<void>
379
384
  } else {
380
385
  console.log(` ⏭️ Package already in node_modules`)
381
386
  }
382
- resolvedSlug = resolveSlugFromPackage(slug)
387
+ resolvedSlug = resolveSlugFromPackage(barePackageName)
383
388
  console.log(` ✓ App slug: ${resolvedSlug}`)
384
389
 
385
390
  console.log(`\n📁 Step 2: Ejecting app files...`)
386
- copyAppFiles(slug, resolvedSlug)
391
+ copyAppFiles(barePackageName, resolvedSlug)
387
392
  }
388
393
 
389
394
  // Check prerequisites (e.g. portal requires cortex)
@@ -1 +1 @@
1
- {"version":3,"file":"install-app.d.ts","sourceRoot":"","sources":["../../../.framework/cli/commands/install-app.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA4bxC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,QAgB1D"}
1
+ {"version":3,"file":"install-app.d.ts","sourceRoot":"","sources":["../../../.framework/cli/commands/install-app.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAicxC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,QAgB1D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spine-framework",
3
- "version": "0.1.51",
3
+ "version": "0.1.52",
4
4
  "private": false,
5
5
  "description": "Spine — enterprise application framework built on Supabase + Netlify + React",
6
6
  "type": "module",