Skip to content

Commit 1540da7

Browse files
authored
chore(preview-site): fix fetch changelog.json 404 Not Found (#4076)
1 parent 0ceece4 commit 1540da7

File tree

2 files changed

+18
-23
lines changed
  • packages
    • tdesign-miniprogram-chat/site/plugins/changelog-to-json
    • tdesign-miniprogram/site/plugins/changelog-to-json

2 files changed

+18
-23
lines changed

packages/tdesign-miniprogram-chat/site/plugins/changelog-to-json/index.ts

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { promises } from 'fs';
22
import path, { dirname } from 'path';
33
import { fileURLToPath } from 'url';
44

5-
import type { ViteDevServer } from 'vite';
5+
import type { ResolvedConfig, ViteDevServer } from 'vite';
66
import generateChangelogJson from '../../../../common/docs/plugins/changelog-to-json';
77

88
const __dirname = dirname(fileURLToPath(import.meta.url));
@@ -11,8 +11,12 @@ const outputPath = path.resolve(__dirname, '../../../site/dist/changelog.json');
1111
const changelogPath = path.resolve(__dirname, '../../../../tdesign-miniprogram/CHANGELOG.md');
1212

1313
export default function changelog2Json() {
14+
let config: ResolvedConfig;
1415
return {
1516
name: 'changelog-to-json',
17+
configResolved(resolvedConfig: ResolvedConfig) {
18+
config = resolvedConfig;
19+
},
1620
configureServer(server: ViteDevServer) {
1721
// 开发模式时拦截请求
1822
server.middlewares.use('/changelog.json', async (_, res) => {
@@ -21,18 +25,11 @@ export default function changelog2Json() {
2125
res.end(JSON.stringify(json));
2226
});
2327
},
24-
async closeBundle() {
28+
async closeBundle(error?: Error) {
29+
if (error) return;
2530
// 生产构建时写入物理文件
26-
if (process.env.NODE_ENV === 'production') {
27-
const json = await generateChangelogJson(changelogPath, 'chat');
28-
const dir = path.dirname(outputPath);
29-
try {
30-
await promises.access(dir);
31-
} catch (error) {
32-
if (error.code === 'ENOENT') {
33-
await promises.mkdir(dir, { recursive: true });
34-
}
35-
}
31+
if (config.env.PROD || config.env.MODE === 'preview') {
32+
const json = await generateChangelogJson(changelogPath, 'mobile');
3633
await promises.writeFile(outputPath, JSON.stringify(json));
3734
}
3835
},

packages/tdesign-miniprogram/site/plugins/changelog-to-json/index.ts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import { promises } from 'fs';
22
import path, { dirname } from 'path';
33
import { fileURLToPath } from 'url';
44

5-
import type { ViteDevServer } from 'vite';
5+
import type { ResolvedConfig, ViteDevServer } from 'vite';
6+
67
import generateChangelogJson from '../../../../common/docs/plugins/changelog-to-json';
78

89
const __dirname = dirname(fileURLToPath(import.meta.url));
@@ -11,8 +12,12 @@ const outputPath = path.resolve(__dirname, '../../../site/dist/changelog.json');
1112
const changelogPath = path.resolve(__dirname, '../../../CHANGELOG.md');
1213

1314
export default function changelog2Json() {
15+
let config: ResolvedConfig;
1416
return {
1517
name: 'changelog-to-json',
18+
configResolved(resolvedConfig: ResolvedConfig) {
19+
config = resolvedConfig;
20+
},
1621
configureServer(server: ViteDevServer) {
1722
// 开发模式时拦截请求
1823
server.middlewares.use('/changelog.json', async (_, res) => {
@@ -21,18 +26,11 @@ export default function changelog2Json() {
2126
res.end(JSON.stringify(json));
2227
});
2328
},
24-
async closeBundle() {
29+
async closeBundle(error?: Error) {
30+
if (error) return;
2531
// 生产构建时写入物理文件
26-
if (process.env.NODE_ENV === 'production') {
32+
if (config.env.PROD || config.env.MODE === 'preview') {
2733
const json = await generateChangelogJson(changelogPath, 'mobile');
28-
const dir = path.dirname(outputPath);
29-
try {
30-
await promises.access(dir);
31-
} catch (error) {
32-
if (error.code === 'ENOENT') {
33-
await promises.mkdir(dir, { recursive: true });
34-
}
35-
}
3634
await promises.writeFile(outputPath, JSON.stringify(json));
3735
}
3836
},

0 commit comments

Comments
 (0)