提交 148a43e5 编写于 作者: fxy060608's avatar fxy060608

chore: size-check

上级 8b38221b
...@@ -13,10 +13,6 @@ jobs: ...@@ -13,10 +13,6 @@ jobs:
CI_JOB_NUMBER: 1 CI_JOB_NUMBER: 1
steps: steps:
- uses: actions/checkout@v1 - uses: actions/checkout@v1
- uses: bahmutov/npm-install@v1 - uses: andresz1/size-limit-action@v1
- uses: posva/size-check-action@v1.1.2
with: with:
github_token: ${{ secrets.GITHUB_TOKEN }} github_token: ${{ secrets.GITHUB_TOKEN }}
build_script: build
files: packages/size-check/dist/assets/index.js packages/size-check/dist/assets/index.css packages/uni-h5-vue/dist/vue.runtime.esm.js packages/uni-mp-vue/dist/vue.runtime.esm.js packages/uni-mp-alipay/dist/uni.api.esm.js packages/uni-mp-alipay/dist/uni.mp.esm.js packages/uni-mp-baidu/dist/uni.api.esm.js packages/uni-mp-baidu/dist/uni.mp.esm.js packages/uni-mp-qq/dist/uni.api.esm.js packages/uni-mp-qq/dist/uni.mp.esm.js packages/uni-mp-toutiao/dist/uni.api.esm.js packages/uni-mp-toutiao/dist/uni.mp.esm.js packages/uni-mp-weixin/dist/uni.api.esm.js packages/uni-mp-weixin/dist/uni.mp.esm.js packages/uni-quickapp-webview/dist/uni.api.esm.js packages/uni-quickapp-webview/dist/uni.mp.esm.js
module.exports = [
{
path: 'packages/size-check/dist/assets',
running: false,
},
{
path: 'packages/uni-h5-vue/dist',
running: false,
},
{
path: 'packages/uni-mp-vue/dist',
running: false,
},
{
path: 'packages/uni-mp-alipay/dist',
running: false,
},
{
path: 'packages/uni-mp-baidu/dist',
running: false,
},
{
path: 'packages/uni-mp-qq/dist',
running: false,
},
{
path: 'packages/uni-mp-toutiao/dist',
running: false,
},
{
path: 'packages/uni-mp-weixin/dist',
running: false,
},
{
path: 'packages/uni-quickapp-webview/dist',
running: false,
},
]
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
], ],
"scripts": { "scripts": {
"build": "node scripts/build.js", "build": "node scripts/build.js",
"size": "size-limit",
"lint": "eslint packages/*/src/**/*.ts", "lint": "eslint packages/*/src/**/*.ts",
"format": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"", "format": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"",
"ls-lint": "ls-lint", "ls-lint": "ls-lint",
...@@ -40,6 +41,7 @@ ...@@ -40,6 +41,7 @@
"@rollup/plugin-json": "^4.1.0", "@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^11.0.1", "@rollup/plugin-node-resolve": "^11.0.1",
"@rollup/plugin-replace": "^2.3.4", "@rollup/plugin-replace": "^2.3.4",
"@size-limit/preset-app": "^4.10.1",
"@types/debug": "^4.1.5", "@types/debug": "^4.1.5",
"@types/es-module-lexer": "^0.3.0", "@types/es-module-lexer": "^0.3.0",
"@types/fs-extra": "^9.0.6", "@types/fs-extra": "^9.0.6",
...@@ -49,7 +51,6 @@ ...@@ -49,7 +51,6 @@
"@typescript-eslint/parser": "^4.12.0", "@typescript-eslint/parser": "^4.12.0",
"@vitejs/plugin-vue": "^1.0.4", "@vitejs/plugin-vue": "^1.0.4",
"@vue/compiler-sfc": "^3.0.5", "@vue/compiler-sfc": "^3.0.5",
"brotli": "^1.3.2",
"eslint": "^7.17.0", "eslint": "^7.17.0",
"fs-extra": "^9.0.1", "fs-extra": "^9.0.1",
"jest": "^26.6.3", "jest": "^26.6.3",
...@@ -64,6 +65,7 @@ ...@@ -64,6 +65,7 @@
"rollup-plugin-typescript2": "^0.29.0", "rollup-plugin-typescript2": "^0.29.0",
"rollup-plugin-vue": "^6.0.0", "rollup-plugin-vue": "^6.0.0",
"semver": "^7.3.4", "semver": "^7.3.4",
"size-limit": "^4.10.1",
"ts-jest": "^26.4.4", "ts-jest": "^26.4.4",
"typescript": "~4.1.3", "typescript": "~4.1.3",
"vite": "^2.1.1", "vite": "^2.1.1",
......
...@@ -13,13 +13,13 @@ export default { ...@@ -13,13 +13,13 @@ export default {
root: __dirname, root: __dirname,
build: { build: {
// minify: false, // minify: false,
rollupOptions: { // rollupOptions: {
output: { // output: {
entryFileNames: `assets/[name].js`, // entryFileNames: `assets/[name].js`,
chunkFileNames: `assets/[name].js`, // chunkFileNames: `assets/[name].js`,
assetFileNames: `assets/[name].[ext]`, // assetFileNames: `assets/[name].[ext]`,
}, // },
}, // },
}, },
plugins: [ plugins: [
......
import path from 'path'
import { Plugin } from 'vite' import { Plugin } from 'vite'
import { VitePluginUniResolvedOptions } from '..' import { VitePluginUniResolvedOptions } from '..'
...@@ -23,6 +24,7 @@ export function createConfig( ...@@ -23,6 +24,7 @@ export function createConfig(
server: createServer(options), server: createServer(options),
build: createBuild(options), build: createBuild(options),
css: createCss(options), css: createCss(options),
publicDir: path.join(options.inputDir, 'static'),
} }
} }
} }
...@@ -2,8 +2,6 @@ const fs = require('fs-extra') ...@@ -2,8 +2,6 @@ const fs = require('fs-extra')
const path = require('path') const path = require('path')
const chalk = require('chalk') const chalk = require('chalk')
const execa = require('execa') const execa = require('execa')
const { gzipSync } = require('zlib')
const { compress } = require('brotli')
const { extract } = require('./apiExtractor') const { extract } = require('./apiExtractor')
...@@ -22,10 +20,8 @@ run() ...@@ -22,10 +20,8 @@ run()
async function run() { async function run() {
if (!targets.length) { if (!targets.length) {
await buildAll(allTargets) await buildAll(allTargets)
checkAllSizes(allTargets)
} else { } else {
await buildAll(fuzzyMatchTarget(targets, buildAllMatching)) await buildAll(fuzzyMatchTarget(targets, buildAllMatching))
checkAllSizes(fuzzyMatchTarget(targets, buildAllMatching))
} }
} }
...@@ -95,42 +91,3 @@ async function build(target) { ...@@ -95,42 +91,3 @@ async function build(target) {
await extract(target) await extract(target)
} }
} }
function checkAllSizes(targets) {
if (devOnly) {
return
}
console.log()
for (const target of targets) {
checkSize(target)
}
console.log()
}
function checkSize(target) {
const pkgDir = path.resolve(`packages/${target}`)
if (require(path.join(pkgDir, 'package.json')).buildOptions) {
return
}
console.log(`${chalk.blueBright(target)}:`)
checkFileSize(`${pkgDir}/dist/vue.runtime.esm.js`)
checkFileSize(`${pkgDir}/dist/uni.api.esm.js`)
checkFileSize(`${pkgDir}/dist/uni.mp.esm.js`)
}
function checkFileSize(filePath) {
if (!fs.existsSync(filePath)) {
return
}
const file = fs.readFileSync(filePath)
const minSize = (file.length / 1024).toFixed(2) + 'kb'
const gzipped = gzipSync(file)
const gzippedSize = (gzipped.length / 1024).toFixed(2) + 'kb'
const compressed = compress(file)
const compressedSize = (compressed.length / 1024).toFixed(2) + 'kb'
console.log(
`${chalk.gray(
chalk.bold(path.basename(filePath))
)} min:${minSize} / gzip:${gzippedSize} / brotli:${compressedSize}`
)
}
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册