create-yeow 0.2.70 → 0.2.100

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,6 +1,6 @@
1
1
  {
2
2
  "name": "create-yeow",
3
- "version": "0.2.70",
3
+ "version": "0.2.100",
4
4
  "description": "Scaffold a Yeow plugin project",
5
5
  "type": "module",
6
6
  "bin": {
@@ -94,11 +94,16 @@ async function main() {
94
94
  zip.writeZip(outJar);
95
95
  console.log(' \u2713 Packaged ' + outJar + '\n');
96
96
 
97
- // ── 组装 .yeow.zip(仅生产)──
98
- // 平台无关的插件包:放入 plugins/Yeow/ 会被运行时自动扫描加载,或 /yeow load 手动加载。
99
- if (!isDev) {
97
+ // ── 组装 .yeow.zip ──
98
+ // 平台无关插件包:生产放入 plugins/Yeow/ 被自动扫描加载(或 /yeow load/install);
99
+ // 开发模式同样生成(含 .yeow/dev.json 指向编译产物路径),由 dev-server 部署到 plugins/Yeow/。
100
+ {
100
101
  const pkgZip = new AdmZip();
101
- pkgZip.addFile('.yeow/main.js', readFileSync(resolve(outDir, 'main.js')));
102
+ if (isDev) {
103
+ pkgZip.addFile('.yeow/dev.json', readFileSync(resolve(outDir, 'dev.json')));
104
+ } else {
105
+ pkgZip.addFile('.yeow/main.js', readFileSync(resolve(outDir, 'main.js')));
106
+ }
102
107
  if (existsSync(assetsOut)) {
103
108
  const files = readdirSync(assetsOut, { recursive: true }).filter(f => statSync(resolve(assetsOut, f)).isFile());
104
109
  for (const f of files) {
@@ -106,7 +111,7 @@ async function main() {
106
111
  }
107
112
  }
108
113
  pkgZip.addFile('yeow.json', Buffer.from(JSON.stringify(cfg)));
109
- const outZip = resolve(root, 'dist', name + '-' + version + '.yeow.zip');
114
+ const outZip = resolve(root, 'dist', isDev ? 'plugins' : '', name + '-' + version + '.yeow.zip');
110
115
  mkdirSync(dirname(outZip), { recursive: true });
111
116
  pkgZip.writeZip(outZip);
112
117
  console.log(' \u2713 Packaged ' + outZip + '\n');
@@ -185,6 +185,20 @@ function copyToPlugins(src, label) {
185
185
  copyFileSync(src, resolve(d, basename(src))); ok(`${label} copied`);
186
186
  }
187
187
 
188
+ function copyToYeowDir(src, label) {
189
+ const d = resolve(SERVER, 'plugins', 'Yeow'); mkdirSync(d, { recursive: true });
190
+ copyFileSync(src, resolve(d, basename(src))); ok(`${label} copied`);
191
+ }
192
+
193
+ /** Remove a previously deployed dev plugin JAR so it cannot conflict with the .yeow.zip in plugins/Yeow/. */
194
+ function removeStaleDevJar() {
195
+ const stale = resolve(SERVER, 'plugins', `${cfg.name}-${cfg.version}.jar`);
196
+ if (existsSync(stale)) {
197
+ rmSync(stale, { force: true });
198
+ warn(`Removed stale dev JAR: ${basename(stale)} (conflicts with plugins/Yeow .yeow.zip)`);
199
+ }
200
+ }
201
+
188
202
  async function initServer() {
189
203
  const jar = resolve(SERVER, PAPER_JAR);
190
204
  if (!existsSync(jar)) copyFileSync(PAPER_PATH, jar);
@@ -375,7 +389,8 @@ async function main() {
375
389
  await initServer();
376
390
  serverProps(cfg.dev?.port || 17367);
377
391
  buildPlugin();
378
- copyToPlugins(resolve(ROOT, 'dist', 'plugins', `${cfg.name}-${cfg.version}.jar`), 'Plugin');
392
+ removeStaleDevJar();
393
+ copyToYeowDir(resolve(ROOT, 'dist', 'plugins', `${cfg.name}-${cfg.version}.yeow.zip`), 'Plugin (.yeow.zip → plugins/Yeow/)');
379
394
  copyToPlugins(RUNTIME, 'Runtime');
380
395
 
381
396
  startHotReload();
@@ -7,7 +7,7 @@
7
7
  "dev": "node .yeow/dev-server.js"
8
8
  },
9
9
  "dependencies": {
10
- "yeow-api": "^0.2.57",
10
+ "yeow-api": "^0.2.100",
11
11
  "yeow-utils": "^0.1.14"
12
12
  },
13
13
  "devDependencies": {