@bleedingdev/modern-js-create 3.2.0-ultramodern.12 → 3.2.0-ultramodern.120
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/README.md +146 -74
- package/bin/run.js +0 -0
- package/dist/cjs/create-package-root.cjs +65 -0
- package/dist/cjs/index.cjs +498 -0
- package/dist/cjs/locale/en.cjs +94 -0
- package/dist/cjs/locale/index.cjs +50 -0
- package/dist/cjs/locale/zh.cjs +94 -0
- package/dist/cjs/ultramodern-package-source.cjs +135 -0
- package/dist/cjs/ultramodern-workspace.cjs +6797 -0
- package/dist/esm/create-package-root.js +16 -0
- package/dist/esm/index.js +461 -0
- package/dist/esm/locale/en.js +56 -0
- package/dist/esm/locale/index.js +9 -0
- package/dist/esm/locale/zh.js +56 -0
- package/dist/esm/ultramodern-package-source.js +63 -0
- package/dist/esm/ultramodern-workspace.js +6738 -0
- package/dist/esm-node/create-package-root.js +17 -0
- package/dist/esm-node/index.js +462 -0
- package/dist/esm-node/locale/en.js +57 -0
- package/dist/esm-node/locale/index.js +10 -0
- package/dist/esm-node/locale/zh.js +57 -0
- package/dist/esm-node/ultramodern-package-source.js +64 -0
- package/dist/esm-node/ultramodern-workspace.js +6739 -0
- package/dist/types/create-package-root.d.ts +1 -0
- package/dist/types/locale/en.d.ts +7 -7
- package/dist/types/locale/index.d.ts +111 -2
- package/dist/types/locale/zh.d.ts +7 -7
- package/dist/types/ultramodern-package-source.d.ts +28 -0
- package/dist/types/ultramodern-workspace.d.ts +12 -3
- package/package.json +33 -15
- package/template-workspace/.agents/agent-reference-repos.json +24 -0
- package/template-workspace/.agents/skills-lock.json +19 -0
- package/template-workspace/.codex/hooks.json +16 -0
- package/template-workspace/.github/renovate.json +29 -0
- package/template-workspace/.github/workflows/ultramodern-workspace-gates.yml.handlebars +70 -0
- package/template-workspace/.gitignore.handlebars +5 -0
- package/template-workspace/.mise.toml.handlebars +2 -0
- package/template-workspace/AGENTS.md +43 -11
- package/template-workspace/README.md.handlebars +116 -11
- package/template-workspace/lefthook.yml +24 -0
- package/template-workspace/oxfmt.config.ts +1 -0
- package/template-workspace/oxlint.config.ts +1 -0
- package/template-workspace/pnpm-workspace.yaml +31 -8
- package/template-workspace/scripts/bootstrap-agent-skills.mjs +204 -21
- package/template-workspace/scripts/setup-agent-reference-repos.mjs +370 -0
- package/dist/index.js +0 -2626
- package/template/.agents/skills-lock.json +0 -34
- package/template/.browserslistrc +0 -4
- package/template/.github/workflows/ultramodern-gates.yml.handlebars +0 -30
- package/template/.gitignore.handlebars +0 -30
- package/template/.nvmrc +0 -2
- package/template/AGENTS.md +0 -25
- package/template/README.md +0 -79
- package/template/api/effect/index.ts.handlebars +0 -23
- package/template/api/lambda/hello.ts.handlebars +0 -6
- package/template/config/public/locales/cs/translation.json +0 -39
- package/template/config/public/locales/en/translation.json +0 -39
- package/template/modern.config.ts.handlebars +0 -53
- package/template/oxfmt.config.ts +0 -8
- package/template/oxlint.config.ts +0 -12
- package/template/package.json.handlebars +0 -67
- package/template/postcss.config.mjs.handlebars +0 -6
- package/template/scripts/bootstrap-agent-skills.mjs +0 -95
- package/template/scripts/check-i18n-strings.mjs +0 -83
- package/template/scripts/validate-ultramodern.mjs.handlebars +0 -178
- package/template/shared/effect/api.ts.handlebars +0 -17
- package/template/src/modern-app-env.d.ts +0 -1
- package/template/src/modern.runtime.ts.handlebars +0 -23
- package/template/src/routes/index.css.handlebars +0 -129
- package/template/src/routes/layout.tsx.handlebars +0 -9
- package/template/src/routes/page.tsx.handlebars +0 -155
- package/template/tailwind.config.ts.handlebars +0 -10
- package/template/tsconfig.json +0 -120
- package/template-workspace/scripts/check-i18n-strings.mjs +0 -83
- package/template-workspace/scripts/validate-ultramodern-workspace.mjs.handlebars +0 -433
|
@@ -0,0 +1,94 @@
|
|
|
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
|
+
const ZH_LOCALE = {
|
|
31
|
+
prompt: {
|
|
32
|
+
projectName: '请输入项目名称: ',
|
|
33
|
+
legacyModernJsConfirmation: '输入 "{confirmation}" 以继续使用原始 Modern.js 初始化: '
|
|
34
|
+
},
|
|
35
|
+
error: {
|
|
36
|
+
projectNameEmpty: '错误: 项目名称不能为空',
|
|
37
|
+
directoryExists: '错误: 目录 "{projectName}" 已存在且不为空',
|
|
38
|
+
legacyModernJsNotConfirmed: '已中止。UltraModern.js 仍是默认的免交互初始化方案。',
|
|
39
|
+
createFailed: '创建项目时出错:'
|
|
40
|
+
},
|
|
41
|
+
message: {
|
|
42
|
+
welcome: '🚀 欢迎使用 UltraModern.js',
|
|
43
|
+
success: '✨ 创建成功!',
|
|
44
|
+
nextSteps: '📋 下一步:',
|
|
45
|
+
step1: 'cd {projectName}',
|
|
46
|
+
step2: 'pnpm install',
|
|
47
|
+
step3: 'pnpm dev',
|
|
48
|
+
legacyModernJsWarning: "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n严重警告:你正在退出 ULTRAMODERN.JS 默认配置。\n免交互默认值是最佳 UltraModern.js 配置:\n结构化 SuperApp 工作区、presetUltramodern、TanStack Router、\nEffect BFF、Tailwind CSS v4,以及 BleedingDev 包版本队列。\n原始 Modern.js 初始化是危险的显式选择路径。\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
|
49
|
+
},
|
|
50
|
+
help: {
|
|
51
|
+
title: '🚀 UltraModern.js 项目创建工具',
|
|
52
|
+
description: '默认创建带完整质量基线的 UltraModern.js SuperApp 工作区',
|
|
53
|
+
usage: '📖 用法:',
|
|
54
|
+
usageExample: ' pnpm dlx @bleedingdev/modern-js-create [项目名称] [选项]',
|
|
55
|
+
options: '⚙️ 选项:',
|
|
56
|
+
optionHelp: ' -h, --help 显示帮助信息',
|
|
57
|
+
optionVersion: ' -v, --version 显示版本信息',
|
|
58
|
+
optionLang: ' -l, --lang 设置语言 (默认 en;zh 需显式选择)',
|
|
59
|
+
optionTailwind: ' --no-tailwind 禁用默认 Tailwind CSS v4 工作区样式',
|
|
60
|
+
optionWorkspace: ' --workspace 对 @modern-js 依赖使用 workspace 协议(用于本地 monorepo 联调)',
|
|
61
|
+
optionUltramodernPackageSource: ' --ultramodern-package-source 选择 UltraModern 依赖来源(workspace 或 install;BleedingDev 默认使用 install alias)',
|
|
62
|
+
optionUltramodernPackageScope: ' --ultramodern-package-scope npm alias 安装使用的发布 scope(例如 bleedingdev)',
|
|
63
|
+
optionUltramodernPackageNamePrefix: ' --ultramodern-package-name-prefix npm alias 包名前缀(默认:modern-js-)',
|
|
64
|
+
optionVertical: ' --vertical 修改当前已有的 UltraModern 工作区,并接入名为 <项目名称> 的 MicroVertical',
|
|
65
|
+
optionLegacyModernJs: ' --legacy-modern-js 在大型警告和输入确认后,选择原始 Modern.js 初始化',
|
|
66
|
+
examples: '💡 示例:',
|
|
67
|
+
example1: ' pnpm dlx @bleedingdev/modern-js-create my-workspace',
|
|
68
|
+
example2: ' pnpm dlx @bleedingdev/modern-js-create my-workspace --lang zh',
|
|
69
|
+
example3: ' pnpm dlx @bleedingdev/modern-js-create my-workspace --no-tailwind',
|
|
70
|
+
example4: ' pnpm dlx @bleedingdev/modern-js-create --help',
|
|
71
|
+
example5: ' pnpm dlx @bleedingdev/modern-js-create .',
|
|
72
|
+
example6: ' pnpm dlx @bleedingdev/modern-js-create my-workspace --workspace',
|
|
73
|
+
example7: '',
|
|
74
|
+
example8: '',
|
|
75
|
+
example9: '',
|
|
76
|
+
example10: '',
|
|
77
|
+
example11: '',
|
|
78
|
+
example12: ' pnpm dlx @bleedingdev/modern-js-create catalog --vertical',
|
|
79
|
+
moreInfo: '📚 更多信息: https://modernjs.dev'
|
|
80
|
+
},
|
|
81
|
+
version: {
|
|
82
|
+
message: '@bleedingdev/modern-js-create 版本: {version}'
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
__webpack_require__.d(__webpack_exports__, {}, {
|
|
86
|
+
ZH_LOCALE: ZH_LOCALE
|
|
87
|
+
});
|
|
88
|
+
exports.ZH_LOCALE = __webpack_exports__.ZH_LOCALE;
|
|
89
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
90
|
+
"ZH_LOCALE"
|
|
91
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
92
|
+
Object.defineProperty(exports, '__esModule', {
|
|
93
|
+
value: true
|
|
94
|
+
});
|
|
@@ -0,0 +1,135 @@
|
|
|
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
|
+
const WORKSPACE_PACKAGE_VERSION = 'workspace:*';
|
|
31
|
+
const BLEEDINGDEV_CREATE_PACKAGE = '@bleedingdev/modern-js-create';
|
|
32
|
+
const BLEEDINGDEV_PACKAGE_SCOPE = 'bleedingdev';
|
|
33
|
+
const BLEEDINGDEV_PACKAGE_NAME_PREFIX = 'modern-js-';
|
|
34
|
+
const BLEEDINGDEV_FRAMEWORK_VERSION_ENV = 'MODERN_CREATE_ULTRAMODERN_FRAMEWORK_VERSION';
|
|
35
|
+
const ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES = [
|
|
36
|
+
'@modern-js/create',
|
|
37
|
+
'@modern-js/code-tools',
|
|
38
|
+
'@modern-js/runtime',
|
|
39
|
+
'@modern-js/app-tools',
|
|
40
|
+
'@modern-js/tsconfig',
|
|
41
|
+
'@modern-js/plugin-i18n',
|
|
42
|
+
'@modern-js/plugin-tanstack',
|
|
43
|
+
'@modern-js/plugin-bff',
|
|
44
|
+
'@modern-js/adapter-rstest'
|
|
45
|
+
];
|
|
46
|
+
const ULTRAMODERN_WORKSPACE_MODERN_PACKAGES = [
|
|
47
|
+
'@modern-js/create',
|
|
48
|
+
'@modern-js/code-tools',
|
|
49
|
+
'@modern-js/app-tools',
|
|
50
|
+
'@modern-js/plugin-bff',
|
|
51
|
+
'@modern-js/plugin-i18n',
|
|
52
|
+
'@modern-js/plugin-tanstack',
|
|
53
|
+
'@modern-js/runtime'
|
|
54
|
+
];
|
|
55
|
+
function modernPackageVersion(packageSource) {
|
|
56
|
+
return 'install' === packageSource.strategy ? packageSource.modernPackageVersion : WORKSPACE_PACKAGE_VERSION;
|
|
57
|
+
}
|
|
58
|
+
function modernAliasPackageName(packageName, packageSource) {
|
|
59
|
+
if (!packageSource.aliasScope) return packageName;
|
|
60
|
+
const scope = packageSource.aliasScope.replace(/^@/, '');
|
|
61
|
+
const unscopedName = packageName.split('/').at(-1);
|
|
62
|
+
return `@${scope}/${packageSource.aliasPackageNamePrefix ?? ''}${unscopedName}`;
|
|
63
|
+
}
|
|
64
|
+
function modernPackageSpecifier(packageName, packageSource) {
|
|
65
|
+
if ('install' !== packageSource.strategy) return WORKSPACE_PACKAGE_VERSION;
|
|
66
|
+
if (!packageSource.aliasScope) return packageSource.modernPackageVersion;
|
|
67
|
+
return `npm:${modernAliasPackageName(packageName, packageSource)}@${packageSource.modernPackageVersion}`;
|
|
68
|
+
}
|
|
69
|
+
function modernPackageAliases(packageNames, packageSource) {
|
|
70
|
+
if (!packageSource.aliasScope) return;
|
|
71
|
+
return Object.fromEntries(packageNames.map((packageName)=>[
|
|
72
|
+
packageName,
|
|
73
|
+
modernAliasPackageName(packageName, packageSource)
|
|
74
|
+
]));
|
|
75
|
+
}
|
|
76
|
+
function createModernPackagesMetadata(packageNames, packageSource, options = {}) {
|
|
77
|
+
const includeAliases = options.includeAliases ?? Boolean(packageSource.aliasScope);
|
|
78
|
+
const aliases = includeAliases ? modernPackageAliases(packageNames, packageSource) : void 0;
|
|
79
|
+
return {
|
|
80
|
+
packages: [
|
|
81
|
+
...packageNames
|
|
82
|
+
],
|
|
83
|
+
specifier: modernPackageVersion(packageSource),
|
|
84
|
+
...packageSource.registry ? {
|
|
85
|
+
registry: packageSource.registry
|
|
86
|
+
} : {},
|
|
87
|
+
...aliases ? {
|
|
88
|
+
aliases
|
|
89
|
+
} : {}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
93
|
+
createModernPackagesMetadata: ()=>createModernPackagesMetadata,
|
|
94
|
+
modernAliasPackageName: ()=>modernAliasPackageName,
|
|
95
|
+
modernPackageAliases: ()=>modernPackageAliases,
|
|
96
|
+
modernPackageSpecifier: ()=>modernPackageSpecifier,
|
|
97
|
+
modernPackageVersion: ()=>modernPackageVersion
|
|
98
|
+
}, {
|
|
99
|
+
BLEEDINGDEV_CREATE_PACKAGE: BLEEDINGDEV_CREATE_PACKAGE,
|
|
100
|
+
BLEEDINGDEV_FRAMEWORK_VERSION_ENV: BLEEDINGDEV_FRAMEWORK_VERSION_ENV,
|
|
101
|
+
BLEEDINGDEV_PACKAGE_NAME_PREFIX: BLEEDINGDEV_PACKAGE_NAME_PREFIX,
|
|
102
|
+
BLEEDINGDEV_PACKAGE_SCOPE: BLEEDINGDEV_PACKAGE_SCOPE,
|
|
103
|
+
ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES: ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES,
|
|
104
|
+
ULTRAMODERN_WORKSPACE_MODERN_PACKAGES: ULTRAMODERN_WORKSPACE_MODERN_PACKAGES,
|
|
105
|
+
WORKSPACE_PACKAGE_VERSION: WORKSPACE_PACKAGE_VERSION
|
|
106
|
+
});
|
|
107
|
+
exports.BLEEDINGDEV_CREATE_PACKAGE = __webpack_exports__.BLEEDINGDEV_CREATE_PACKAGE;
|
|
108
|
+
exports.BLEEDINGDEV_FRAMEWORK_VERSION_ENV = __webpack_exports__.BLEEDINGDEV_FRAMEWORK_VERSION_ENV;
|
|
109
|
+
exports.BLEEDINGDEV_PACKAGE_NAME_PREFIX = __webpack_exports__.BLEEDINGDEV_PACKAGE_NAME_PREFIX;
|
|
110
|
+
exports.BLEEDINGDEV_PACKAGE_SCOPE = __webpack_exports__.BLEEDINGDEV_PACKAGE_SCOPE;
|
|
111
|
+
exports.ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES = __webpack_exports__.ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES;
|
|
112
|
+
exports.ULTRAMODERN_WORKSPACE_MODERN_PACKAGES = __webpack_exports__.ULTRAMODERN_WORKSPACE_MODERN_PACKAGES;
|
|
113
|
+
exports.WORKSPACE_PACKAGE_VERSION = __webpack_exports__.WORKSPACE_PACKAGE_VERSION;
|
|
114
|
+
exports.createModernPackagesMetadata = __webpack_exports__.createModernPackagesMetadata;
|
|
115
|
+
exports.modernAliasPackageName = __webpack_exports__.modernAliasPackageName;
|
|
116
|
+
exports.modernPackageAliases = __webpack_exports__.modernPackageAliases;
|
|
117
|
+
exports.modernPackageSpecifier = __webpack_exports__.modernPackageSpecifier;
|
|
118
|
+
exports.modernPackageVersion = __webpack_exports__.modernPackageVersion;
|
|
119
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
120
|
+
"BLEEDINGDEV_CREATE_PACKAGE",
|
|
121
|
+
"BLEEDINGDEV_FRAMEWORK_VERSION_ENV",
|
|
122
|
+
"BLEEDINGDEV_PACKAGE_NAME_PREFIX",
|
|
123
|
+
"BLEEDINGDEV_PACKAGE_SCOPE",
|
|
124
|
+
"ULTRAMODERN_SINGLE_APP_MODERN_PACKAGES",
|
|
125
|
+
"ULTRAMODERN_WORKSPACE_MODERN_PACKAGES",
|
|
126
|
+
"WORKSPACE_PACKAGE_VERSION",
|
|
127
|
+
"createModernPackagesMetadata",
|
|
128
|
+
"modernAliasPackageName",
|
|
129
|
+
"modernPackageAliases",
|
|
130
|
+
"modernPackageSpecifier",
|
|
131
|
+
"modernPackageVersion"
|
|
132
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
133
|
+
Object.defineProperty(exports, '__esModule', {
|
|
134
|
+
value: true
|
|
135
|
+
});
|