@bleedingdev/modern-js-create 3.5.0-ultramodern.11 → 3.5.0-ultramodern.12

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.
@@ -407,6 +407,19 @@ function ensureYamlMapEntry(source, key, entryKey, value) {
407
407
  changed: true
408
408
  };
409
409
  }
410
+ function removeYamlMapEntry(source, entryKey) {
411
+ const packageName = entryKey.includes('@') ? entryKey.slice(0, entryKey.lastIndexOf('@')) : entryKey;
412
+ const escapedPackageName = packageName.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
413
+ const currentEntryPattern = new RegExp(`^ {2}'${escapedPackageName}@[^']+': .+\\n?`, 'mu');
414
+ if (!currentEntryPattern.test(source)) return {
415
+ source,
416
+ changed: false
417
+ };
418
+ return {
419
+ source: source.replace(currentEntryPattern, ''),
420
+ changed: true
421
+ };
422
+ }
410
423
  function ensureGeneratedPatchFile(workspaceRoot, relativePatchPath, sourcePatchPath) {
411
424
  const targetPath = external_node_path_default().join(workspaceRoot, relativePatchPath);
412
425
  const patch = external_node_fs_default().readFileSync(sourcePatchPath, 'utf-8');
@@ -417,10 +430,53 @@ function ensureGeneratedPatchFile(workspaceRoot, relativePatchPath, sourcePatchP
417
430
  external_node_fs_default().writeFileSync(targetPath, patch, 'utf-8');
418
431
  return true;
419
432
  }
420
- function ensureGeneratedDeclarationPatches(workspaceRoot) {
433
+ function removeGeneratedPatchFileIfUnchanged(workspaceRoot, relativePatchPath, sourcePatchPath) {
434
+ const targetPath = external_node_path_default().join(workspaceRoot, relativePatchPath);
435
+ if (!external_node_fs_default().existsSync(targetPath)) return false;
436
+ const patch = external_node_fs_default().readFileSync(sourcePatchPath, 'utf-8');
437
+ if (external_node_fs_default().readFileSync(targetPath, 'utf-8') !== patch) return false;
438
+ external_node_fs_default().rmSync(targetPath);
439
+ return true;
440
+ }
441
+ function workspaceUsesDependency(workspaceRoot, packageName) {
442
+ const packageJsonPaths = [
443
+ external_node_path_default().join(workspaceRoot, 'package.json')
444
+ ];
445
+ for (const workspaceDir of [
446
+ 'apps',
447
+ 'verticals',
448
+ 'packages'
449
+ ]){
450
+ const absoluteWorkspaceDir = external_node_path_default().join(workspaceRoot, workspaceDir);
451
+ if (external_node_fs_default().existsSync(absoluteWorkspaceDir)) for (const entry of external_node_fs_default().readdirSync(absoluteWorkspaceDir, {
452
+ withFileTypes: true
453
+ })){
454
+ if (!entry.isDirectory()) continue;
455
+ const packageJsonPath = external_node_path_default().join(absoluteWorkspaceDir, entry.name, 'package.json');
456
+ if (external_node_fs_default().existsSync(packageJsonPath)) packageJsonPaths.push(packageJsonPath);
457
+ }
458
+ }
459
+ for (const packageJsonPath of packageJsonPaths){
460
+ const packageJson = JSON.parse(external_node_fs_default().readFileSync(packageJsonPath, 'utf-8'));
461
+ for (const field of [
462
+ 'dependencies',
463
+ 'devDependencies',
464
+ 'peerDependencies',
465
+ 'optionalDependencies'
466
+ ]){
467
+ const dependencies = packageJson[field];
468
+ if (dependencies && 'object' == typeof dependencies) {
469
+ if (Object.prototype.hasOwnProperty.call(dependencies, packageName)) return true;
470
+ for (const specifier of Object.values(dependencies))if ('string' == typeof specifier && specifier.startsWith(`npm:${packageName}@`)) return true;
471
+ }
472
+ }
473
+ }
474
+ return false;
475
+ }
476
+ function ensureGeneratedDeclarationPatches(workspaceRoot, options) {
421
477
  let changed = false;
422
478
  changed = ensureGeneratedPatchFile(workspaceRoot, effectDeclarationPatchPath, effectDeclarationPatchSourcePath) || changed;
423
- changed = ensureGeneratedPatchFile(workspaceRoot, drizzleOrmDeclarationPatchPath, drizzleOrmDeclarationPatchSourcePath) || changed;
479
+ changed = options.includeDrizzleOrmPatch ? ensureGeneratedPatchFile(workspaceRoot, drizzleOrmDeclarationPatchPath, drizzleOrmDeclarationPatchSourcePath) || changed : removeGeneratedPatchFileIfUnchanged(workspaceRoot, drizzleOrmDeclarationPatchPath, drizzleOrmDeclarationPatchSourcePath) || changed;
424
480
  return changed;
425
481
  }
426
482
  function updateGeneratedPnpmWorkspacePolicy(workspaceRoot) {
@@ -428,6 +484,7 @@ function updateGeneratedPnpmWorkspacePolicy(workspaceRoot) {
428
484
  if (!external_node_fs_default().existsSync(workspaceFile)) return false;
429
485
  let source = external_node_fs_default().readFileSync(workspaceFile, 'utf-8');
430
486
  let changed = false;
487
+ const usesDrizzleOrm = workspaceUsesDependency(workspaceRoot, 'drizzle-orm');
431
488
  const replacements = [
432
489
  [
433
490
  /^ {4}'@effect\/vitest>effect': .+$/mu,
@@ -465,7 +522,7 @@ function updateGeneratedPnpmWorkspacePolicy(workspaceRoot) {
465
522
  const effectPatch = ensureYamlMapEntry(source, 'patchedDependencies', `effect@${versions_cjs_namespaceObject.EFFECT_VERSION}`, effectDeclarationPatchPath);
466
523
  source = effectPatch.source;
467
524
  changed = effectPatch.changed || changed;
468
- const drizzleOrmPatch = ensureYamlMapEntry(source, 'patchedDependencies', `drizzle-orm@${versions_cjs_namespaceObject.DRIZZLE_ORM_VERSION}`, drizzleOrmDeclarationPatchPath);
525
+ const drizzleOrmPatch = usesDrizzleOrm ? ensureYamlMapEntry(source, 'patchedDependencies', `drizzle-orm@${versions_cjs_namespaceObject.DRIZZLE_ORM_VERSION}`, drizzleOrmDeclarationPatchPath) : removeYamlMapEntry(source, `drizzle-orm@${versions_cjs_namespaceObject.DRIZZLE_ORM_VERSION}`);
469
526
  source = drizzleOrmPatch.source;
470
527
  changed = drizzleOrmPatch.changed || changed;
471
528
  if (changed) external_node_fs_default().writeFileSync(workspaceFile, source, 'utf-8');
@@ -633,7 +690,9 @@ and pnpm contract:check.
633
690
  else if ('package.json' === relativePackageFile) writeJsonFile(packageFile, packageJson);
634
691
  }
635
692
  updateGeneratedPnpmWorkspacePolicy(context.workspaceRoot);
636
- ensureGeneratedDeclarationPatches(context.workspaceRoot);
693
+ ensureGeneratedDeclarationPatches(context.workspaceRoot, {
694
+ includeDrizzleOrmPatch: workspaceUsesDependency(context.workspaceRoot, 'drizzle-orm')
695
+ });
637
696
  if (!hasFlag(args, '--skip-install')) {
638
697
  const status = runPnpmLockfileRefresh(context);
639
698
  if (0 !== status) return status;
@@ -360,6 +360,19 @@ function ensureYamlMapEntry(source, key, entryKey, value) {
360
360
  changed: true
361
361
  };
362
362
  }
363
+ function removeYamlMapEntry(source, entryKey) {
364
+ const packageName = entryKey.includes('@') ? entryKey.slice(0, entryKey.lastIndexOf('@')) : entryKey;
365
+ const escapedPackageName = packageName.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
366
+ const currentEntryPattern = new RegExp(`^ {2}'${escapedPackageName}@[^']+': .+\\n?`, 'mu');
367
+ if (!currentEntryPattern.test(source)) return {
368
+ source,
369
+ changed: false
370
+ };
371
+ return {
372
+ source: source.replace(currentEntryPattern, ''),
373
+ changed: true
374
+ };
375
+ }
363
376
  function ensureGeneratedPatchFile(workspaceRoot, relativePatchPath, sourcePatchPath) {
364
377
  const targetPath = node_path.join(workspaceRoot, relativePatchPath);
365
378
  const patch = node_fs.readFileSync(sourcePatchPath, 'utf-8');
@@ -370,10 +383,53 @@ function ensureGeneratedPatchFile(workspaceRoot, relativePatchPath, sourcePatchP
370
383
  node_fs.writeFileSync(targetPath, patch, 'utf-8');
371
384
  return true;
372
385
  }
373
- function ensureGeneratedDeclarationPatches(workspaceRoot) {
386
+ function removeGeneratedPatchFileIfUnchanged(workspaceRoot, relativePatchPath, sourcePatchPath) {
387
+ const targetPath = node_path.join(workspaceRoot, relativePatchPath);
388
+ if (!node_fs.existsSync(targetPath)) return false;
389
+ const patch = node_fs.readFileSync(sourcePatchPath, 'utf-8');
390
+ if (node_fs.readFileSync(targetPath, 'utf-8') !== patch) return false;
391
+ node_fs.rmSync(targetPath);
392
+ return true;
393
+ }
394
+ function workspaceUsesDependency(workspaceRoot, packageName) {
395
+ const packageJsonPaths = [
396
+ node_path.join(workspaceRoot, 'package.json')
397
+ ];
398
+ for (const workspaceDir of [
399
+ 'apps',
400
+ 'verticals',
401
+ 'packages'
402
+ ]){
403
+ const absoluteWorkspaceDir = node_path.join(workspaceRoot, workspaceDir);
404
+ if (node_fs.existsSync(absoluteWorkspaceDir)) for (const entry of node_fs.readdirSync(absoluteWorkspaceDir, {
405
+ withFileTypes: true
406
+ })){
407
+ if (!entry.isDirectory()) continue;
408
+ const packageJsonPath = node_path.join(absoluteWorkspaceDir, entry.name, 'package.json');
409
+ if (node_fs.existsSync(packageJsonPath)) packageJsonPaths.push(packageJsonPath);
410
+ }
411
+ }
412
+ for (const packageJsonPath of packageJsonPaths){
413
+ const packageJson = JSON.parse(node_fs.readFileSync(packageJsonPath, 'utf-8'));
414
+ for (const field of [
415
+ 'dependencies',
416
+ 'devDependencies',
417
+ 'peerDependencies',
418
+ 'optionalDependencies'
419
+ ]){
420
+ const dependencies = packageJson[field];
421
+ if (dependencies && 'object' == typeof dependencies) {
422
+ if (Object.prototype.hasOwnProperty.call(dependencies, packageName)) return true;
423
+ for (const specifier of Object.values(dependencies))if ('string' == typeof specifier && specifier.startsWith(`npm:${packageName}@`)) return true;
424
+ }
425
+ }
426
+ }
427
+ return false;
428
+ }
429
+ function ensureGeneratedDeclarationPatches(workspaceRoot, options) {
374
430
  let changed = false;
375
431
  changed = ensureGeneratedPatchFile(workspaceRoot, effectDeclarationPatchPath, effectDeclarationPatchSourcePath) || changed;
376
- changed = ensureGeneratedPatchFile(workspaceRoot, drizzleOrmDeclarationPatchPath, drizzleOrmDeclarationPatchSourcePath) || changed;
432
+ changed = options.includeDrizzleOrmPatch ? ensureGeneratedPatchFile(workspaceRoot, drizzleOrmDeclarationPatchPath, drizzleOrmDeclarationPatchSourcePath) || changed : removeGeneratedPatchFileIfUnchanged(workspaceRoot, drizzleOrmDeclarationPatchPath, drizzleOrmDeclarationPatchSourcePath) || changed;
377
433
  return changed;
378
434
  }
379
435
  function updateGeneratedPnpmWorkspacePolicy(workspaceRoot) {
@@ -381,6 +437,7 @@ function updateGeneratedPnpmWorkspacePolicy(workspaceRoot) {
381
437
  if (!node_fs.existsSync(workspaceFile)) return false;
382
438
  let source = node_fs.readFileSync(workspaceFile, 'utf-8');
383
439
  let changed = false;
440
+ const usesDrizzleOrm = workspaceUsesDependency(workspaceRoot, 'drizzle-orm');
384
441
  const replacements = [
385
442
  [
386
443
  /^ {4}'@effect\/vitest>effect': .+$/mu,
@@ -418,7 +475,7 @@ function updateGeneratedPnpmWorkspacePolicy(workspaceRoot) {
418
475
  const effectPatch = ensureYamlMapEntry(source, 'patchedDependencies', `effect@${EFFECT_VERSION}`, effectDeclarationPatchPath);
419
476
  source = effectPatch.source;
420
477
  changed = effectPatch.changed || changed;
421
- const drizzleOrmPatch = ensureYamlMapEntry(source, 'patchedDependencies', `drizzle-orm@${DRIZZLE_ORM_VERSION}`, drizzleOrmDeclarationPatchPath);
478
+ const drizzleOrmPatch = usesDrizzleOrm ? ensureYamlMapEntry(source, 'patchedDependencies', `drizzle-orm@${DRIZZLE_ORM_VERSION}`, drizzleOrmDeclarationPatchPath) : removeYamlMapEntry(source, `drizzle-orm@${DRIZZLE_ORM_VERSION}`);
422
479
  source = drizzleOrmPatch.source;
423
480
  changed = drizzleOrmPatch.changed || changed;
424
481
  if (changed) node_fs.writeFileSync(workspaceFile, source, 'utf-8');
@@ -586,7 +643,9 @@ and pnpm contract:check.
586
643
  else if ('package.json' === relativePackageFile) writeJsonFile(packageFile, packageJson);
587
644
  }
588
645
  updateGeneratedPnpmWorkspacePolicy(context.workspaceRoot);
589
- ensureGeneratedDeclarationPatches(context.workspaceRoot);
646
+ ensureGeneratedDeclarationPatches(context.workspaceRoot, {
647
+ includeDrizzleOrmPatch: workspaceUsesDependency(context.workspaceRoot, 'drizzle-orm')
648
+ });
590
649
  if (!hasFlag(args, '--skip-install')) {
591
650
  const status = runPnpmLockfileRefresh(context);
592
651
  if (0 !== status) return status;
@@ -361,6 +361,19 @@ function ensureYamlMapEntry(source, key, entryKey, value) {
361
361
  changed: true
362
362
  };
363
363
  }
364
+ function removeYamlMapEntry(source, entryKey) {
365
+ const packageName = entryKey.includes('@') ? entryKey.slice(0, entryKey.lastIndexOf('@')) : entryKey;
366
+ const escapedPackageName = packageName.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
367
+ const currentEntryPattern = new RegExp(`^ {2}'${escapedPackageName}@[^']+': .+\\n?`, 'mu');
368
+ if (!currentEntryPattern.test(source)) return {
369
+ source,
370
+ changed: false
371
+ };
372
+ return {
373
+ source: source.replace(currentEntryPattern, ''),
374
+ changed: true
375
+ };
376
+ }
364
377
  function ensureGeneratedPatchFile(workspaceRoot, relativePatchPath, sourcePatchPath) {
365
378
  const targetPath = node_path.join(workspaceRoot, relativePatchPath);
366
379
  const patch = node_fs.readFileSync(sourcePatchPath, 'utf-8');
@@ -371,10 +384,53 @@ function ensureGeneratedPatchFile(workspaceRoot, relativePatchPath, sourcePatchP
371
384
  node_fs.writeFileSync(targetPath, patch, 'utf-8');
372
385
  return true;
373
386
  }
374
- function ensureGeneratedDeclarationPatches(workspaceRoot) {
387
+ function removeGeneratedPatchFileIfUnchanged(workspaceRoot, relativePatchPath, sourcePatchPath) {
388
+ const targetPath = node_path.join(workspaceRoot, relativePatchPath);
389
+ if (!node_fs.existsSync(targetPath)) return false;
390
+ const patch = node_fs.readFileSync(sourcePatchPath, 'utf-8');
391
+ if (node_fs.readFileSync(targetPath, 'utf-8') !== patch) return false;
392
+ node_fs.rmSync(targetPath);
393
+ return true;
394
+ }
395
+ function workspaceUsesDependency(workspaceRoot, packageName) {
396
+ const packageJsonPaths = [
397
+ node_path.join(workspaceRoot, 'package.json')
398
+ ];
399
+ for (const workspaceDir of [
400
+ 'apps',
401
+ 'verticals',
402
+ 'packages'
403
+ ]){
404
+ const absoluteWorkspaceDir = node_path.join(workspaceRoot, workspaceDir);
405
+ if (node_fs.existsSync(absoluteWorkspaceDir)) for (const entry of node_fs.readdirSync(absoluteWorkspaceDir, {
406
+ withFileTypes: true
407
+ })){
408
+ if (!entry.isDirectory()) continue;
409
+ const packageJsonPath = node_path.join(absoluteWorkspaceDir, entry.name, 'package.json');
410
+ if (node_fs.existsSync(packageJsonPath)) packageJsonPaths.push(packageJsonPath);
411
+ }
412
+ }
413
+ for (const packageJsonPath of packageJsonPaths){
414
+ const packageJson = JSON.parse(node_fs.readFileSync(packageJsonPath, 'utf-8'));
415
+ for (const field of [
416
+ 'dependencies',
417
+ 'devDependencies',
418
+ 'peerDependencies',
419
+ 'optionalDependencies'
420
+ ]){
421
+ const dependencies = packageJson[field];
422
+ if (dependencies && 'object' == typeof dependencies) {
423
+ if (Object.prototype.hasOwnProperty.call(dependencies, packageName)) return true;
424
+ for (const specifier of Object.values(dependencies))if ('string' == typeof specifier && specifier.startsWith(`npm:${packageName}@`)) return true;
425
+ }
426
+ }
427
+ }
428
+ return false;
429
+ }
430
+ function ensureGeneratedDeclarationPatches(workspaceRoot, options) {
375
431
  let changed = false;
376
432
  changed = ensureGeneratedPatchFile(workspaceRoot, effectDeclarationPatchPath, effectDeclarationPatchSourcePath) || changed;
377
- changed = ensureGeneratedPatchFile(workspaceRoot, drizzleOrmDeclarationPatchPath, drizzleOrmDeclarationPatchSourcePath) || changed;
433
+ changed = options.includeDrizzleOrmPatch ? ensureGeneratedPatchFile(workspaceRoot, drizzleOrmDeclarationPatchPath, drizzleOrmDeclarationPatchSourcePath) || changed : removeGeneratedPatchFileIfUnchanged(workspaceRoot, drizzleOrmDeclarationPatchPath, drizzleOrmDeclarationPatchSourcePath) || changed;
378
434
  return changed;
379
435
  }
380
436
  function updateGeneratedPnpmWorkspacePolicy(workspaceRoot) {
@@ -382,6 +438,7 @@ function updateGeneratedPnpmWorkspacePolicy(workspaceRoot) {
382
438
  if (!node_fs.existsSync(workspaceFile)) return false;
383
439
  let source = node_fs.readFileSync(workspaceFile, 'utf-8');
384
440
  let changed = false;
441
+ const usesDrizzleOrm = workspaceUsesDependency(workspaceRoot, 'drizzle-orm');
385
442
  const replacements = [
386
443
  [
387
444
  /^ {4}'@effect\/vitest>effect': .+$/mu,
@@ -419,7 +476,7 @@ function updateGeneratedPnpmWorkspacePolicy(workspaceRoot) {
419
476
  const effectPatch = ensureYamlMapEntry(source, 'patchedDependencies', `effect@${EFFECT_VERSION}`, effectDeclarationPatchPath);
420
477
  source = effectPatch.source;
421
478
  changed = effectPatch.changed || changed;
422
- const drizzleOrmPatch = ensureYamlMapEntry(source, 'patchedDependencies', `drizzle-orm@${DRIZZLE_ORM_VERSION}`, drizzleOrmDeclarationPatchPath);
479
+ const drizzleOrmPatch = usesDrizzleOrm ? ensureYamlMapEntry(source, 'patchedDependencies', `drizzle-orm@${DRIZZLE_ORM_VERSION}`, drizzleOrmDeclarationPatchPath) : removeYamlMapEntry(source, `drizzle-orm@${DRIZZLE_ORM_VERSION}`);
423
480
  source = drizzleOrmPatch.source;
424
481
  changed = drizzleOrmPatch.changed || changed;
425
482
  if (changed) node_fs.writeFileSync(workspaceFile, source, 'utf-8');
@@ -587,7 +644,9 @@ and pnpm contract:check.
587
644
  else if ('package.json' === relativePackageFile) writeJsonFile(packageFile, packageJson);
588
645
  }
589
646
  updateGeneratedPnpmWorkspacePolicy(context.workspaceRoot);
590
- ensureGeneratedDeclarationPatches(context.workspaceRoot);
647
+ ensureGeneratedDeclarationPatches(context.workspaceRoot, {
648
+ includeDrizzleOrmPatch: workspaceUsesDependency(context.workspaceRoot, 'drizzle-orm')
649
+ });
591
650
  if (!hasFlag(args, '--skip-install')) {
592
651
  const status = runPnpmLockfileRefresh(context);
593
652
  if (0 !== status) return status;
package/package.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "engines": {
22
22
  "node": ">=20"
23
23
  },
24
- "version": "3.5.0-ultramodern.11",
24
+ "version": "3.5.0-ultramodern.12",
25
25
  "types": "./dist/types/index.d.ts",
26
26
  "main": "./dist/esm-node/index.js",
27
27
  "bin": {
@@ -77,7 +77,7 @@
77
77
  "@modern-js/codesmith": "2.6.9",
78
78
  "oxfmt": "0.56.0",
79
79
  "ultracite": "7.8.3",
80
- "@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.11"
80
+ "@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.12"
81
81
  },
82
82
  "devDependencies": {
83
83
  "@rslib/core": "0.23.1",
@@ -99,6 +99,6 @@
99
99
  "test": "rm -rf dist && rslib build -c rslibconfig.mts && rstest --passWithNoTests"
100
100
  },
101
101
  "ultramodern": {
102
- "frameworkVersion": "3.5.0-ultramodern.11"
102
+ "frameworkVersion": "3.5.0-ultramodern.12"
103
103
  }
104
104
  }
@@ -63,5 +63,4 @@ allowBuilds:
63
63
 
64
64
  patchedDependencies:
65
65
  '@tanstack/router-core@{{tanstackRouterCoreVersion}}': patches/@tanstack__router-core@{{tanstackRouterCoreVersion}}.patch
66
- 'drizzle-orm@{{drizzleOrmVersion}}': patches/drizzle-orm-ts7-strict-declarations.patch
67
66
  'effect@{{effectVersion}}': patches/effect-schema-error-type-id.patch