Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { promises } from 'fs';
import path, { dirname } from 'path';
import { fileURLToPath } from 'url';

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

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

export default function changelog2Json() {
let config: ResolvedConfig;
return {
name: 'changelog-to-json',
configResolved(resolvedConfig: ResolvedConfig) {
config = resolvedConfig;
},
configureServer(server: ViteDevServer) {
// 开发模式时拦截请求
server.middlewares.use('/changelog.json', async (_, res) => {
Expand All @@ -21,18 +25,11 @@ export default function changelog2Json() {
res.end(JSON.stringify(json));
});
},
async closeBundle() {
async closeBundle(error?: Error) {
if (error) return;
// 生产构建时写入物理文件
if (process.env.NODE_ENV === 'production') {
const json = await generateChangelogJson(changelogPath, 'chat');
const dir = path.dirname(outputPath);
try {
await promises.access(dir);
} catch (error) {
if (error.code === 'ENOENT') {
await promises.mkdir(dir, { recursive: true });
}
}
if (config.env.PROD || config.env.MODE === 'preview') {
const json = await generateChangelogJson(changelogPath, 'mobile');
await promises.writeFile(outputPath, JSON.stringify(json));
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import { promises } from 'fs';
import path, { dirname } from 'path';
import { fileURLToPath } from 'url';

import type { ViteDevServer } from 'vite';
import type { ResolvedConfig, ViteDevServer } from 'vite';

import generateChangelogJson from '../../../../common/docs/plugins/changelog-to-json';

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

export default function changelog2Json() {
let config: ResolvedConfig;
return {
name: 'changelog-to-json',
configResolved(resolvedConfig: ResolvedConfig) {
config = resolvedConfig;
},
configureServer(server: ViteDevServer) {
// 开发模式时拦截请求
server.middlewares.use('/changelog.json', async (_, res) => {
Expand All @@ -21,18 +26,11 @@ export default function changelog2Json() {
res.end(JSON.stringify(json));
});
},
async closeBundle() {
async closeBundle(error?: Error) {
if (error) return;
// 生产构建时写入物理文件
if (process.env.NODE_ENV === 'production') {
if (config.env.PROD || config.env.MODE === 'preview') {
const json = await generateChangelogJson(changelogPath, 'mobile');
const dir = path.dirname(outputPath);
try {
await promises.access(dir);
} catch (error) {
if (error.code === 'ENOENT') {
await promises.mkdir(dir, { recursive: true });
}
}
await promises.writeFile(outputPath, JSON.stringify(json));
}
},
Expand Down
Loading