think/packages/client/copy-diagram-resources.js

86 lines
1.8 KiB
TypeScript
Raw Permalink Normal View History

2022-05-21 04:57:11 +00:00
/**
* .next nginx
*/
const fs = require('fs-extra');
2022-05-22 02:33:08 +00:00
const { getConfig } = require('@think/config');
const config = getConfig();
2022-05-21 04:57:11 +00:00
2022-05-22 02:33:08 +00:00
const buildManifestJson = () => {
return JSON.stringify({
name: config.client.seoAppName,
short_name: config.client.seoAppName,
display: 'standalone',
start_url: '/',
theme_color: '#ffffff',
background_color: '#ffffff',
icons: [
{
src: '/icon72.png',
sizes: '72x72',
type: 'image/png',
},
{
src: '/icon96.png',
sizes: '96x96',
type: 'image/png',
},
{
src: '/icon120.png',
sizes: '120x120',
type: 'image/png',
},
{
src: '/icon128.png',
sizes: '128x128',
type: 'image/png',
},
{
src: '/icon144.png',
sizes: '144x144',
type: 'image/png',
},
{
src: '/icon152.png',
sizes: '152x152',
type: 'image/png',
},
{
src: '/icon180.png',
sizes: '180x180',
type: 'image/png',
},
{
src: '/icon192.png',
sizes: '192x192',
type: 'image/png',
},
{
src: '/icon384.png',
sizes: '384x384',
type: 'image/png',
},
{
src: '/icon512.png',
sizes: '512x512',
type: 'image/png',
},
{
src: '/maskable.png',
sizes: '192x192',
type: 'image/png',
purpose: 'maskable',
},
2022-05-22 02:33:08 +00:00
],
});
};
fs.copySync('./public', './.next', {
filter: (src) => {
// 生产环境使用 diagram.min.js
return !/diagram.js$/.test(src);
},
});
2022-08-05 11:36:09 +00:00
2022-05-22 02:33:08 +00:00
fs.outputFileSync('./.next/manifest.json', buildManifestJson());
2022-08-05 11:36:09 +00:00
fs.outputFileSync('./public/manifest.json', buildManifestJson());