提交 9a8e590a 作者: 方治民

合并分支 '3.x' 到 'dev'

3.x

查看合并请求 !15
......@@ -30,12 +30,7 @@ export function getThemeColors(color?: string) {
return [...lightColors, ...modeColors]
}
export function generateColors({
color = primaryColor,
mixLighten,
mixDarken,
tinycolor,
}: GenerateColorsParams) {
export function generateColors({ color = primaryColor, mixLighten, mixDarken, tinycolor }: GenerateColorsParams) {
const arr = new Array(19).fill(0)
const lightens = arr.map((_t, i) => {
return mixLighten(color, i / 5)
......
......@@ -2,5 +2,3 @@
* The name of the configuration file entered in the production environment
*/
export const GLOB_CONFIG_FILE_NAME = '_app.config.js'
export const OUTPUT_DIR = 'dist'
import { resolve } from 'node:path'
import { getThemeVariables } from 'ant-design-vue/dist/theme.js'
import { generateAntColors, primaryColor } from '../config/themeConfig'
import { getThemeVariables } from 'ant-design-vue/dist/theme'
import { resolve } from 'path'
/**
* less global variable
......@@ -28,7 +28,7 @@ export function generateModifyVars(dark = false) {
'success-color': '#55D187', // Success color
'error-color': '#ED6F6F', // False color
'warning-color': '#EFBD47', // Warning color
//'border-color-base': '#EEEEEE',
// 'border-color-base': '#EEEEEE',
'font-size-base': '14px', // Main font size
'border-radius-base': '2px', // Component/float fillet
'link-color': primary, // Link color
......
import path from 'path'
import path from 'node:path'
import fs from 'fs-extra'
import inquirer from 'inquirer'
import colors from 'picocolors'
......@@ -30,7 +30,7 @@ async function generateIcon() {
{
type: 'list',
name: 'iconSet',
choices: choices,
choices,
message: 'Select the icon set that needs to be generated?',
},
{
......@@ -51,25 +51,17 @@ async function generateIcon() {
if (data) {
const { prefix } = data
const isLocal = useType === 'local'
const icons = Object.keys(data.icons).map(
(item) => `${isLocal ? prefix + ':' : ''}${item}`,
)
const icons = Object.keys(data.icons).map((item) => `${isLocal ? `${prefix}:` : ''}${item}`)
await fs.writeFileSync(
path.join(output, `icons.data.ts`),
`export default ${
isLocal ? JSON.stringify(icons) : JSON.stringify({ prefix, icons })
}`,
`export default ${isLocal ? JSON.stringify(icons) : JSON.stringify({ prefix, icons })}`,
)
prefixSet.push(prefix)
}
}
fs.emptyDir(path.join(process.cwd(), 'node_modules/.vite'))
console.log(
`✨ ${colors.cyan(`[${pkg.name}]`)}` +
' - Icon generated successfully:' +
`[${prefixSet}]`,
)
console.log(`✨ ${colors.cyan(`[${pkg.name}]`)}` + ' - Icon generated successfully:' + `[${prefixSet}]`)
})
}
......
/**
* Generate additional configuration files when used for packaging. The file can be configured with some global variables, so that it can be changed directly externally without repackaging
*/
import { GLOB_CONFIG_FILE_NAME, OUTPUT_DIR } from '../constant'
import fs, { writeFileSync } from 'fs-extra'
import colors from 'picocolors'
import { getEnvConfig, getRootPath } from '../utils'
import { getConfigFileName } from '../getConfigFileName'
import pkg from '../../package.json'
interface CreateConfigParams {
configName: string
config: any
configFileName?: string
}
function createConfig(params: CreateConfigParams) {
const { configName, config, configFileName } = params
try {
const windowConf = `window.${configName}`
// Ensure that the variable will not be modified
let configStr = `${windowConf}=${JSON.stringify(config)};`
configStr += `
Object.freeze(${windowConf});
Object.defineProperty(window, "${configName}", {
configurable: false,
writable: false,
});
`.replace(/\s/g, '')
fs.mkdirp(getRootPath(OUTPUT_DIR))
writeFileSync(getRootPath(`${OUTPUT_DIR}/${configFileName}`), configStr)
console.log(colors.cyan(`✨ [${pkg.name}]`) + ` - configuration file is build successfully:`)
console.log(colors.gray(OUTPUT_DIR + '/' + colors.green(configFileName)) + '\n')
} catch (error) {
console.log(colors.red('configuration file configuration file failed to package:\n' + error))
}
}
export function runBuildConfig() {
const config = getEnvConfig()
const configFileName = getConfigFileName(config)
createConfig({ config, configName: configFileName, configFileName: GLOB_CONFIG_FILE_NAME })
}
// #!/usr/bin/env node
import { runBuildConfig } from './buildConf'
import colors from 'picocolors'
import pkg from '../../package.json'
export const runBuild = async () => {
try {
const argvList = process.argv.splice(2)
// Generate configuration file
if (!argvList.includes('disabled-config')) {
runBuildConfig()
}
console.log(`✨ ${colors.cyan(`[${pkg.name}]`)}` + ' - build successfully!')
} catch (error) {
console.log(colors.red('vite build error:\n' + error))
process.exit(1)
}
}
runBuild()
import fs from 'fs'
import path from 'path'
import fs from 'node:fs'
import path from 'node:path'
import dotenv from 'dotenv'
export function isDevFn(mode: string): boolean {
......@@ -50,7 +50,7 @@ export function wrapperEnv(envConf: Recordable): ViteEnv {
*/
function getConfFiles() {
const script = process.env.npm_lifecycle_script
const reg = new RegExp('--mode ([a-z_\\d]+)')
const reg = /--mode ([a-z_\d]+)/
const result = reg.exec(script as string) as any
if (result) {
const mode = result[1] as string
......
import path from 'node:path'
import fs from 'node:fs'
import colors from 'picocolors'
import type { Plugin, ResolvedConfig } from 'vite'
import { getEnvConfig, getRootPath } from '../../utils'
import { getConfigFileName } from '../../getConfigFileName'
import { GLOB_CONFIG_FILE_NAME } from '../../constant'
import pkg from '../../../package.json'
export function configBuildPlugin(): Plugin {
let outputPath: string
let config: ResolvedConfig
return {
name: 'vite:app:config',
apply: 'build',
enforce: 'post',
configResolved(resolvedConfig: ResolvedConfig) {
config = resolvedConfig
outputPath = path.isAbsolute(config.build.outDir)
? config.build.outDir
: path.join(config.root, config.build.outDir)
},
async closeBundle() {
const config = getEnvConfig()
const configName = getConfigFileName(config)
const windowConf = `window.${configName}`
// Ensure that the variable will not be modified
let configStr = `${windowConf}=${JSON.stringify(config)};`
configStr += `
Object.freeze(${windowConf});
Object.defineProperty(window, "${configName}", {
configurable: false,
writable: false,
});
`.replace(/\s/g, '')
fs.writeFileSync(getRootPath(`${outputPath}/${GLOB_CONFIG_FILE_NAME}`), configStr)
console.log(`${colors.cyan(`✨ [${pkg.name}]`)} configuration file is build successfully:`)
console.log(`${colors.gray(`${outputPath}/${colors.green(GLOB_CONFIG_FILE_NAME)}`)}\n`)
},
} as Plugin
}
import { PluginOption } from 'vite'
import type { PluginOption } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import legacy from '@vitejs/plugin-legacy'
......@@ -15,6 +15,7 @@ import { configVisualizerConfig } from './visualizer'
import { configThemePlugin } from './theme'
import { configSvgIconsPlugin } from './svgSprite'
import { configAutoImportPlugin } from './autoImport'
import { configBuildPlugin } from './config'
export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
const { VITE_USE_MOCK, VITE_LEGACY, VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE } = viteEnv
......@@ -63,13 +64,16 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
// The following plugins only work in the production environment
if (isBuild) {
// vite-plugin-imagemin
// config
vitePlugins.push(configBuildPlugin())
// rollup-plugin-gzip
vitePlugins.push(configCompressPlugin(VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE))
if (process.env.RUNTIME !== 'electron') {
// rollup-plugin-gzip
vitePlugins.push(configCompressPlugin(VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE))
// vite-plugin-pwa
vitePlugins.push(configPwaConfig(viteEnv))
// vite-plugin-pwa
vitePlugins.push(configPwaConfig(viteEnv))
}
}
return vitePlugins
......
......@@ -70,7 +70,7 @@ export function configStyleImportPlugin(_isBuild: boolean) {
return ignoreList.includes(name)
? ''
: replaceList.hasOwnProperty(name)
: Object.prototype.hasOwnProperty.call(replaceList, name)
? `ant-design-vue/es/${replaceList[name]}/style/index`
: `ant-design-vue/es/${name}/style/index`
},
......
......@@ -3,8 +3,8 @@
* https://github.com/anncwb/vite-plugin-svg-icons
*/
import path from 'node:path'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import path from 'path'
export function configSvgIconsPlugin(isBuild: boolean) {
const svgIconsPlugin = createSvgIconsPlugin({
......
......@@ -2,16 +2,10 @@
* Vite plugin for website theme color switching
* https://github.com/anncwb/vite-plugin-theme
*/
import path from 'node:path'
import type { PluginOption } from 'vite'
import path from 'path'
import {
viteThemePlugin,
antdDarkThemePlugin,
mixLighten,
mixDarken,
tinycolor,
} from 'vite-plugin-theme'
import { getThemeColors, generateColors } from '../../config/themeConfig'
import { antdDarkThemePlugin, mixDarken, mixLighten, tinycolor, viteThemePlugin } from 'vite-plugin-theme'
import { generateColors, getThemeColors } from '../../config/themeConfig'
import { generateModifyVars } from '../../generate/generateModifyVars'
export function configThemePlugin(isBuild: boolean): PluginOption[] {
......@@ -48,7 +42,7 @@ export function configThemePlugin(isBuild: boolean): PluginOption[] {
antdDarkThemePlugin({
preloadFiles: [
path.resolve(process.cwd(), 'node_modules/ant-design-vue/dist/antd.less'),
//path.resolve(process.cwd(), 'node_modules/ant-design-vue/dist/antd.dark.less'),
// path.resolve(process.cwd(), 'node_modules/ant-design-vue/dist/antd.dark.less'),
path.resolve(process.cwd(), 'src/design/index.less'),
],
filter: (id) => (isBuild ? !id.endsWith('antd.less') : true),
......
......@@ -22,7 +22,7 @@ export function createProxy(list: ProxyList = []) {
// https://github.com/http-party/node-http-proxy#options
ret[prefix] = {
target: target,
target,
changeOrigin: true,
ws: true,
rewrite: (path) => path.replace(new RegExp(`^${prefix}`), ''),
......
......@@ -8,14 +8,14 @@
name="viewport"
content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0"
/>
<title><%= title %></title>
<title>%VITE_GLOB_APP_TITLE%</title>
<link rel="icon" href="/favicon.ico" />
</head>
<body>
<script>
;(() => {
var htmlRoot = document.getElementById('htmlRoot')
var theme = window.localStorage.getItem('__APP__DARK__MODE__')
let htmlRoot = document.getElementById('htmlRoot')
let theme = window.localStorage.getItem('__APP__DARK__MODE__')
if (htmlRoot && theme) {
htmlRoot.setAttribute('data-theme', theme)
theme = htmlRoot = null
......@@ -150,7 +150,7 @@
<div class="app-loading-dots">
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
</div>
<div class="app-loading-title"><%= title %></div>
<div class="app-loading-title">%VITE_GLOB_APP_TITLE%</div>
</div>
</div>
</div>
......
......@@ -68,7 +68,7 @@ export class Response {
export class Request {
method: string
body: any
headers?: { authorization?: string }
headers?: { ['app-token']?: string }
query: any
/**
......@@ -77,6 +77,6 @@ export class Request {
* @returns token
*/
static getRequestToken({ headers }: Request): string | undefined {
return headers?.authorization
return headers?.['app-token']
}
}
......@@ -25,9 +25,9 @@
"bootstrap": "pnpm install",
"serve": "npm run dev",
"dev": "vite",
"build": "cross-env NODE_ENV=production vite build && esno ./build/script/postBuild.ts",
"build:test": "cross-env vite build --mode test && esno ./build/script/postBuild.ts",
"build:preview": "cross-env vite build --mode preview && esno ./build/script/postBuild.ts",
"build": "vite build",
"build:test": "vite build --mode test",
"build:preview": "vite build --mode preview",
"build:no-cache": "pnpm clean:cache && npm run build",
"report": "cross-env REPORT=true npm run build",
"type:check": "vue-tsc --noEmit --skipLibCheck",
......@@ -104,7 +104,7 @@
},
"devDependencies": {
"@antfu/eslint-config": "^0.37.0",
"@commitlint/cli": "^17.5.0",
"@commitlint/cli": "^17.5.1",
"@commitlint/config-conventional": "^17.4.4",
"@iconify/json": "^2.2.40",
"@purge-icons/generated": "^0.9.0",
......
......@@ -4,7 +4,7 @@ specifiers:
'@ant-design/colors': ^7.0.0
'@ant-design/icons-vue': ^6.1.0
'@antfu/eslint-config': ^0.37.0
'@commitlint/cli': ^17.5.0
'@commitlint/cli': ^17.5.1
'@commitlint/config-conventional': ^17.4.4
'@iconify/iconify': ^3.1.0
'@iconify/json': ^2.2.40
......@@ -184,7 +184,7 @@ dependencies:
devDependencies:
'@antfu/eslint-config': 0.37.0_vgl77cfdswitgr47lm5swmv43m
'@commitlint/cli': 17.5.0
'@commitlint/cli': 17.5.1
'@commitlint/config-conventional': 17.4.4
'@iconify/json': 2.2.40
'@purge-icons/generated': 0.9.0
......@@ -193,7 +193,7 @@ devDependencies:
'@types/fs-extra': 11.0.1
'@types/inquirer': 9.0.3
'@types/intro.js': 5.1.1
'@types/lodash': 4.14.191
'@types/lodash': 4.14.192
'@types/lodash-es': 4.17.7
'@types/mockjs': 1.0.7
'@types/node': 18.15.10
......@@ -204,8 +204,8 @@ devDependencies:
'@types/sockjs-client': 1.5.1
'@types/sortablejs': 1.15.1
'@types/stompjs': 2.3.5
'@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq
'@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/eslint-plugin': 5.57.0_5t5646cukn2kik5kiydglap3vi
'@typescript-eslint/parser': 5.57.0_vgl77cfdswitgr47lm5swmv43m
'@vitejs/plugin-legacy': 4.0.2_terser@5.16.8+vite@4.2.1
'@vitejs/plugin-vue': 4.1.0_vite@4.2.1+vue@3.2.47
'@vitejs/plugin-vue-jsx': 3.0.1_vite@4.2.1+vue@3.2.47
......@@ -304,7 +304,7 @@ packages:
vue: 3.2.47
dev: false
/@antfu/eslint-config-basic/0.37.0_cpj4tv3hntrcia52vnrrg3eslq:
/@antfu/eslint-config-basic/0.37.0_5z3ieoz5pmsbyy3n7745rp57wi:
resolution: {integrity: sha512-iBj6qjAOQr+WMhK38lfR2/xdIY81qUk4i6tHhwmcxXi4GEf2HF6I4Cgeu9SyIlTxOw8AP1CVqdUNzUbmYSaMZg==}
peerDependencies:
eslint: '>=7.4.0'
......@@ -313,14 +313,14 @@ packages:
eslint-plugin-antfu: 0.37.0_vgl77cfdswitgr47lm5swmv43m
eslint-plugin-eslint-comments: 3.2.0_eslint@8.36.0
eslint-plugin-html: 7.1.0
eslint-plugin-import: 2.27.5_cnkxirszkzb4o6ts7gbclno24e
eslint-plugin-import: 2.27.5_74llxljztmzze2ez7aakaiqyti
eslint-plugin-jsonc: 2.7.0_eslint@8.36.0
eslint-plugin-markdown: 3.0.0_eslint@8.36.0
eslint-plugin-n: 15.6.1_eslint@8.36.0
eslint-plugin-no-only-tests: 3.1.0
eslint-plugin-promise: 6.1.1_eslint@8.36.0
eslint-plugin-unicorn: 46.0.0_eslint@8.36.0
eslint-plugin-unused-imports: 2.0.0_pjgbsoxltfjhart6hcjsvw66hu
eslint-plugin-unused-imports: 2.0.0_bh3gacn4tk2wj6fu7gisfablcy
eslint-plugin-yml: 1.5.0_eslint@8.36.0
jsonc-eslint-parser: 2.2.0
yaml-eslint-parser: 1.2.0
......@@ -339,11 +339,11 @@ packages:
eslint: '>=7.4.0'
typescript: '>=3.9'
dependencies:
'@antfu/eslint-config-basic': 0.37.0_cpj4tv3hntrcia52vnrrg3eslq
'@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq
'@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@antfu/eslint-config-basic': 0.37.0_5z3ieoz5pmsbyy3n7745rp57wi
'@typescript-eslint/eslint-plugin': 5.57.0_5t5646cukn2kik5kiydglap3vi
'@typescript-eslint/parser': 5.57.0_vgl77cfdswitgr47lm5swmv43m
eslint: 8.36.0
eslint-plugin-jest: 27.2.1_t2az3euonckxht7o3xjedcge5q
eslint-plugin-jest: 27.2.1_p24d35jmojvkpl4oqhbfa2kcmq
typescript: 4.9.5
transitivePeerDependencies:
- eslint-import-resolver-typescript
......@@ -352,12 +352,12 @@ packages:
- supports-color
dev: true
/@antfu/eslint-config-vue/0.37.0_cpj4tv3hntrcia52vnrrg3eslq:
/@antfu/eslint-config-vue/0.37.0_5z3ieoz5pmsbyy3n7745rp57wi:
resolution: {integrity: sha512-d7n4+7f6YMizE1HDEOtIBJGruFuIeqrNF+ZjHM8o6+isMrJkvdjVx6nHtHVtoWNYW6jiRJ5AW+nkfo2aoNGUyA==}
peerDependencies:
eslint: '>=7.4.0'
dependencies:
'@antfu/eslint-config-basic': 0.37.0_cpj4tv3hntrcia52vnrrg3eslq
'@antfu/eslint-config-basic': 0.37.0_5z3ieoz5pmsbyy3n7745rp57wi
'@antfu/eslint-config-ts': 0.37.0_vgl77cfdswitgr47lm5swmv43m
eslint: 8.36.0
eslint-plugin-vue: 9.10.0_eslint@8.36.0
......@@ -377,13 +377,13 @@ packages:
peerDependencies:
eslint: '>=7.4.0'
dependencies:
'@antfu/eslint-config-vue': 0.37.0_cpj4tv3hntrcia52vnrrg3eslq
'@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq
'@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@antfu/eslint-config-vue': 0.37.0_5z3ieoz5pmsbyy3n7745rp57wi
'@typescript-eslint/eslint-plugin': 5.57.0_5t5646cukn2kik5kiydglap3vi
'@typescript-eslint/parser': 5.57.0_vgl77cfdswitgr47lm5swmv43m
eslint: 8.36.0
eslint-plugin-eslint-comments: 3.2.0_eslint@8.36.0
eslint-plugin-html: 7.1.0
eslint-plugin-import: 2.27.5_cnkxirszkzb4o6ts7gbclno24e
eslint-plugin-import: 2.27.5_74llxljztmzze2ez7aakaiqyti
eslint-plugin-jsonc: 2.7.0_eslint@8.36.0
eslint-plugin-n: 15.6.1_eslint@8.36.0
eslint-plugin-promise: 6.1.1_eslint@8.36.0
......@@ -1649,15 +1649,15 @@ packages:
w3c-keyname: 2.2.6
dev: false
/@commitlint/cli/17.5.0:
resolution: {integrity: sha512-yNW3+M7UM1ioK28LKTrryIVB5qGpXlEv8+rJQiWPMZNayy9/1XR5+lL8qBTNlgopYtZWWnIm5RETcAN29ZTL/A==}
/@commitlint/cli/17.5.1:
resolution: {integrity: sha512-pRRgGSzdHQHehxZbGA3qF6wVPyl+EEQgTe/t321rtMLFbuJ7nRj2waS17s/v5oEbyZtiY5S8PGB6XtEIm0I+Sg==}
engines: {node: '>=v14'}
hasBin: true
dependencies:
'@commitlint/format': 17.4.4
'@commitlint/lint': 17.4.4
'@commitlint/load': 17.5.0
'@commitlint/read': 17.4.4
'@commitlint/read': 17.5.1
'@commitlint/types': 17.4.4
execa: 5.1.1
lodash.isfunction: 3.0.9
......@@ -1764,8 +1764,8 @@ packages:
conventional-commits-parser: 3.2.4
dev: true
/@commitlint/read/17.4.4:
resolution: {integrity: sha512-B2TvUMJKK+Svzs6eji23WXsRJ8PAD+orI44lVuVNsm5zmI7O8RSGJMvdEZEikiA4Vohfb+HevaPoWZ7PiFZ3zA==}
/@commitlint/read/17.5.1:
resolution: {integrity: sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg==}
engines: {node: '>=v14'}
dependencies:
'@commitlint/top-level': 17.4.0
......@@ -2064,7 +2064,7 @@ packages:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
eslint: 8.36.0
eslint-visitor-keys: 3.3.0
eslint-visitor-keys: 3.4.0
dev: true
/@eslint-community/regexpp/4.4.1:
......@@ -2663,11 +2663,11 @@ packages:
/@types/lodash-es/4.17.7:
resolution: {integrity: sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==}
dependencies:
'@types/lodash': 4.14.191
'@types/lodash': 4.14.192
dev: true
/@types/lodash/4.14.191:
resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==}
/@types/lodash/4.14.192:
resolution: {integrity: sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==}
dev: true
/@types/mdast/3.0.11:
......@@ -2782,8 +2782,8 @@ packages:
/@types/web-bluetooth/0.0.16:
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
/@typescript-eslint/eslint-plugin/5.56.0_iskin7c6dxqunwflhstekcjqmq:
resolution: {integrity: sha512-ZNW37Ccl3oMZkzxrYDUX4o7cnuPgU+YrcaYXzsRtLB16I1FR5SHMqga3zGsaSliZADCWo2v8qHWqAYIj8nWCCg==}
/@typescript-eslint/eslint-plugin/5.57.0_5t5646cukn2kik5kiydglap3vi:
resolution: {integrity: sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@typescript-eslint/parser': ^5.0.0
......@@ -2794,10 +2794,10 @@ packages:
optional: true
dependencies:
'@eslint-community/regexpp': 4.4.1
'@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/scope-manager': 5.56.0
'@typescript-eslint/type-utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/parser': 5.57.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/scope-manager': 5.57.0
'@typescript-eslint/type-utils': 5.57.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/utils': 5.57.0_vgl77cfdswitgr47lm5swmv43m
debug: 4.3.4
eslint: 8.36.0
grapheme-splitter: 1.0.4
......@@ -2810,8 +2810,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser/5.56.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-sn1OZmBxUsgxMmR8a8U5QM/Wl+tyqlH//jTqCg8daTAmhAk26L2PFhcqPLlYBhYUJMZJK276qLXlHN3a83o2cg==}
/@typescript-eslint/parser/5.57.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
......@@ -2820,9 +2820,9 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 5.56.0
'@typescript-eslint/types': 5.56.0
'@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5
'@typescript-eslint/scope-manager': 5.57.0
'@typescript-eslint/types': 5.57.0
'@typescript-eslint/typescript-estree': 5.57.0_typescript@4.9.5
debug: 4.3.4
eslint: 8.36.0
typescript: 4.9.5
......@@ -2830,16 +2830,16 @@ packages:
- supports-color
dev: true
/@typescript-eslint/scope-manager/5.56.0:
resolution: {integrity: sha512-jGYKyt+iBakD0SA5Ww8vFqGpoV2asSjwt60Gl6YcO8ksQ8s2HlUEyHBMSa38bdLopYqGf7EYQMUIGdT/Luw+sw==}
/@typescript-eslint/scope-manager/5.57.0:
resolution: {integrity: sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.56.0
'@typescript-eslint/visitor-keys': 5.56.0
'@typescript-eslint/types': 5.57.0
'@typescript-eslint/visitor-keys': 5.57.0
dev: true
/@typescript-eslint/type-utils/5.56.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-8WxgOgJjWRy6m4xg9KoSHPzBNZeQbGlQOH7l2QEhQID/+YseaFxg5J/DLwWSsi9Axj4e/cCiKx7PVzOq38tY4A==}
/@typescript-eslint/type-utils/5.57.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '*'
......@@ -2848,8 +2848,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5
'@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/typescript-estree': 5.57.0_typescript@4.9.5
'@typescript-eslint/utils': 5.57.0_vgl77cfdswitgr47lm5swmv43m
debug: 4.3.4
eslint: 8.36.0
tsutils: 3.21.0_typescript@4.9.5
......@@ -2858,13 +2858,13 @@ packages:
- supports-color
dev: true
/@typescript-eslint/types/5.56.0:
resolution: {integrity: sha512-JyAzbTJcIyhuUhogmiu+t79AkdnqgPUEsxMTMc/dCZczGMJQh1MK2wgrju++yMN6AWroVAy2jxyPcPr3SWCq5w==}
/@typescript-eslint/types/5.57.0:
resolution: {integrity: sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@typescript-eslint/typescript-estree/5.56.0_typescript@4.9.5:
resolution: {integrity: sha512-41CH/GncsLXOJi0jb74SnC7jVPWeVJ0pxQj8bOjH1h2O26jXN3YHKDT1ejkVz5YeTEQPeLCCRY0U2r68tfNOcg==}
/@typescript-eslint/typescript-estree/5.57.0_typescript@4.9.5:
resolution: {integrity: sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
......@@ -2872,8 +2872,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 5.56.0
'@typescript-eslint/visitor-keys': 5.56.0
'@typescript-eslint/types': 5.57.0
'@typescript-eslint/visitor-keys': 5.57.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
......@@ -2884,8 +2884,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/utils/5.56.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-XhZDVdLnUJNtbzaJeDSCIYaM+Tgr59gZGbFuELgF7m0IY03PlciidS7UQNKLE0+WpUTn1GlycEr6Ivb/afjbhA==}
/@typescript-eslint/utils/5.57.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
......@@ -2893,9 +2893,9 @@ packages:
'@eslint-community/eslint-utils': 4.4.0_eslint@8.36.0
'@types/json-schema': 7.0.11
'@types/semver': 7.3.13
'@typescript-eslint/scope-manager': 5.56.0
'@typescript-eslint/types': 5.56.0
'@typescript-eslint/typescript-estree': 5.56.0_typescript@4.9.5
'@typescript-eslint/scope-manager': 5.57.0
'@typescript-eslint/types': 5.57.0
'@typescript-eslint/typescript-estree': 5.57.0_typescript@4.9.5
eslint: 8.36.0
eslint-scope: 5.1.1
semver: 7.3.8
......@@ -2904,12 +2904,12 @@ packages:
- typescript
dev: true
/@typescript-eslint/visitor-keys/5.56.0:
resolution: {integrity: sha512-1mFdED7u5bZpX6Xxf5N9U2c18sb+8EvU3tyOIj6LQZ5OOvnmj8BVeNNP603OFPm5KkS1a7IvCIcwrdHXaEMG/Q==}
/@typescript-eslint/visitor-keys/5.57.0:
resolution: {integrity: sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.56.0
eslint-visitor-keys: 3.3.0
'@typescript-eslint/types': 5.57.0
eslint-visitor-keys: 3.4.0
dev: true
/@vitejs/plugin-legacy/4.0.2_terser@5.16.8+vite@4.2.1:
......@@ -3464,7 +3464,7 @@ packages:
postcss: ^8.1.0
dependencies:
browserslist: 4.21.5
caniuse-lite: 1.0.30001470
caniuse-lite: 1.0.30001472
fraction.js: 4.2.0
normalize-range: 0.1.2
picocolors: 1.0.0
......@@ -3659,8 +3659,8 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
caniuse-lite: 1.0.30001470
electron-to-chromium: 1.4.340
caniuse-lite: 1.0.30001472
electron-to-chromium: 1.4.341
node-releases: 2.0.10
update-browserslist-db: 1.0.10_browserslist@4.21.5
dev: true
......@@ -3772,8 +3772,8 @@ packages:
engines: {node: '>=10'}
dev: true
/caniuse-lite/1.0.30001470:
resolution: {integrity: sha512-065uNwY6QtHCBOExzbV6m236DDhYCCtPmQUCoQtwkVqzud8v5QPidoMr6CoMkC2nfp6nksjttqWQRRh75LqUmA==}
/caniuse-lite/1.0.30001472:
resolution: {integrity: sha512-xWC/0+hHHQgj3/vrKYY0AAzeIUgr7L9wlELIcAvZdDUHlhL/kNxMdnQLOSOQfP8R51ZzPhmHdyMkI0MMpmxCfg==}
dev: true
/capital-case/1.0.4:
......@@ -4897,8 +4897,8 @@ packages:
jake: 10.8.5
dev: true
/electron-to-chromium/1.4.340:
resolution: {integrity: sha512-zx8hqumOqltKsv/MF50yvdAlPF9S/4PXbyfzJS6ZGhbddGkRegdwImmfSVqCkEziYzrIGZ/TlrzBND4FysfkDg==}
/electron-to-chromium/1.4.341:
resolution: {integrity: sha512-R4A8VfUBQY9WmAhuqY5tjHRf5fH2AAf6vqitBOE0y6u2PgHgqHSrhZmu78dIX3fVZtjqlwJNX1i2zwC3VpHtQQ==}
dev: true
/emoji-regex/8.0.0:
......@@ -5141,7 +5141,7 @@ packages:
- supports-color
dev: true
/eslint-module-utils/2.7.4_tf7h2azriypc3gaglz256o6pea:
/eslint-module-utils/2.7.4_s7ttrvgfvhhasgm2z4wjvde2bi:
resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
engines: {node: '>=4'}
peerDependencies:
......@@ -5162,7 +5162,7 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
'@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/parser': 5.57.0_vgl77cfdswitgr47lm5swmv43m
debug: 3.2.7
eslint: 8.36.0
eslint-import-resolver-node: 0.3.7
......@@ -5173,7 +5173,7 @@ packages:
/eslint-plugin-antfu/0.37.0_vgl77cfdswitgr47lm5swmv43m:
resolution: {integrity: sha512-Tekr9S4fkrmH88RS5XHvs3gQwQIn/2As8gYePzrPHTQEQF00pIx0sa1eQrhmvN50ubUG4WkZnpx/uR3073jLeg==}
dependencies:
'@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/utils': 5.57.0_vgl77cfdswitgr47lm5swmv43m
transitivePeerDependencies:
- eslint
- supports-color
......@@ -5208,7 +5208,7 @@ packages:
htmlparser2: 8.0.2
dev: true
/eslint-plugin-import/2.27.5_cnkxirszkzb4o6ts7gbclno24e:
/eslint-plugin-import/2.27.5_74llxljztmzze2ez7aakaiqyti:
resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==}
engines: {node: '>=4'}
peerDependencies:
......@@ -5218,7 +5218,7 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
'@typescript-eslint/parser': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/parser': 5.57.0_vgl77cfdswitgr47lm5swmv43m
array-includes: 3.1.6
array.prototype.flat: 1.3.1
array.prototype.flatmap: 1.3.1
......@@ -5226,7 +5226,7 @@ packages:
doctrine: 2.1.0
eslint: 8.36.0
eslint-import-resolver-node: 0.3.7
eslint-module-utils: 2.7.4_tf7h2azriypc3gaglz256o6pea
eslint-module-utils: 2.7.4_s7ttrvgfvhhasgm2z4wjvde2bi
has: 1.0.3
is-core-module: 2.11.0
is-glob: 4.0.3
......@@ -5241,7 +5241,7 @@ packages:
- supports-color
dev: true
/eslint-plugin-jest/27.2.1_t2az3euonckxht7o3xjedcge5q:
/eslint-plugin-jest/27.2.1_p24d35jmojvkpl4oqhbfa2kcmq:
resolution: {integrity: sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
peerDependencies:
......@@ -5254,8 +5254,8 @@ packages:
jest:
optional: true
dependencies:
'@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq
'@typescript-eslint/utils': 5.56.0_vgl77cfdswitgr47lm5swmv43m
'@typescript-eslint/eslint-plugin': 5.57.0_5t5646cukn2kik5kiydglap3vi
'@typescript-eslint/utils': 5.57.0_vgl77cfdswitgr47lm5swmv43m
eslint: 8.36.0
transitivePeerDependencies:
- supports-color
......@@ -5359,7 +5359,7 @@ packages:
strip-indent: 3.0.0
dev: true
/eslint-plugin-unused-imports/2.0.0_pjgbsoxltfjhart6hcjsvw66hu:
/eslint-plugin-unused-imports/2.0.0_bh3gacn4tk2wj6fu7gisfablcy:
resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
......@@ -5369,7 +5369,7 @@ packages:
'@typescript-eslint/eslint-plugin':
optional: true
dependencies:
'@typescript-eslint/eslint-plugin': 5.56.0_iskin7c6dxqunwflhstekcjqmq
'@typescript-eslint/eslint-plugin': 5.57.0_5t5646cukn2kik5kiydglap3vi
eslint: 8.36.0
eslint-rule-composer: 0.3.0
dev: true
......@@ -5455,8 +5455,8 @@ packages:
engines: {node: '>=10'}
dev: true
/eslint-visitor-keys/3.3.0:
resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
/eslint-visitor-keys/3.4.0:
resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
......@@ -5479,7 +5479,7 @@ packages:
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.1.1
eslint-visitor-keys: 3.3.0
eslint-visitor-keys: 3.4.0
espree: 9.5.0
esquery: 1.5.0
esutils: 2.0.3
......@@ -5522,7 +5522,7 @@ packages:
dependencies:
acorn: 8.8.2
acorn-jsx: 5.3.2_acorn@8.8.2
eslint-visitor-keys: 3.3.0
eslint-visitor-keys: 3.4.0
dev: true
/esquery/1.5.0:
......@@ -7065,7 +7065,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
acorn: 8.8.2
eslint-visitor-keys: 3.3.0
eslint-visitor-keys: 3.4.0
espree: 9.5.0
semver: 7.3.8
dev: true
......@@ -10558,7 +10558,7 @@ packages:
debug: 4.3.4
eslint: 8.36.0
eslint-scope: 7.1.1
eslint-visitor-keys: 3.3.0
eslint-visitor-keys: 3.4.0
espree: 9.5.0
esquery: 1.5.0
lodash: 4.17.21
......@@ -11056,7 +11056,7 @@ packages:
resolution: {integrity: sha512-OmuvQd5lyIJWfFALc39K5fGqp0aWNc+EtyhVgcQIPZaUKMnTb7An3RMp+QJizJ/x0F4kpgTNe6BL/ctdvoIwIg==}
engines: {node: ^14.17.0 || >=16.0.0}
dependencies:
eslint-visitor-keys: 3.3.0
eslint-visitor-keys: 3.4.0
lodash: 4.17.21
yaml: 2.2.1
dev: true
......
// import * as Pont from 'pont-engine'
import { Interface, BaseClass, Property, CodeGenerator } from 'pont-engine'
import type { BaseClass, Interface } from 'pont-engine'
import { CodeGenerator, Property } from 'pont-engine'
// 接口 API 前缀
// 通常与项目的 env 配置中的 VITE_GLOB_API_URL_PREFIX 相同
......@@ -38,7 +39,7 @@ export default class BasicGenerator extends CodeGenerator {
return `${requestParams.replace(
'options?: any',
`config?: http.RequestConfig<${
bodyTypeDef ? bodyTypeDef : `Params${requestParams.includes('form') ? ' | FormData' : ''}`
bodyTypeDef || `Params${requestParams.includes('form') ? ' | FormData' : ''}`
}>`,
)}, options?: http.RequestOptions`
}
......
import { StandardDataSource } from 'pont-engine'
import type { StandardDataSource } from 'pont-engine'
export default function transform(dataSource: StandardDataSource): StandardDataSource {
console.log(dataSource)
......
......@@ -157,7 +157,7 @@ const transform: AxiosTransform = {
const token = getToken()
if (token && (config as Recordable)?.requestOptions?.withToken !== false) {
// jwt token
;(config as Recordable).headers.Authorization = options.authenticationScheme
;(config as Recordable).headers['App-Token'] = options.authenticationScheme
? `${options.authenticationScheme} ${token}`
: token
}
......
import type { UserConfig, ConfigEnv } from 'vite'
import pkg from './package.json'
import { resolve } from 'node:path'
import type { ConfigEnv, UserConfig } from 'vite'
import dayjs from 'dayjs'
import { loadEnv } from 'vite'
import { resolve } from 'path'
import pkg from './package.json'
import { generateModifyVars } from './build/generate/generateModifyVars'
import { createProxy } from './build/vite/proxy'
import { wrapperEnv } from './build/utils'
import { createVitePlugins } from './build/vite/plugin'
import { OUTPUT_DIR } from './build/constant'
function pathResolve(dir: string) {
return resolve(process.cwd(), '.', dir)
......@@ -43,12 +42,12 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
// /@/xxxx => src/xxxx
{
find: /\/?@\//,
replacement: pathResolve('src') + '/',
replacement: `${pathResolve('src')}/`,
},
// /#/xxxx => types/xxxx
{
find: /\/#\//,
replacement: pathResolve('types') + '/',
replacement: `${pathResolve('types')}/`,
},
],
},
......@@ -60,24 +59,20 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
// Load proxy configuration from .env
proxy: createProxy(VITE_PROXY),
},
esbuild: {
pure: VITE_DROP_CONSOLE ? ['console.log', 'debugger'] : [],
},
build: {
target: 'es2015',
cssTarget: 'chrome80',
outDir: OUTPUT_DIR,
// minify: 'terser',
minify: 'terser',
/**
* 当 minify=“minify:'terser'” 解开注释
* Uncomment when minify="minify:'terser'"
*/
// terserOptions: {
// compress: {
// keep_infinity: true,
// drop_console: VITE_DROP_CONSOLE,
// },
// },
terserOptions: {
compress: {
keep_infinity: true,
drop_console: VITE_DROP_CONSOLE,
},
},
// Turning off brotliSize display can slightly reduce packaging time
reportCompressedSize: false,
chunkSizeWarningLimit: 2000,
......@@ -115,13 +110,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
optimizeDeps: {
// @iconify/iconify: The dependency is dynamically and virtually loaded by @purge-icons/generated, so it needs to be specified explicitly
include: [
'@vue/runtime-core',
'@vue/shared',
'@iconify/iconify',
'ant-design-vue/es/locale/zh_CN',
'ant-design-vue/es/locale/en_US',
],
include: ['@iconify/iconify', 'ant-design-vue/es/locale/zh_CN', 'ant-design-vue/es/locale/en_US'],
},
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论