@bleedingdev/modern-js-create 3.5.0-ultramodern.41 → 3.5.0-ultramodern.43

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.
@@ -45,6 +45,7 @@ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node
45
45
  const external_node_path_namespaceObject = require("node:path");
46
46
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
47
47
  const external_io_cjs_namespaceObject = require("./io.cjs");
48
+ const external_toolchain_pins_cjs_namespaceObject = require("./toolchain-pins.cjs");
48
49
  function normalizeStrictEffectApiMetadata(value) {
49
50
  let changed = false;
50
51
  const backendFederation = value.backendFederation;
@@ -135,6 +136,7 @@ function updateUltramodernConfig(io, config, packageSource) {
135
136
  } : {}
136
137
  };
137
138
  if (config.generator && 'object' == typeof config.generator && !Array.isArray(config.generator) && 'string' == typeof config.generator.version) config.generator.version = packageSource.modernPackageVersion;
139
+ (0, external_toolchain_pins_cjs_namespaceObject.updateUltramodernConfigToolchain)(config);
138
140
  for (const app of config.topology?.apps ?? [])if (app && 'object' == typeof app && !Array.isArray(app)) normalizeStrictEffectApiMetadata(app);
139
141
  (0, external_io_cjs_namespaceObject.writeJsonFile)(io, configPath, config);
