@bleedingdev/modern-js-create 3.2.0-ultramodern.110 → 3.2.0-ultramodern.112

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.
Files changed (35) hide show
  1. package/dist/cjs/index.cjs +3 -1
  2. package/dist/cjs/ultramodern-package-source.cjs +2 -0
  3. package/dist/cjs/ultramodern-workspace.cjs +11 -4
  4. package/dist/esm/index.js +3 -1
  5. package/dist/esm/ultramodern-package-source.js +2 -0
  6. package/dist/esm/ultramodern-workspace.js +11 -4
  7. package/dist/esm-node/index.js +3 -1
  8. package/dist/esm-node/ultramodern-package-source.js +2 -0
  9. package/dist/esm-node/ultramodern-workspace.js +11 -4
  10. package/dist/types/ultramodern-package-source.d.ts +2 -2
  11. package/package.json +3 -28
  12. package/template/package.json.handlebars +1 -0
  13. package/template/scripts/check-i18n-strings.mjs +1 -1
  14. package/template/scripts/validate-ultramodern.mjs.handlebars +3 -2
  15. package/template/tests/ultramodern.contract.test.ts.handlebars +4 -1
  16. package/dist/cjs/ultramodern-checks/cli/i18n-check.cjs +0 -73
  17. package/dist/cjs/ultramodern-checks/cli/oxlint.cjs +0 -174
  18. package/dist/cjs/ultramodern-checks/cli/workspace-source-check.cjs +0 -179
  19. package/dist/cjs/ultramodern-checks/index.cjs +0 -58
  20. package/dist/cjs/ultramodern-checks/oxlint-plugin.cjs +0 -354
  21. package/dist/esm/ultramodern-checks/cli/i18n-check.js +0 -26
  22. package/dist/esm/ultramodern-checks/cli/oxlint.js +0 -118
  23. package/dist/esm/ultramodern-checks/cli/workspace-source-check.js +0 -124
  24. package/dist/esm/ultramodern-checks/index.js +0 -3
  25. package/dist/esm/ultramodern-checks/oxlint-plugin.js +0 -316
  26. package/dist/esm-node/ultramodern-checks/cli/i18n-check.js +0 -27
  27. package/dist/esm-node/ultramodern-checks/cli/oxlint.js +0 -119
  28. package/dist/esm-node/ultramodern-checks/cli/workspace-source-check.js +0 -125
  29. package/dist/esm-node/ultramodern-checks/index.js +0 -4
  30. package/dist/esm-node/ultramodern-checks/oxlint-plugin.js +0 -317
  31. package/dist/types/ultramodern-checks/cli/i18n-check.d.ts +0 -9
  32. package/dist/types/ultramodern-checks/cli/oxlint.d.ts +0 -22
  33. package/dist/types/ultramodern-checks/cli/workspace-source-check.d.ts +0 -8
  34. package/dist/types/ultramodern-checks/index.d.ts +0 -3
  35. package/dist/types/ultramodern-checks/oxlint-plugin.d.ts +0 -63
@@ -53,7 +53,7 @@ const packageNamePattern = /^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/;
53
53
  const TANSTACK_ROUTER_VERSION = '1.170.15';
54
54
  const TAILWIND_VERSION = '4.3.0';
55
55
  const TAILWIND_POSTCSS_VERSION = '4.3.0';
56
- const PNPM_VERSION = '11.5.0';
56
+ const PNPM_VERSION = '11.5.2';
57
57
  const I18NEXT_VERSION = '26.3.1';
58
58
  const REACT_VERSION = '^19.2.7';
59
59
  const REACT_DOM_VERSION = '^19.2.7';
