@pure-ds/core 0.5.35 → 0.5.38

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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pure-ds/core",
3
3
  "shortname": "pds",
4
- "version": "0.5.35",
4
+ "version": "0.5.38",
5
5
  "description": "Pure Design System - Why develop a Design System when you can generate one?",
6
6
  "repository": {
7
7
  "type": "git",
@@ -104,26 +104,39 @@ async function copyTemplateDirectory(sourceDir, targetDir, options) {
104
104
  }
105
105
  }
106
106
 
107
- async function copyBootstrapTemplate({ version, generatedAt }) {
107
+ async function copyBootstrapTemplate({ version, generatedAt, isModule }) {
108
108
  await copyTemplateDirectory(templateRoot, projectRoot, { version, generatedAt });
109
109
 
110
- const esbuildSource = path.join(templateRoot, 'esbuild-dev.cjs');
111
- const esbuildTarget = path.join(projectRoot, 'esbuild-dev.cjs');
112
- await copyFileIfMissing(esbuildSource, esbuildTarget);
110
+ const esbuildCjsSource = path.join(templateRoot, 'esbuild-dev.cjs');
111
+ const esbuildCjsTarget = path.join(projectRoot, 'esbuild-dev.cjs');
112
+ await copyFileIfMissing(esbuildCjsSource, esbuildCjsTarget);
113
+
114
+ const esbuildMjsSource = path.join(templateRoot, 'esbuild-dev.mjs');
115
+ const esbuildMjsTarget = path.join(projectRoot, 'esbuild-dev.mjs');
116
+ await copyFileIfMissing(esbuildMjsSource, esbuildMjsTarget);
117
+
118
+ const esbuildJsTarget = path.join(projectRoot, 'esbuild-dev.js');
119
+ const esbuildJsSource = isModule ? esbuildMjsSource : esbuildCjsSource;
120
+ await copyFileIfMissing(esbuildJsSource, esbuildJsTarget);
113
121
  }
114
122
 
115
123
  async function ensurePackageScripts(pkg, pkgPath) {
116
124
  pkg.scripts = pkg.scripts || {};
117
125
  let changed = false;
118
126
 
119
- if (!pkg.scripts.dev) {
120
- if (existsSync(path.join(projectRoot, 'esbuild-dev.cjs'))) {
121
- pkg.scripts.dev = 'node esbuild-dev.cjs';
122
- } else if (existsSync(path.join(projectRoot, 'esbuild-dev.js'))) {
123
- pkg.scripts.dev = 'node esbuild-dev.js';
124
- } else {
125
- pkg.scripts.dev = 'node esbuild-dev.cjs';
126
- }
127
+ const devScript = pkg.scripts.dev;
128
+ const devScriptMatch = typeof devScript === 'string'
129
+ ? devScript.match(/esbuild-dev\.(mjs|cjs|js)/)
130
+ : null;
131
+ const devScriptFile = devScriptMatch?.[0];
132
+ const devScriptMissing = devScriptFile
133
+ ? !existsSync(path.join(projectRoot, devScriptFile))
134
+ : false;
135
+
136
+ if (!devScript || devScriptMissing) {
137
+ const candidates = ['esbuild-dev.js', 'esbuild-dev.mjs', 'esbuild-dev.cjs'];
138
+ const available = candidates.find((file) => existsSync(path.join(projectRoot, file)));
139
+ pkg.scripts.dev = `node ${available || 'esbuild-dev.cjs'}`;
127
140
  changed = true;
128
141
  }
129
142
 
@@ -267,14 +280,16 @@ async function main() {
267
280
  log('\n⚡ PDS Bootstrap\n');
268
281
 
269
282
  const { pkgPath, pkg } = await readPackageJson();
283
+ const isModule = pkg.type === 'module';
270
284
 
271
- await ensurePackageScripts(pkg, pkgPath);
272
285
  await ensureEsbuildDependency(pkg, pkgPath);
273
286
 
274
287
  const version = await getPdsCoreVersion();
275
288
  const generatedAt = new Date().toLocaleString();
276
289
 
277
- await copyBootstrapTemplate({ version, generatedAt });
290
+ await copyBootstrapTemplate({ version, generatedAt, isModule });
291
+
292
+ await ensurePackageScripts(pkg, pkgPath);
278
293
 
279
294
  await ensurePdsAssets();
280
295