140
142
  }
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, getters, values)=>{
14
+ var define = (defs, kind)=>{
15
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
16
+ enumerable: true,
17
+ [kind]: defs[key]
18
+ });
19
+ };
20
+ define(getters, "get");
21
+ define(values, "value");
22
+ };
23
+ })();
24
+ (()=>{
25
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
26
+ })();
27
+ (()=>{
28
+ __webpack_require__.r = (exports1)=>{
29
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
30
+ value: 'Module'
31
+ });
32
+ Object.defineProperty(exports1, '__esModule', {
33
+ value: true
34
+ });
35
+ };
36
+ })();
37
+ var __webpack_exports__ = {};
38
+ __webpack_require__.r(__webpack_exports__);
39
+ __webpack_require__.d(__webpack_exports__, {
40
+ updateGeneratedToolchainFiles: ()=>updateGeneratedToolchainFiles,
41
+ updateRootPackageToolchain: ()=>updateRootPackageToolchain,
42
+ updateUltramodernConfigToolchain: ()=>updateUltramodernConfigToolchain
43
+ });
44
+ const external_node_fs_namespaceObject = require("node:fs");
45
+ var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
46
+ const external_node_path_namespaceObject = require("node:path");
47
+ var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
48
+ const versions_cjs_namespaceObject = require("../../../ultramodern-workspace/versions.cjs");
49
+ const NODE_ENGINE_RANGE = '>=26';
50
+ const PNPM_ENGINE_RANGE = '>=11';
51
+ function isRecord(value) {
52
+ return Boolean(value) && 'object' == typeof value && !Array.isArray(value);
53
+ }
54
+ function updateUltramodernConfigToolchain(config) {
55
+ const workspace = isRecord(config.workspace) ? config.workspace : {};
56
+ config.workspace = workspace;
57
+ const packageManager = isRecord(workspace.packageManager) ? workspace.packageManager : {};
58
+ workspace.packageManager = packageManager;
59
+ packageManager.name = 'pnpm';
60
+ packageManager.version = versions_cjs_namespaceObject.PNPM_VERSION;
61
+ const node = isRecord(workspace.node) ? workspace.node : {};
62
+ workspace.node = node;
63
+ node.version = versions_cjs_namespaceObject.NODE_VERSION;
64
+ node.engineRange = NODE_ENGINE_RANGE;
65
+ }
66
+ function updateRootPackageToolchain(packageJson) {
67
+ packageJson.packageManager = `pnpm@${versions_cjs_namespaceObject.PNPM_VERSION}`;
68
+ const engines = isRecord(packageJson.engines) ? packageJson.engines : {};
69
+ packageJson.engines = engines;
70
+ engines.node = NODE_ENGINE_RANGE;
71
+ engines.pnpm = PNPM_ENGINE_RANGE;
72
+ }
73
+ function updateMiseTools(content) {
74
+ const lines = content.replace(/\r\n/gu, '\n').split('\n');
75
+ if ('' === lines.at(-1)) lines.pop();
76
+ let toolsStart = lines.findIndex((line)=>/^\s*\[tools\]\s*(?:#.*)?$/u.test(line));
77
+ if (-1 === toolsStart) {
78
+ if (lines.length > 0) lines.push('');
79
+ toolsStart = lines.length;
80
+ lines.push('[tools]');
81
+ }
82
+ const nextSection = lines.findIndex((line, index)=>index > toolsStart && /^\s*\[[^\]]+\]\s*(?:#.*)?$/u.test(line));
83
+ let toolsEnd = -1 === nextSection ? lines.length : nextSection;
84
+ const upsertTool = (name, version)=>{
85
+ const pattern = new RegExp(`^\\s*${name}\\s*=`, 'u');
86
+ const line = `${name} = "${version}"`;
87
+ const index = lines.findIndex((candidate, candidateIndex)=>candidateIndex > toolsStart && candidateIndex < toolsEnd && pattern.test(candidate));
88
+ if (-1 === index) {
89
+ lines.splice(toolsEnd, 0, line);
90
+ toolsEnd += 1;
91
+ return;
92
+ }
93
+ lines[index] = line;
94
+ };
95
+ upsertTool('node', versions_cjs_namespaceObject.NODE_VERSION);
96
+ upsertTool('pnpm', versions_cjs_namespaceObject.PNPM_VERSION);
97
+ return `${lines.join('\n')}\n`;
98
+ }
99
+ function updateGeneratedToolchainFiles(io) {
100
+ const misePath = external_node_path_default().join(io.workspaceRoot, '.mise.toml');
101
+ const miseContent = external_node_fs_default().existsSync(misePath) ? external_node_fs_default().readFileSync(misePath, 'utf-8') : '';
102
+ io.write(misePath, updateMiseTools(miseContent));
103
+ const workflowPath = external_node_path_default().join(io.workspaceRoot, '.github/workflows/ultramodern-workspace-gates.yml');
104
+ if (!external_node_fs_default().existsSync(workflowPath)) return;
105
+ const workflow = external_node_fs_default().readFileSync(workflowPath, 'utf-8');
106
+ const updatedWorkflow = workflow.replace(/^(\s*)node-version\s*:\s*.*$/mu, `$1node-version: '${versions_cjs_namespaceObject.NODE_VERSION}'`);
107
+ io.write(workflowPath, updatedWorkflow);
108
+ }
109
+ exports.updateGeneratedToolchainFiles = __webpack_exports__.updateGeneratedToolchainFiles;
110
+ exports.updateRootPackageToolchain = __webpack_exports__.updateRootPackageToolchain;
111
+ exports.updateUltramodernConfigToolchain = __webpack_exports__.updateUltramodernConfigToolchain;
112
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
113
+ "updateGeneratedToolchainFiles",
114
+ "updateRootPackageToolchain",
115
+ "updateUltramodernConfigToolchain"
116
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
117
+ Object.defineProperty(exports, '__esModule', {
118
+ value: true
119
+ });
@@ -53,6 +53,7 @@ const io_cjs_namespaceObject = require("./migrate-strict-effect/io.cjs");
53
53
  const package_cohort_cjs_namespaceObject = require("./migrate-strict-effect/package-cohort.cjs");
54
54
  const package_source_cjs_namespaceObject = require("./migrate-strict-effect/package-source.cjs");
55
55
  const pnpm_policy_cjs_namespaceObject = require("./migrate-strict-effect/pnpm-policy.cjs");
56
+ const toolchain_pins_cjs_namespaceObject = require("./migrate-strict-effect/toolchain-pins.cjs");
56
57
  const external_options_cjs_namespaceObject = require("./options.cjs");
57
58
  function runMigrateStrictEffect(args, context) {
58
59
  if (args.includes('--help') || args.includes('-h')) {
@@ -113,6 +114,7 @@ function runMigrateStrictEffect(args, context) {
113
114
  strategy: packageSource.strategy,
114
115
  config: './.modernjs/ultramodern.json'
115
116
  };
117
+ (0, toolchain_pins_cjs_namespaceObject.updateRootPackageToolchain)(packageJson);
116
118
  }
117
119
  (0, package_cohort_cjs_namespaceObject.updateModernDependencies)(packageJson, packageSource);
118
120
  (0, package_cohort_cjs_namespaceObject.updateGeneratedToolingDependencies)(packageJson);
@@ -124,6 +126,7 @@ function runMigrateStrictEffect(args, context) {
124
126
  (0, io_cjs_namespaceObject.writeJsonFile)(io, packageFile, packageJson);
125
127
  }
126
128
  (0, pnpm_policy_cjs_namespaceObject.updateGeneratedPnpmWorkspacePolicy)(io);
129
+ (0, toolchain_pins_cjs_namespaceObject.updateGeneratedToolchainFiles)(io);
127
130
  (0, pnpm_policy_cjs_namespaceObject.ensureGeneratedDeclarationPatches)(io, {
128
131
  includeDrizzleOrmPatch: (0, pnpm_policy_cjs_namespaceObject.workspaceUsesDependency)(io.workspaceRoot, 'drizzle-orm')
129
132
  });
@@ -51,15 +51,15 @@ function createBuildMarker(scope, app) {
51
51
  }
52
52
  function createDeliveryUnitRecord(scope, app) {
53
53
  return {
54
- schemaVersion: universal_namespaceObject.DELIVERY_UNIT_SCHEMA_VERSION,
55
- kind: universal_namespaceObject.DELIVERY_UNIT_KIND,
56
- unitId: `${scope}/${app.domain ?? app.id}`,
57
54
  appId: app.id,
55
+ buildMarker: createBuildMarker(scope, app),
56
+ deployProfile: universal_namespaceObject.DELIVERY_UNIT_DEPLOY_PROFILE,
57
+ kind: universal_namespaceObject.DELIVERY_UNIT_KIND,
58
58
  packageName: (0, external_naming_cjs_namespaceObject.packageName)(scope, app.packageSuffix),
59
- version: '0.1.0',
59
+ schemaVersion: universal_namespaceObject.DELIVERY_UNIT_SCHEMA_VERSION,
60
60
  sourceRevision: 'workspace',
61
- buildMarker: createBuildMarker(scope, app),
62
- deployProfile: universal_namespaceObject.DELIVERY_UNIT_DEPLOY_PROFILE
61
+ unitId: `${scope}/${app.domain ?? app.id}`,
62
+ version: '0.1.0'
63
63
  };
64
64
  }
65
65
  exports.createBuildMarker = __webpack_exports__.createBuildMarker;
@@ -1,6 +1,7 @@
1
1
  import node_fs from "node:fs";
2
2
  import node_path from "node:path";
3
3
  import { readJsonFile, writeJsonFile } from "./io.js";
4
+ import { updateUltramodernConfigToolchain } from "./toolchain-pins.js";
4
5
  function normalizeStrictEffectApiMetadata(value) {
5
6
  let changed = false;
6
7
  const backendFederation = value.backendFederation;
@@ -91,6 +92,7 @@ function updateUltramodernConfig(io, config, packageSource) {
91
92
  } : {}
92
93
  };
93
94
  if (config.generator && 'object' == typeof config.generator && !Array.isArray(config.generator) && 'string' == typeof config.generator.version) config.generator.version = packageSource.modernPackageVersion;
95
+ updateUltramodernConfigToolchain(config);
94
96
  for (const app of config.topology?.apps ?? [])if (app && 'object' == typeof app && !Array.isArray(app)) normalizeStrictEffectApiMetadata(app);
95
97
  writeJsonFile(io, configPath, config);
96
98
  }
@@ -0,0 +1,64 @@
1
+ import node_fs from "node:fs";
2
+ import node_path from "node:path";
3
+ import { NODE_VERSION, PNPM_VERSION } from "../../../ultramodern-workspace/versions.js";
4
+ const NODE_ENGINE_RANGE = '>=26';
5
+ const PNPM_ENGINE_RANGE = '>=11';
6
+ function isRecord(value) {
7
+ return Boolean(value) && 'object' == typeof value && !Array.isArray(value);
8
+ }
9
+ function updateUltramodernConfigToolchain(config) {
10
+ const workspace = isRecord(config.workspace) ? config.workspace : {};
11
+ config.workspace = workspace;
12
+ const packageManager = isRecord(workspace.packageManager) ? workspace.packageManager : {};
13
+ workspace.packageManager = packageManager;
14
+ packageManager.name = 'pnpm';
15
+ packageManager.version = PNPM_VERSION;
16
+ const node = isRecord(workspace.node) ? workspace.node : {};
17
+ workspace.node = node;
18
+ node.version = NODE_VERSION;
19
+ node.engineRange = NODE_ENGINE_RANGE;
20
+ }
21
+ function updateRootPackageToolchain(packageJson) {
22
+ packageJson.packageManager = `pnpm@${PNPM_VERSION}`;
23
+ const engines = isRecord(packageJson.engines) ? packageJson.engines : {};
24
+ packageJson.engines = engines;
25
+ engines.node = NODE_ENGINE_RANGE;
26
+ engines.pnpm = PNPM_ENGINE_RANGE;
27
+ }
28
+ function updateMiseTools(content) {
29
+ const lines = content.replace(/\r\n/gu, '\n').split('\n');
30
+ if ('' === lines.at(-1)) lines.pop();
31
+ let toolsStart = lines.findIndex((line)=>/^\s*\[tools\]\s*(?:#.*)?$/u.test(line));
32
+ if (-1 === toolsStart) {
33
+ if (lines.length > 0) lines.push('');
34
+ toolsStart = lines.length;
35
+ lines.push('[tools]');
36
+ }
37
+ const nextSection = lines.findIndex((line, index)=>index > toolsStart && /^\s*\[[^\]]+\]\s*(?:#.*)?$/u.test(line));
38
+ let toolsEnd = -1 === nextSection ? lines.length : nextSection;
39
+ const upsertTool = (name, version)=>{
40
+ const pattern = new RegExp(`^\\s*${name}\\s*=`, 'u');
41
+ const line = `${name} = "${version}"`;
42
+ const index = lines.findIndex((candidate, candidateIndex)=>candidateIndex > toolsStart && candidateIndex < toolsEnd && pattern.test(candidate));
43
+ if (-1 === index) {
44
+ lines.splice(toolsEnd, 0, line);
45
+ toolsEnd += 1;
46
+ return;
47
+ }
48
+ lines[index] = line;
49
+ };
50
+ upsertTool('node', NODE_VERSION);
51
+ upsertTool('pnpm', PNPM_VERSION);
52
+ return `${lines.join('\n')}\n`;
53
+ }
54
+ function updateGeneratedToolchainFiles(io) {
55
+ const misePath = node_path.join(io.workspaceRoot, '.mise.toml');
56
+ const miseContent = node_fs.existsSync(misePath) ? node_fs.readFileSync(misePath, 'utf-8') : '';
57
+ io.write(misePath, updateMiseTools(miseContent));
58
+ const workflowPath = node_path.join(io.workspaceRoot, '.github/workflows/ultramodern-workspace-gates.yml');
59
+ if (!node_fs.existsSync(workflowPath)) return;
60
+ const workflow = node_fs.readFileSync(workflowPath, 'utf-8');
61
+ const updatedWorkflow = workflow.replace(/^(\s*)node-version\s*:\s*.*$/mu, `$1node-version: '${NODE_VERSION}'`);
62
+ io.write(workflowPath, updatedWorkflow);
63
+ }
64
+ export { updateGeneratedToolchainFiles, updateRootPackageToolchain, updateUltramodernConfigToolchain };
@@ -10,6 +10,7 @@ import { createMigrationIo, listWorkspacePackageFiles, readJsonFile, writeJsonFi
10
10
  import { updateGeneratedPackageScripts, updateGeneratedToolingDependencies, updateModernDependencies } from "./migrate-strict-effect/package-cohort.js";
11
11
  import { createMigrationPackageSource } from "./migrate-strict-effect/package-source.js";
12
12
  import { ensureGeneratedDeclarationPatches, updateGeneratedPnpmWorkspacePolicy, workspaceUsesDependency } from "./migrate-strict-effect/pnpm-policy.js";
13
+ import { updateGeneratedToolchainFiles, updateRootPackageToolchain } from "./migrate-strict-effect/toolchain-pins.js";
13
14
  import { hasFlag } from "./options.js";
14
15
  function runMigrateStrictEffect(args, context) {
15
16
  if (args.includes('--help') || args.includes('-h')) {
@@ -70,6 +71,7 @@ function runMigrateStrictEffect(args, context) {
70
71
  strategy: packageSource.strategy,
71
72
  config: './.modernjs/ultramodern.json'
72
73
  };
74
+ updateRootPackageToolchain(packageJson);
73
75
  }
74
76
  updateModernDependencies(packageJson, packageSource);
75
77
  updateGeneratedToolingDependencies(packageJson);
@@ -81,6 +83,7 @@ function runMigrateStrictEffect(args, context) {
81
83
  writeJsonFile(io, packageFile, packageJson);
82
84
  }
83
85
  updateGeneratedPnpmWorkspacePolicy(io);
86
+ updateGeneratedToolchainFiles(io);
84
87
  ensureGeneratedDeclarationPatches(io, {
85
88
  includeDrizzleOrmPatch: workspaceUsesDependency(io.workspaceRoot, 'drizzle-orm')
86
89
  });
@@ -7,15 +7,15 @@ function createBuildMarker(scope, app) {
7
7
  }
8
8
  function createDeliveryUnitRecord(scope, app) {
9
9
  return {
10
- schemaVersion: DELIVERY_UNIT_SCHEMA_VERSION,
11
- kind: DELIVERY_UNIT_KIND,
12
- unitId: `${scope}/${app.domain ?? app.id}`,
13
10
  appId: app.id,
11
+ buildMarker: createBuildMarker(scope, app),
12
+ deployProfile: DELIVERY_UNIT_DEPLOY_PROFILE,
13
+ kind: DELIVERY_UNIT_KIND,
14
14
  packageName: packageName(scope, app.packageSuffix),
15
- version: '0.1.0',
15
+ schemaVersion: DELIVERY_UNIT_SCHEMA_VERSION,
16
16
  sourceRevision: 'workspace',
17
- buildMarker: createBuildMarker(scope, app),
18
- deployProfile: DELIVERY_UNIT_DEPLOY_PROFILE
17
+ unitId: `${scope}/${app.domain ?? app.id}`,
18
+ version: '0.1.0'
19
19
  };
20
20
  }
21
21
  export { createBuildMarker, createDeliveryUnitRecord, deliveryUnitContractBlock };
@@ -2,6 +2,7 @@ import "node:module";
2
2
  import node_fs from "node:fs";
3
3
  import node_path from "node:path";
4
4
  import { readJsonFile, writeJsonFile } from "./io.js";
5
+ import { updateUltramodernConfigToolchain } from "./toolchain-pins.js";
5
6
  function normalizeStrictEffectApiMetadata(value) {
6
7
  let changed = false;
7
8
  const backendFederation = value.backendFederation;
@@ -92,6 +93,7 @@ function updateUltramodernConfig(io, config, packageSource) {
92
93
  } : {}
93
94
  };
94
95
  if (config.generator && 'object' == typeof config.generator && !Array.isArray(config.generator) && 'string' == typeof config.generator.version) config.generator.version = packageSource.modernPackageVersion;
96
+ updateUltramodernConfigToolchain(config);
95
97
  for (const app of config.topology?.apps ?? [])if (app && 'object' == typeof app && !Array.isArray(app)) normalizeStrictEffectApiMetadata(app);
96
98
  writeJsonFile(io, configPath, config);
97
99
  }
@@ -0,0 +1,65 @@
1
+ import "node:module";
2
+ import node_fs from "node:fs";
3
+ import node_path from "node:path";
4
+ import { NODE_VERSION, PNPM_VERSION } from "../../../ultramodern-workspace/versions.js";
5
+ const NODE_ENGINE_RANGE = '>=26';
6
+ const PNPM_ENGINE_RANGE = '>=11';
7
+ function isRecord(value) {
8
+ return Boolean(value) && 'object' == typeof value && !Array.isArray(value);
9
+ }
10
+ function updateUltramodernConfigToolchain(config) {
11
+ const workspace = isRecord(config.workspace) ? config.workspace : {};
12
+ config.workspace = workspace;
13
+ const packageManager = isRecord(workspace.packageManager) ? workspace.packageManager : {};
14
+ workspace.packageManager = packageManager;
15
+ packageManager.name = 'pnpm';
16
+ packageManager.version = PNPM_VERSION;
17
+ const node = isRecord(workspace.node) ? workspace.node : {};
18
+ workspace.node = node;
19
+ node.version = NODE_VERSION;
20
+ node.engineRange = NODE_ENGINE_RANGE;
21
+ }
22
+ function updateRootPackageToolchain(packageJson) {
23
+ packageJson.packageManager = `pnpm@${PNPM_VERSION}`;
24
+ const engines = isRecord(packageJson.engines) ? packageJson.engines : {};
25
+ packageJson.engines = engines;
26
+ engines.node = NODE_ENGINE_RANGE;
27
+ engines.pnpm = PNPM_ENGINE_RANGE;
28
+ }
29
+ function updateMiseTools(content) {
30
+ const lines = content.replace(/\r\n/gu, '\n').split('\n');
31
+ if ('' === lines.at(-1)) lines.pop();
32
+ let toolsStart = lines.findIndex((line)=>/^\s*\[tools\]\s*(?:#.*)?$/u.test(line));
33
+ if (-1 === toolsStart) {
34
+ if (lines.length > 0) lines.push('');
35
+ toolsStart = lines.length;
36
+ lines.push('[tools]');
37
+ }
38
+ const nextSection = lines.findIndex((line, index)=>index > toolsStart && /^\s*\[[^\]]+\]\s*(?:#.*)?$/u.test(line));
39
+ let toolsEnd = -1 === nextSection ? lines.length : nextSection;
40
+ const upsertTool = (name, version)=>{
41
+ const pattern = new RegExp(`^\\s*${name}\\s*=`, 'u');
42
+ const line = `${name} = "${version}"`;
43
+ const index = lines.findIndex((candidate, candidateIndex)=>candidateIndex > toolsStart && candidateIndex < toolsEnd && pattern.test(candidate));
44
+ if (-1 === index) {
45
+ lines.splice(toolsEnd, 0, line);
46
+ toolsEnd += 1;
47
+ return;
48
+ }
49
+ lines[index] = line;
50
+ };
51
+ upsertTool('node', NODE_VERSION);
52
+ upsertTool('pnpm', PNPM_VERSION);
53
+ return `${lines.join('\n')}\n`;
54
+ }
55
+ function updateGeneratedToolchainFiles(io) {
56
+ const misePath = node_path.join(io.workspaceRoot, '.mise.toml');
57
+ const miseContent = node_fs.existsSync(misePath) ? node_fs.readFileSync(misePath, 'utf-8') : '';
58
+ io.write(misePath, updateMiseTools(miseContent));
59
+ const workflowPath = node_path.join(io.workspaceRoot, '.github/workflows/ultramodern-workspace-gates.yml');
60
+ if (!node_fs.existsSync(workflowPath)) return;
61
+ const workflow = node_fs.readFileSync(workflowPath, 'utf-8');
62
+ const updatedWorkflow = workflow.replace(/^(\s*)node-version\s*:\s*.*$/mu, `$1node-version: '${NODE_VERSION}'`);
63
+ io.write(workflowPath, updatedWorkflow);
64
+ }
65
+ export { updateGeneratedToolchainFiles, updateRootPackageToolchain, updateUltramodernConfigToolchain };
@@ -11,6 +11,7 @@ import { createMigrationIo, listWorkspacePackageFiles, readJsonFile, writeJsonFi
11
11
  import { updateGeneratedPackageScripts, updateGeneratedToolingDependencies, updateModernDependencies } from "./migrate-strict-effect/package-cohort.js";
12
12
  import { createMigrationPackageSource } from "./migrate-strict-effect/package-source.js";
13
13
  import { ensureGeneratedDeclarationPatches, updateGeneratedPnpmWorkspacePolicy, workspaceUsesDependency } from "./migrate-strict-effect/pnpm-policy.js";
14
+ import { updateGeneratedToolchainFiles, updateRootPackageToolchain } from "./migrate-strict-effect/toolchain-pins.js";
14
15
  import { hasFlag } from "./options.js";
15
16
  function runMigrateStrictEffect(args, context) {
16
17
  if (args.includes('--help') || args.includes('-h')) {
@@ -71,6 +72,7 @@ function runMigrateStrictEffect(args, context) {
71
72
  strategy: packageSource.strategy,
72
73
  config: './.modernjs/ultramodern.json'
73
74
  };
75
+ updateRootPackageToolchain(packageJson);
74
76
  }
75
77
  updateModernDependencies(packageJson, packageSource);
76
78
  updateGeneratedToolingDependencies(packageJson);
@@ -82,6 +84,7 @@ function runMigrateStrictEffect(args, context) {
82
84
  writeJsonFile(io, packageFile, packageJson);
83
85
  }
84
86
  updateGeneratedPnpmWorkspacePolicy(io);
87
+ updateGeneratedToolchainFiles(io);
85
88
  ensureGeneratedDeclarationPatches(io, {
86
89
  includeDrizzleOrmPatch: workspaceUsesDependency(io.workspaceRoot, 'drizzle-orm')
87
90
  });
@@ -8,15 +8,15 @@ function createBuildMarker(scope, app) {
8
8
  }
9
9
  function createDeliveryUnitRecord(scope, app) {
10
10
  return {
11
- schemaVersion: DELIVERY_UNIT_SCHEMA_VERSION,
12
- kind: DELIVERY_UNIT_KIND,
13
- unitId: `${scope}/${app.domain ?? app.id}`,
14
11
  appId: app.id,
12
+ buildMarker: createBuildMarker(scope, app),
13
+ deployProfile: DELIVERY_UNIT_DEPLOY_PROFILE,
14
+ kind: DELIVERY_UNIT_KIND,
15
15
  packageName: packageName(scope, app.packageSuffix),
16
- version: '0.1.0',
16
+ schemaVersion: DELIVERY_UNIT_SCHEMA_VERSION,
17
17
  sourceRevision: 'workspace',
18
- buildMarker: createBuildMarker(scope, app),
19
- deployProfile: DELIVERY_UNIT_DEPLOY_PROFILE
18
+ unitId: `${scope}/${app.domain ?? app.id}`,
19
+ version: '0.1.0'
20
20
  };
21
21
  }
22
22
  export { createBuildMarker, createDeliveryUnitRecord, deliveryUnitContractBlock };
@@ -0,0 +1,4 @@
1
+ import type { MigrationIo } from './io';
2
+ export declare function updateUltramodernConfigToolchain(config: Record<string, any>): void;
3
+ export declare function updateRootPackageToolchain(packageJson: Record<string, any>): void;
4
+ export declare function updateGeneratedToolchainFiles(io: MigrationIo): void;
package/package.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "engines": {
22
22
  "node": ">=20"
23
23
  },
24
- "version": "3.5.0-ultramodern.41",
24
+ "version": "3.5.0-ultramodern.43",
25
25
  "types": "./dist/types/index.d.ts",
26
26
  "main": "./dist/esm-node/index.js",
27
27
  "bin": {
@@ -77,8 +77,8 @@
77
77
  "@modern-js/codesmith": "2.6.9",
78
78
  "oxfmt": "0.58.0",
79
79
  "ultracite": "7.9.3",
80
- "@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.41",
81
- "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.41"
80
+ "@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.5.0-ultramodern.43",
81
+ "@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.43"
82
82
  },
83
83
  "devDependencies": {
84
84
  "@rslib/core": "0.23.2",
@@ -102,6 +102,6 @@
102
102
  "type-check": "tsgo --noEmit -p tsconfig.json"
103
103
  },
104
104
  "ultramodern": {
105
- "frameworkVersion": "3.5.0-ultramodern.41"
105
+ "frameworkVersion": "3.5.0-ultramodern.43"
106
106
  }
107
107
  }