Skip to content

Commit 9a68b1f

Browse files
authored
fix: tree shaking optimaization (#125)
1 parent b9acd3d commit 9a68b1f

34 files changed

+8631
-4
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696
},
9797
"scripts": {
9898
"benchmark": "yarn build && node ./benchmark/index.js",
99-
"build": "node ./scripts/build.js",
99+
"build": "yarn clean:cache:rollup && node ./scripts/build.js",
100100
"build:sourcemap": "yarn build --sourcemap",
101101
"build:type": "yarn build --types && tail -n +14 src/vue.d.ts >> ./dist/vue-i18n.d.ts",
102102
"build:watch": "tsc -p . --watch",
@@ -105,6 +105,7 @@
105105
"clean:cache:rollup": "rm -rf ./node_modules/.rts2_cache",
106106
"clean:cache:jest": "jest --clearCache",
107107
"clean:coverage": "rm -rf ./coverage",
108+
"clean:size": "rm -rf ./size-check/**/dist ./size-check/**/node_modules",
108109
"clean:dist": "rm -rf ./dist/**",
109110
"clean:docs": "rm -rf ./docs",
110111
"clean:type": "rm -rf ./types/** ./temp ./dist/vue-i18n.d.ts",

size-check/basic/index.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title></title>
7+
</head>
8+
<body>
9+
<div id="app"></div>
10+
<script type="module" src="/src/main.js"></script>
11+
</body>
12+
</html>

size-check/basic/package.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"name": "basic",
3+
"private": true,
4+
"version": "0.0.0",
5+
"scripts": {
6+
"dev": "vite",
7+
"build": "vite build --config vite.config.ts --mode production --minify false"
8+
},
9+
"dependencies": {
10+
"vue": "^3.0.0",
11+
"vue-i18n": "link:../.."
12+
},
13+
"devDependencies": {
14+
"vite": "^1.0.0-rc.4",
15+
"@vue/compiler-sfc": "^3.0.0"
16+
}
17+
}

size-check/basic/src/App.vue

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<template>
2+
<form>
3+
<label>{{ $t('language') }}</label>
4+
<select v-model="$i18n.locale">
5+
<option value="en">en</option>
6+
<option value="ja">ja</option>
7+
</select>
8+
</form>
9+
</template>
10+
11+
<script lang="ts">
12+
import { defineComponent } from 'vue'
13+
14+
export default defineComponent({
15+
name: 'App'
16+
})
17+
</script>
18+
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"language": "Languages"
3+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"language": "言語"
3+
}

size-check/basic/src/main.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { createApp } from 'vue'
2+
import { createI18n } from 'vue-i18n'
3+
import App from './App.vue'
4+
import en from './locales/en.json'
5+
import ja from './locales/ja.json'
6+
7+
const i18n = createI18n({
8+
locale: 'en',
9+
messages: {
10+
en,
11+
ja
12+
}
13+
})
14+
15+
createApp(App).use(i18n).mount('#app')

size-check/basic/vite.config.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { resolve } from 'path'
2+
import { BuildConfig } from 'vite'
3+
4+
const config: BuildConfig = {
5+
minify: false,
6+
rollupInputOptions: {
7+
input: resolve(__dirname, './src/main.js'),
8+
external: ['vue'],
9+
treeshake: {
10+
moduleSideEffects: false
11+
}
12+
}
13+
}
14+
15+
export default config

0 commit comments

Comments
 (0)