@@ -875,6 +875,7 @@ async function main() {
875
875
  runtimeVersion: (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/runtime', packageSource),
876
876
  appToolsVersion: (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/app-tools', packageSource),
877
877
  adapterRstestVersion: (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/adapter-rstest', packageSource),
878
+ codeToolsVersion: (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/code-tools', packageSource),
878
879
  createVersion: (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/create', packageSource),
879
880
  tsconfigVersion: (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/tsconfig', packageSource),
880
881
  pluginTanstackVersion: (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/plugin-tanstack', packageSource),
@@ -986,6 +987,7 @@ function copyTemplate(src, dest, options) {
986
987
  runtimeVersion: options.runtimeVersion,
987
988
  appToolsVersion: options.appToolsVersion,
988
989
  adapterRstestVersion: options.adapterRstestVersion,
990
+ codeToolsVersion: options.codeToolsVersion,
989
991
  createVersion: options.createVersion,
990
992
  tsconfigVersion: options.tsconfigVersion,
991
993
  pluginTanstackVersion: options.pluginTanstackVersion,
@@ -34,6 +34,7 @@ const BLEEDINGDEV_PACKAGE_NAME_PREFIX = 'modern-js-';
34
34
  const BLEEDINGDEV_FRAMEWORK_VERSION_ENV = 'MODERN_CREATE_ULTRAMODERN_FRAMEWORK_VERSION';
35
35
  const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES = [
36
36
  '@modern-js/create',
37
+ '@modern-js/code-tools',
37
38
  '@modern-js/runtime',
38
39
  '@modern-js/app-tools',
39
40
  '@modern-js/tsconfig',
@@ -44,6 +45,7 @@ const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES = [
44
45
  ];
45
46
  const ULTRAMODERN_WORKSPACE_MODERN_PACKAGES = [
46
47
  '@modern-js/create',
48
+ '@modern-js/code-tools',
47
49
  '@modern-js/app-tools',
48
50
  '@modern-js/plugin-bff',
49
51
  '@modern-js/plugin-i18n',
@@ -75,7 +75,7 @@ const I18NEXT_VERSION = '26.3.1';
75
75
  const REACT_VERSION = '^19.2.7';
76
76
  const REACT_DOM_VERSION = '^19.2.7';
77
77
  const REACT_ROUTER_DOM_VERSION = '7.17.0';
78
- const PNPM_VERSION = '11.5.0';
78
+ const PNPM_VERSION = '11.5.2';
79
79
  const GENERATED_CONTRACT_PATH = '.modernjs/ultramodern-generated-contract.json';
80
80
  const RSTACK_AGENT_SKILLS_COMMIT = '61c948b42512e223bad44b83af4080eba48b2677';
81
81
  const MODULE_FEDERATION_AGENT_SKILLS_COMMIT = '07bb5b6c43ad457609e00c081b72d4c42508ec76';
@@ -528,6 +528,7 @@ function createRootPackageJson(scope, packageSource, remotes = []) {
528
528
  },
529
529
  devDependencies: {
530
530
  '@effect/tsgo': EFFECT_TSGO_VERSION,
531
+ '@modern-js/code-tools': (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/code-tools', packageSource),
531
532
  '@modern-js/create': (0, external_ultramodern_package_source_cjs_namespaceObject.modernPackageSpecifier)('@modern-js/create', packageSource),
532
533
  "@typescript/native-preview": TYPESCRIPT_NATIVE_PREVIEW_VERSION,
533
534
  lefthook: LEFTHOOK_VERSION,
@@ -4292,7 +4293,7 @@ for (const appDir of appDirs) {
4292
4293
  function createWorkspaceI18nBoundaryValidationScript() {
4293
4294
  return `#!/usr/bin/env node
4294
4295
  import path from 'node:path';
4295
- import { runWorkspaceSourceCheck } from '@modern-js/create/ultramodern-checks';
4296
+ import { runWorkspaceSourceCheck } from '@modern-js/code-tools';
4296
4297
 
4297
4298
  const root = path.resolve(import.meta.dirname, '..');
4298
4299
  process.exitCode = runWorkspaceSourceCheck({
@@ -4540,6 +4541,11 @@ assert(
4540
4541
  expectedModernDependency('@modern-js/create'),
4541
4542
  'Root must depend on @modern-js/create through package source metadata',
4542
4543
  );
4544
+ assert(
4545
+ rootPackage.devDependencies?.['@modern-js/code-tools'] ===
4546
+ expectedModernDependency('@modern-js/code-tools'),
4547
+ 'Root must depend on @modern-js/code-tools through package source metadata',
4548
+ );
4543
4549
  if (packageSource.strategy === 'install') {
4544
4550
  const installSpecifier = packageSource.modernPackages?.specifier;
4545
4551
  assert(
@@ -4552,6 +4558,7 @@ if (packageSource.strategy === 'install') {
4552
4558
  if (Object.keys(modernAliases).length > 0) {
4553
4559
  for (const modernPackageName of [
4554
4560
  '@modern-js/app-tools',
4561
+ '@modern-js/code-tools',
4555
4562
  '@modern-js/plugin-bff',
4556
4563
  '@modern-js/plugin-i18n',
4557
4564
  '@modern-js/plugin-tanstack',
@@ -4575,9 +4582,9 @@ assert(rootPackage.scripts?.['ultramodern:check'] === 'node ./scripts/validate-u
4575
4582
  assert(rootPackage.scripts?.['ultramodern:i18n-boundaries'] === 'node ./scripts/check-ultramodern-i18n-boundaries.mjs', 'Root must expose ultramodern:i18n-boundaries');
4576
4583
  const i18nBoundaryScript = readText('scripts/check-ultramodern-i18n-boundaries.mjs');
4577
4584
  assert(
4578
- i18nBoundaryScript.includes("from '@modern-js/create/ultramodern-checks'") &&
4585
+ i18nBoundaryScript.includes("from '@modern-js/code-tools'") &&
4579
4586
  i18nBoundaryScript.includes('runWorkspaceSourceCheck'),
4580
- 'Root i18n boundary script must call @modern-js/create/ultramodern-checks',
4587
+ 'Root i18n boundary script must call @modern-js/code-tools',
4581
4588
  );
4582
4589
  assert(rootPackage.scripts?.['ultramodern:assert-mf-types'] === 'node ./scripts/assert-mf-types.mjs', 'Root must expose ultramodern:assert-mf-types');
4583
4590
  assert(rootPackage.scripts?.['cloudflare:deploy'] === expectedCloudflareDeployScript, 'Root must expose cloudflare:deploy');
package/dist/esm/index.js CHANGED
@@ -19,7 +19,7 @@ const packageNamePattern = /^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/;
19
19
  const TANSTACK_ROUTER_VERSION = '1.170.15';
20
20
  const TAILWIND_VERSION = '4.3.0';
21
21
  const TAILWIND_POSTCSS_VERSION = '4.3.0';
22
- const PNPM_VERSION = '11.5.0';
22
+ const PNPM_VERSION = '11.5.2';
23
23
  const I18NEXT_VERSION = '26.3.1';
24
24
  const REACT_VERSION = '^19.2.7';
25
25
  const REACT_DOM_VERSION = '^19.2.7';
@@ -841,6 +841,7 @@ async function main() {
841
841
  runtimeVersion: modernPackageSpecifier('@modern-js/runtime', packageSource),
842
842
  appToolsVersion: modernPackageSpecifier('@modern-js/app-tools', packageSource),
843
843
  adapterRstestVersion: modernPackageSpecifier('@modern-js/adapter-rstest', packageSource),
844
+ codeToolsVersion: modernPackageSpecifier('@modern-js/code-tools', packageSource),
844
845
  createVersion: modernPackageSpecifier('@modern-js/create', packageSource),
845
846
  tsconfigVersion: modernPackageSpecifier('@modern-js/tsconfig', packageSource),
846
847
  pluginTanstackVersion: modernPackageSpecifier('@modern-js/plugin-tanstack', packageSource),
@@ -952,6 +953,7 @@ function copyTemplate(src, dest, options) {
952
953
  runtimeVersion: options.runtimeVersion,
953
954
  appToolsVersion: options.appToolsVersion,
954
955
  adapterRstestVersion: options.adapterRstestVersion,
956
+ codeToolsVersion: options.codeToolsVersion,
955
957
  createVersion: options.createVersion,
956
958
  tsconfigVersion: options.tsconfigVersion,
957
959
  pluginTanstackVersion: options.pluginTanstackVersion,
@@ -5,6 +5,7 @@ const BLEEDINGDEV_PACKAGE_NAME_PREFIX = 'modern-js-';
5
5
  const BLEEDINGDEV_FRAMEWORK_VERSION_ENV = 'MODERN_CREATE_ULTRAMODERN_FRAMEWORK_VERSION';
6
6
  const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES = [
7
7
  '@modern-js/create',
8
+ '@modern-js/code-tools',
8
9
  '@modern-js/runtime',
9
10
  '@modern-js/app-tools',
10
11
  '@modern-js/tsconfig',
@@ -15,6 +16,7 @@ const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES = [
15
16
  ];
16
17
  const ULTRAMODERN_WORKSPACE_MODERN_PACKAGES = [
17
18
  '@modern-js/create',
19
+ '@modern-js/code-tools',
18
20
  '@modern-js/app-tools',
19
21
  '@modern-js/plugin-bff',
20
22
  '@modern-js/plugin-i18n',
@@ -25,7 +25,7 @@ const I18NEXT_VERSION = '26.3.1';
25
25
  const REACT_VERSION = '^19.2.7';
26
26
  const REACT_DOM_VERSION = '^19.2.7';
27
27
  const REACT_ROUTER_DOM_VERSION = '7.17.0';
28
- const PNPM_VERSION = '11.5.0';
28
+ const PNPM_VERSION = '11.5.2';
29
29
  const GENERATED_CONTRACT_PATH = '.modernjs/ultramodern-generated-contract.json';
30
30
  const RSTACK_AGENT_SKILLS_COMMIT = '61c948b42512e223bad44b83af4080eba48b2677';
31
31
  const MODULE_FEDERATION_AGENT_SKILLS_COMMIT = '07bb5b6c43ad457609e00c081b72d4c42508ec76';
@@ -478,6 +478,7 @@ function createRootPackageJson(scope, packageSource, remotes = []) {
478
478
  },
479
479
  devDependencies: {
480
480
  '@effect/tsgo': EFFECT_TSGO_VERSION,
481
+ '@modern-js/code-tools': modernPackageSpecifier('@modern-js/code-tools', packageSource),
481
482
  '@modern-js/create': modernPackageSpecifier('@modern-js/create', packageSource),
482
483
  "@typescript/native-preview": TYPESCRIPT_NATIVE_PREVIEW_VERSION,
483
484
  lefthook: LEFTHOOK_VERSION,
@@ -4242,7 +4243,7 @@ for (const appDir of appDirs) {
4242
4243
  function createWorkspaceI18nBoundaryValidationScript() {
4243
4244
  return `#!/usr/bin/env node
4244
4245
  import path from 'node:path';
4245
- import { runWorkspaceSourceCheck } from '@modern-js/create/ultramodern-checks';
4246
+ import { runWorkspaceSourceCheck } from '@modern-js/code-tools';
4246
4247
 
4247
4248
  const root = path.resolve(import.meta.dirname, '..');
4248
4249
  process.exitCode = runWorkspaceSourceCheck({
@@ -4490,6 +4491,11 @@ assert(
4490
4491
  expectedModernDependency('@modern-js/create'),
4491
4492
  'Root must depend on @modern-js/create through package source metadata',
4492
4493
  );
4494
+ assert(
4495
+ rootPackage.devDependencies?.['@modern-js/code-tools'] ===
4496
+ expectedModernDependency('@modern-js/code-tools'),
4497
+ 'Root must depend on @modern-js/code-tools through package source metadata',
4498
+ );
4493
4499
  if (packageSource.strategy === 'install') {
4494
4500
  const installSpecifier = packageSource.modernPackages?.specifier;
4495
4501
  assert(
@@ -4502,6 +4508,7 @@ if (packageSource.strategy === 'install') {
4502
4508
  if (Object.keys(modernAliases).length > 0) {
4503
4509
  for (const modernPackageName of [
4504
4510
  '@modern-js/app-tools',
4511
+ '@modern-js/code-tools',
4505
4512
  '@modern-js/plugin-bff',
4506
4513
  '@modern-js/plugin-i18n',
4507
4514
  '@modern-js/plugin-tanstack',
@@ -4525,9 +4532,9 @@ assert(rootPackage.scripts?.['ultramodern:check'] === 'node ./scripts/validate-u
4525
4532
  assert(rootPackage.scripts?.['ultramodern:i18n-boundaries'] === 'node ./scripts/check-ultramodern-i18n-boundaries.mjs', 'Root must expose ultramodern:i18n-boundaries');
4526
4533
  const i18nBoundaryScript = readText('scripts/check-ultramodern-i18n-boundaries.mjs');
4527
4534
  assert(
4528
- i18nBoundaryScript.includes("from '@modern-js/create/ultramodern-checks'") &&
4535
+ i18nBoundaryScript.includes("from '@modern-js/code-tools'") &&
4529
4536
  i18nBoundaryScript.includes('runWorkspaceSourceCheck'),
4530
- 'Root i18n boundary script must call @modern-js/create/ultramodern-checks',
4537
+ 'Root i18n boundary script must call @modern-js/code-tools',
4531
4538
  );
4532
4539
  assert(rootPackage.scripts?.['ultramodern:assert-mf-types'] === 'node ./scripts/assert-mf-types.mjs', 'Root must expose ultramodern:assert-mf-types');
4533
4540
  assert(rootPackage.scripts?.['cloudflare:deploy'] === expectedCloudflareDeployScript, 'Root must expose cloudflare:deploy');
@@ -20,7 +20,7 @@ const packageNamePattern = /^(?:@[a-z0-9._-]+\/)?[a-z0-9._-]+$/;
20
20
  const TANSTACK_ROUTER_VERSION = '1.170.15';
21
21
  const TAILWIND_VERSION = '4.3.0';
22
22
  const TAILWIND_POSTCSS_VERSION = '4.3.0';
23
- const PNPM_VERSION = '11.5.0';
23
+ const PNPM_VERSION = '11.5.2';
24
24
  const I18NEXT_VERSION = '26.3.1';
25
25
  const REACT_VERSION = '^19.2.7';
26
26
  const REACT_DOM_VERSION = '^19.2.7';
@@ -842,6 +842,7 @@ async function main() {
842
842
  runtimeVersion: modernPackageSpecifier('@modern-js/runtime', packageSource),
843
843
  appToolsVersion: modernPackageSpecifier('@modern-js/app-tools', packageSource),
844
844
  adapterRstestVersion: modernPackageSpecifier('@modern-js/adapter-rstest', packageSource),
845
+ codeToolsVersion: modernPackageSpecifier('@modern-js/code-tools', packageSource),
845
846
  createVersion: modernPackageSpecifier('@modern-js/create', packageSource),
846
847
  tsconfigVersion: modernPackageSpecifier('@modern-js/tsconfig', packageSource),
847
848
  pluginTanstackVersion: modernPackageSpecifier('@modern-js/plugin-tanstack', packageSource),
@@ -953,6 +954,7 @@ function copyTemplate(src, dest, options) {
953
954
  runtimeVersion: options.runtimeVersion,
954
955
  appToolsVersion: options.appToolsVersion,
955
956
  adapterRstestVersion: options.adapterRstestVersion,
957
+ codeToolsVersion: options.codeToolsVersion,
956
958
  createVersion: options.createVersion,
957
959
  tsconfigVersion: options.tsconfigVersion,
958
960
  pluginTanstackVersion: options.pluginTanstackVersion,
@@ -6,6 +6,7 @@ const BLEEDINGDEV_PACKAGE_NAME_PREFIX = 'modern-js-';
6
6
  const BLEEDINGDEV_FRAMEWORK_VERSION_ENV = 'MODERN_CREATE_ULTRAMODERN_FRAMEWORK_VERSION';
7
7
  const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES = [
8
8
  '@modern-js/create',
9
+ '@modern-js/code-tools',
9
10
  '@modern-js/runtime',
10
11
  '@modern-js/app-tools',
11
12
  '@modern-js/tsconfig',
@@ -16,6 +17,7 @@ const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES = [
16
17
  ];
17
18
  const ULTRAMODERN_WORKSPACE_MODERN_PACKAGES = [
18
19
  '@modern-js/create',
20
+ '@modern-js/code-tools',
19
21
  '@modern-js/app-tools',
20
22
  '@modern-js/plugin-bff',
21
23
  '@modern-js/plugin-i18n',
@@ -26,7 +26,7 @@ const I18NEXT_VERSION = '26.3.1';
26
26
  const REACT_VERSION = '^19.2.7';
27
27
  const REACT_DOM_VERSION = '^19.2.7';
28
28
  const REACT_ROUTER_DOM_VERSION = '7.17.0';
29
- const PNPM_VERSION = '11.5.0';
29
+ const PNPM_VERSION = '11.5.2';
30
30
  const GENERATED_CONTRACT_PATH = '.modernjs/ultramodern-generated-contract.json';
31
31
  const RSTACK_AGENT_SKILLS_COMMIT = '61c948b42512e223bad44b83af4080eba48b2677';
32
32
  const MODULE_FEDERATION_AGENT_SKILLS_COMMIT = '07bb5b6c43ad457609e00c081b72d4c42508ec76';
@@ -479,6 +479,7 @@ function createRootPackageJson(scope, packageSource, remotes = []) {
479
479
  },
480
480
  devDependencies: {
481
481
  '@effect/tsgo': EFFECT_TSGO_VERSION,
482
+ '@modern-js/code-tools': modernPackageSpecifier('@modern-js/code-tools', packageSource),
482
483
  '@modern-js/create': modernPackageSpecifier('@modern-js/create', packageSource),
483
484
  "@typescript/native-preview": TYPESCRIPT_NATIVE_PREVIEW_VERSION,
484
485
  lefthook: LEFTHOOK_VERSION,
@@ -4243,7 +4244,7 @@ for (const appDir of appDirs) {
4243
4244
  function createWorkspaceI18nBoundaryValidationScript() {
4244
4245
  return `#!/usr/bin/env node
4245
4246
  import path from 'node:path';
4246
- import { runWorkspaceSourceCheck } from '@modern-js/create/ultramodern-checks';
4247
+ import { runWorkspaceSourceCheck } from '@modern-js/code-tools';
4247
4248
 
4248
4249
  const root = path.resolve(import.meta.dirname, '..');
4249
4250
  process.exitCode = runWorkspaceSourceCheck({
@@ -4491,6 +4492,11 @@ assert(
4491
4492
  expectedModernDependency('@modern-js/create'),
4492
4493
  'Root must depend on @modern-js/create through package source metadata',
4493
4494
  );
4495
+ assert(
4496
+ rootPackage.devDependencies?.['@modern-js/code-tools'] ===
4497
+ expectedModernDependency('@modern-js/code-tools'),
4498
+ 'Root must depend on @modern-js/code-tools through package source metadata',
4499
+ );
4494
4500
  if (packageSource.strategy === 'install') {
4495
4501
  const installSpecifier = packageSource.modernPackages?.specifier;
4496
4502
  assert(
@@ -4503,6 +4509,7 @@ if (packageSource.strategy === 'install') {
4503
4509
  if (Object.keys(modernAliases).length > 0) {
4504
4510
  for (const modernPackageName of [
4505
4511
  '@modern-js/app-tools',
4512
+ '@modern-js/code-tools',
4506
4513
  '@modern-js/plugin-bff',
4507
4514
  '@modern-js/plugin-i18n',
4508
4515
  '@modern-js/plugin-tanstack',
@@ -4526,9 +4533,9 @@ assert(rootPackage.scripts?.['ultramodern:check'] === 'node ./scripts/validate-u
4526
4533
  assert(rootPackage.scripts?.['ultramodern:i18n-boundaries'] === 'node ./scripts/check-ultramodern-i18n-boundaries.mjs', 'Root must expose ultramodern:i18n-boundaries');
4527
4534
  const i18nBoundaryScript = readText('scripts/check-ultramodern-i18n-boundaries.mjs');
4528
4535
  assert(
4529
- i18nBoundaryScript.includes("from '@modern-js/create/ultramodern-checks'") &&
4536
+ i18nBoundaryScript.includes("from '@modern-js/code-tools'") &&
4530
4537
  i18nBoundaryScript.includes('runWorkspaceSourceCheck'),
4531
- 'Root i18n boundary script must call @modern-js/create/ultramodern-checks',
4538
+ 'Root i18n boundary script must call @modern-js/code-tools',
4532
4539
  );
4533
4540
  assert(rootPackage.scripts?.['ultramodern:assert-mf-types'] === 'node ./scripts/assert-mf-types.mjs', 'Root must expose ultramodern:assert-mf-types');
4534
4541
  assert(rootPackage.scripts?.['cloudflare:deploy'] === expectedCloudflareDeployScript, 'Root must expose cloudflare:deploy');
@@ -3,8 +3,8 @@ export declare const BLEEDINGDEV_CREATE_PACKAGE = "@bleedingdev/modern-js-create
3
3
  export declare const BLEEDINGDEV_PACKAGE_SCOPE = "bleedingdev";
4
4
  export declare const BLEEDINGDEV_PACKAGE_NAME_PREFIX = "modern-js-";
5
5
  export declare const BLEEDINGDEV_FRAMEWORK_VERSION_ENV = "MODERN_CREATE_ULTRAMODERN_FRAMEWORK_VERSION";
6
- export declare const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES: readonly ['@modern-js/create', '@modern-js/runtime', '@modern-js/app-tools', '@modern-js/tsconfig', '@modern-js/plugin-i18n', '@modern-js/plugin-tanstack', '@modern-js/plugin-bff', '@modern-js/adapter-rstest'];
7
- export declare const ULTRAMODERN_WORKSPACE_MODERN_PACKAGES: readonly ['@modern-js/create', '@modern-js/app-tools', '@modern-js/plugin-bff', '@modern-js/plugin-i18n', '@modern-js/plugin-tanstack', '@modern-js/runtime'];
6
+ export declare const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES: readonly ['@modern-js/create', '@modern-js/code-tools', '@modern-js/runtime', '@modern-js/app-tools', '@modern-js/tsconfig', '@modern-js/plugin-i18n', '@modern-js/plugin-tanstack', '@modern-js/plugin-bff', '@modern-js/adapter-rstest'];
7
+ export declare const ULTRAMODERN_WORKSPACE_MODERN_PACKAGES: readonly ['@modern-js/create', '@modern-js/code-tools', '@modern-js/app-tools', '@modern-js/plugin-bff', '@modern-js/plugin-i18n', '@modern-js/plugin-tanstack', '@modern-js/runtime'];
8
8
  export type UltramodernPackageSourceStrategy = 'workspace' | 'install';
9
9
  export type ResolvedUltramodernPackageSource = {
10
10
  strategy: UltramodernPackageSourceStrategy;
package/package.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "engines": {
22
22
  "node": ">=20"
23
23
  },
24
- "version": "3.2.0-ultramodern.110",
24
+ "version": "3.2.0-ultramodern.112",
25
25
  "types": "./dist/types/index.d.ts",
26
26
  "main": "./dist/esm-node/index.js",
27
27
  "bin": {
@@ -31,12 +31,6 @@
31
31
  "*": {
32
32
  ".": [
33
33
  "./dist/types/index.d.ts"
34
- ],
35
- "ultramodern-checks": [
36
- "./dist/types/ultramodern-checks/index.d.ts"
37
- ],
38
- "ultramodern-checks/oxlint-plugin": [
39
- "./dist/types/ultramodern-checks/oxlint-plugin.d.ts"
40
34
  ]
41
35
  }
42
36
  },
@@ -48,22 +42,6 @@
48
42
  "require": "./dist/cjs/index.cjs"
49
43
  },
50
44
  "default": "./dist/esm-node/index.js"
51
- },
52
- "./ultramodern-checks": {
53
- "types": "./dist/types/ultramodern-checks/index.d.ts",
54
- "node": {
55
- "import": "./dist/esm-node/ultramodern-checks/index.js",
56
- "require": "./dist/cjs/ultramodern-checks/index.cjs"
57
- },
58
- "default": "./dist/esm-node/ultramodern-checks/index.js"
59
- },
60
- "./ultramodern-checks/oxlint-plugin": {
61
- "types": "./dist/types/ultramodern-checks/oxlint-plugin.d.ts",
62
- "node": {
63
- "import": "./dist/esm-node/ultramodern-checks/oxlint-plugin.js",
64
- "require": "./dist/cjs/ultramodern-checks/oxlint-plugin.cjs"
65
- },
66
- "default": "./dist/esm-node/ultramodern-checks/oxlint-plugin.js"
67
45
  }
68
46
  },
69
47
  "files": [
@@ -72,15 +50,12 @@
72
50
  "dist",
73
51
  "bin.js"
74
52
  ],
75
- "dependencies": {
76
- "oxlint": "1.68.0"
77
- },
78
53
  "devDependencies": {
79
54
  "@rslib/core": "0.21.5",
80
55
  "@types/node": "^25.9.1",
81
56
  "@typescript/native-preview": "7.0.0-dev.20260606.1",
82
57
  "tsx": "^4.22.3",
83
- "@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.2.0-ultramodern.110",
58
+ "@modern-js/i18n-utils": "npm:@bleedingdev/modern-js-i18n-utils@3.2.0-ultramodern.112",
84
59
  "@scripts/rstest-config": "2.66.0"
85
60
  },
86
61
  "publishConfig": {
@@ -95,6 +70,6 @@
95
70
  "test": "rm -rf dist && rslib build -c rslibconfig.mts && rstest --passWithNoTests"
96
71
  },
97
72
  "ultramodern": {
98
- "frameworkVersion": "3.2.0-ultramodern.110"
73
+ "frameworkVersion": "3.2.0-ultramodern.112"
99
74
  }
100
75
  }
@@ -39,6 +39,7 @@
39
39
  "@effect/tsgo": "{{effectTsgoVersion}}",
40
40
  "@modern-js/adapter-rstest": "{{adapterRstestVersion}}",
41
41
  "@modern-js/app-tools": "{{appToolsVersion}}",
42
+ "@modern-js/code-tools": "{{codeToolsVersion}}",
42
43
  "@modern-js/create": "{{createVersion}}",
43
44
  {{#if enableBff}} "@modern-js/plugin-bff": "{{pluginBffVersion}}",
44
45
  {{/if}} "@modern-js/tsconfig": "{{tsconfigVersion}}",
@@ -1,3 +1,3 @@
1
- import { runSingleAppI18nCheck } from '@modern-js/create/ultramodern-checks';
1
+ import { runSingleAppI18nCheck } from '@modern-js/code-tools';
2
2
 
3
3
  process.exitCode = runSingleAppI18nCheck();
@@ -371,10 +371,10 @@ for (const [scriptName, scriptCommand] of Object.entries(requiredScripts)) {
371
371
 
372
372
  const i18nCheckScript = readText('scripts/check-i18n-strings.mjs');
373
373
  if (
374
- !i18nCheckScript.includes("from '@modern-js/create/ultramodern-checks'") ||
374
+ !i18nCheckScript.includes("from '@modern-js/code-tools'") ||
375
375
  !i18nCheckScript.includes('runSingleAppI18nCheck')
376
376
  ) {
377
- console.error('i18n:check must call @modern-js/create/ultramodern-checks');
377
+ console.error('i18n:check must call @modern-js/code-tools');
378
378
  process.exit(1);
379
379
  }
380
380
 
@@ -599,6 +599,7 @@ for (const dependency of ['@modern-js/plugin-i18n', 'i18next', 'react-i18next'])
599
599
  for (const dependency of [
600
600
  '@effect/tsgo',
601
601
  '@modern-js/adapter-rstest',
602
+ '@modern-js/code-tools',
602
603
  '@modern-js/create',
603
604
  '@rstest/core',
604
605
  '@typescript/native-preview',
@@ -128,11 +128,14 @@ describe('generated UltraModern contract', () => {
128
128
  expect(
129
129
  packageJson.devDependencies?.['@modern-js/adapter-rstest'],
130
130
  ).toBeTruthy();
131
+ expect(
132
+ packageJson.devDependencies?.['@modern-js/code-tools'],
133
+ ).toBeTruthy();
131
134
  expect(
132
135
  packageJson.devDependencies?.['@modern-js/create'],
133
136
  ).toBeTruthy();
134
137
  expect(readText('scripts/check-i18n-strings.mjs')).toContain(
135
- "from '@modern-js/create/ultramodern-checks'",
138
+ "from '@modern-js/code-tools'",
136
139
  );
137
140
  expect(packageJson.scripts?.format).toBe('oxfmt .');
138
141
  expect(packageJson.scripts?.['format:check']).toBe('oxfmt --check .');
@@ -1,73 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.d = (exports1, getters, values)=>{
5
- var define = (defs, kind)=>{
6
- for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
- enumerable: true,
8
- [kind]: defs[key]
9
- });
10
- };
11
- define(getters, "get");
12
- define(values, "value");
13
- };
14
- })();
15
- (()=>{
16
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
- })();
18
- (()=>{
19
- __webpack_require__.r = (exports1)=>{
20
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
- value: 'Module'
22
- });
23
- Object.defineProperty(exports1, '__esModule', {
24
- value: true
25
- });
26
- };
27
- })();
28
- var __webpack_exports__ = {};
29
- __webpack_require__.r(__webpack_exports__);
30
- __webpack_require__.d(__webpack_exports__, {
31
- SINGLE_APP_I18N_FAILURE: ()=>SINGLE_APP_I18N_FAILURE,
32
- SINGLE_APP_I18N_SUCCESS: ()=>SINGLE_APP_I18N_SUCCESS,
33
- main: ()=>main,
34
- runSingleAppI18nCheck: ()=>runSingleAppI18nCheck
35
- });
36
- const external_oxlint_cjs_namespaceObject = require("./oxlint.cjs");
37
- const SINGLE_APP_I18N_SUCCESS = 'No hardcoded user-visible JSX strings found.';
38
- const SINGLE_APP_I18N_FAILURE = 'Hardcoded user-visible JSX strings found. Move copy to locale JSON files.';
39
- const runSingleAppI18nCheck = ({ cwd = process.cwd(), targets = [
40
- 'src'
41
- ] } = {})=>{
42
- const result = (0, external_oxlint_cjs_namespaceObject.runOxlintRules)({
43
- cwd,
44
- targets,
45
- rules: {
46
- 'ultramodern/no-hardcoded-jsx-text': 'error',
47
- 'ultramodern/no-literal-visible-jsx-attributes': 'error'
48
- }
49
- });
50
- if (0 === result.exitCode) {
51
- console.log(SINGLE_APP_I18N_SUCCESS);
52
- return 0;
53
- }
54
- console.error(SINGLE_APP_I18N_FAILURE);
55
- (0, external_oxlint_cjs_namespaceObject.printOxlintOutput)(result);
56
- return result.exitCode;
57
- };
58
- const main = ()=>{
59
- process.exitCode = runSingleAppI18nCheck();
60
- };
61
- exports.SINGLE_APP_I18N_FAILURE = __webpack_exports__.SINGLE_APP_I18N_FAILURE;
62
- exports.SINGLE_APP_I18N_SUCCESS = __webpack_exports__.SINGLE_APP_I18N_SUCCESS;
63
- exports.main = __webpack_exports__.main;
64
- exports.runSingleAppI18nCheck = __webpack_exports__.runSingleAppI18nCheck;
65
- for(var __rspack_i in __webpack_exports__)if (-1 === [
66
- "SINGLE_APP_I18N_FAILURE",
67
- "SINGLE_APP_I18N_SUCCESS",
68
- "main",
69
- "runSingleAppI18nCheck"
70
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
71
- Object.defineProperty(exports, '__esModule', {
72
- value: true
73
- });