Skip to content

Commit cf0b7e5

Browse files
committed
refa: remove i18n dependency
1 parent 3139645 commit cf0b7e5

18 files changed

Lines changed: 191 additions & 246 deletions

File tree

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ jobs:
88
build:
99
runs-on: ubuntu-latest
1010

11+
permissions:
12+
id-token: write
13+
contents: read
14+
1115
steps:
1216
- name: Check out
1317
uses: actions/checkout@v6
@@ -19,6 +23,14 @@ jobs:
1923
run: yarn --no-immutable
2024
- name: Build
2125
run: yarn build
26+
- name: Publish
27+
if: >-
28+
github.event_name == 'push' &&
29+
contains(fromJson('["refs/heads/main"]'), github.ref)
30+
run: |-
31+
yarn config set npmPublishProvenance true
32+
yarn config set npmRegistryServer https://registry.npmjs.org/
33+
yarn yakumo publish --debug
2234
2335
test:
2436
runs-on: ubuntu-latest
@@ -42,7 +54,7 @@ jobs:
4254
- name: Unit Test
4355
run: yarn test:json
4456
- name: Report Coverage
45-
uses: codecov/codecov-action@v4
57+
uses: codecov/codecov-action@v6
4658
with:
4759
token: ${{ secrets.CODECOV_TOKEN }}
4860
files: ./coverage/coverage-final.json

package.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,38 @@
33
"version": "1.0.0",
44
"private": true,
55
"type": "module",
6-
"packageManager": "yarn@4.12.0",
6+
"packageManager": "yarn@4.13.0",
77
"workspaces": [
88
"docs",
99
"packages/*"
1010
],
1111
"scripts": {
12-
"build:js": "yakumo esbuild core",
13-
"build:dts": "yakumo tsc core",
12+
"yakumo": "NODE_OPTIONS=\"--import tsx --import yml-register\" node_modules/yakumo/lib/cli.js",
13+
"build:js": "yarn yakumo esbuild core",
14+
"build:dts": "yarn yakumo tsc core",
1415
"build": "yarn build:js && yarn build:dts",
1516
"dev": "vitepress dev docs --open",
1617
"build:docs": "vitepress build docs",
1718
"serve": "serve docs/.vitepress/dist",
18-
"bump": "yakumo version",
19-
"dep": "yakumo upgrade",
20-
"pub": "yakumo publish",
21-
"test": "yakumo test -r esbuild-register core",
19+
"test": "yarn yakumo test -r esbuild-register core",
2220
"test:json": "shx rm -rf coverage && c8 -r json yarn test",
2321
"test:html": "shx rm -rf coverage && c8 -r html yarn test",
2422
"test:text": "shx rm -rf coverage && c8 -r text yarn test"
2523
},
2624
"devDependencies": {
2725
"@types/node": "^25.0.9",
2826
"c8": "^7.14.0",
29-
"esbuild": "^0.27.2",
27+
"esbuild": "^0.28.0",
3028
"esbuild-register": "^3.6.0",
3129
"marked-vue": "^1.3.0",
3230
"serve": "^13.0.4",
3331
"shx": "^0.4.0",
32+
"tsx": "npm:@cordiverse/tsx@4.19.3-fix.3",
3433
"typescript": "^5.6.2",
3534
"vitepress": "1.2.2",
36-
"yakumo": "^1.0.0-beta.21",
37-
"yakumo-esbuild": "^1.0.0-beta.7",
38-
"yakumo-tsc": "^1.0.0-beta.5"
35+
"yakumo": "^3.1.1",
36+
"yakumo-esbuild": "^3.0.1",
37+
"yakumo-tsc": "^3.0.1",
38+
"yml-register": "^1.2.5"
3939
}
4040
}

packages/form/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "schemastery-vue",
33
"description": "Type driven schema validator",
4-
"version": "7.3.15",
4+
"version": "8.0.0-alpha.0",
55
"main": "src/index.ts",
66
"files": [
77
"src"

packages/form/src/base.vue

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,8 @@
5656
<script lang="ts" setup>
5757
5858
import { PropType, ref } from 'vue'
59-
import { useI18n } from 'vue-i18n'
60-
import { Schema } from './utils'
59+
import { Schema, useI18n } from './utils'
6160
import { IconCollapse, IconEllipsis, IconExpand } from './icons'
62-
import zhCN from './locales/zh-CN.yml'
63-
import enUS from './locales/en-US.yml'
6461
6562
const props = defineProps({
6663
schema: {} as PropType<Schema>,
@@ -77,21 +74,7 @@ defineEmits(['update:modelValue'])
7774
const collapsed = ref(props.collapsible?.initial)
7875
const tooltip = ref(null)
7976
80-
const { t, setLocaleMessage } = useI18n({
81-
messages: {
82-
'zh-CN': zhCN,
83-
'en-US': enUS,
84-
},
85-
})
86-
87-
if (import.meta.hot) {
88-
import.meta.hot.accept('./locales/zh-CN.yml', (module) => {
89-
setLocaleMessage('zh-CN', module.default)
90-
})
91-
import.meta.hot.accept('./locales/en-US.yml', (module) => {
92-
setLocaleMessage('en-US', module.default)
93-
})
94-
}
77+
const t = useI18n()
9578
9679
</script>
9780

packages/form/src/extensions/checkbox.vue

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,8 @@
3636
<script lang="ts" setup>
3737
3838
import { PropType } from 'vue'
39-
import { useI18n } from 'vue-i18n'
40-
import { Schema, useI18nText, useMultiSelect } from '../utils'
39+
import { Schema, useI18n, useI18nText, useMultiSelect } from '../utils'
4140
import SchemaBase from '../base.vue'
42-
import zhCN from '../locales/zh-CN.yml'
43-
import enUS from '../locales/en-US.yml'
4441
import { IconSquareCheck, IconSquareEmpty } from '../icons'
4542
4643
defineProps({
@@ -53,24 +50,9 @@ defineProps({
5350
5451
defineEmits(['update:modelValue'])
5552
56-
const tt = useI18nText()
57-
5853
const { values, items, toggle, selectAll, selectNone } = useMultiSelect()
5954
60-
const { t, setLocaleMessage } = useI18n({
61-
messages: {
62-
'zh-CN': zhCN,
63-
'en-US': enUS,
64-
},
65-
})
66-
67-
if (import.meta.hot) {
68-
import.meta.hot.accept('../locales/zh-CN.yml', (module) => {
69-
setLocaleMessage('zh-CN', module.default)
70-
})
71-
import.meta.hot.accept('../locales/en-US.yml', (module) => {
72-
setLocaleMessage('en-US', module.default)
73-
})
74-
}
55+
const t = useI18n()
56+
const tt = useI18nText()
7557
7658
</script>

packages/form/src/extensions/group.vue

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,9 @@
7171
<script lang="ts" setup>
7272
7373
import { PropType } from 'vue'
74-
import { useI18n } from 'vue-i18n'
75-
import { Schema, useEntries } from '../utils'
74+
import { Schema, useEntries, useI18n } from '../utils'
7675
import { IconArrowUp, IconArrowDown, IconDelete, IconInsertAfter, IconInsertBefore } from '../icons'
7776
import SchemaBase from '../base.vue'
78-
import zhCN from '../locales/zh-CN.yml'
79-
import enUS from '../locales/en-US.yml'
8077
8178
defineProps({
8279
schema: {} as PropType<Schema>,
@@ -91,21 +88,7 @@ defineEmits(['update:modelValue'])
9188
9289
const { entries, up, down, insert, del, isMax, isMin, isFixedLength } = useEntries()
9390
94-
const { t, setLocaleMessage } = useI18n({
95-
messages: {
96-
'zh-CN': zhCN,
97-
'en-US': enUS,
98-
},
99-
})
100-
101-
if (import.meta.hot) {
102-
import.meta.hot.accept('../locales/zh-CN.yml', (module) => {
103-
setLocaleMessage('zh-CN', module.default)
104-
})
105-
import.meta.hot.accept('../locales/en-US.yml', (module) => {
106-
setLocaleMessage('en-US', module.default)
107-
})
108-
}
91+
const t = useI18n()
10992
11093
</script>
11194

packages/form/src/extensions/multiselect.vue

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,8 @@
4040
<script lang="ts" setup>
4141
4242
import { PropType } from 'vue'
43-
import { useI18n } from 'vue-i18n'
44-
import { Schema, useI18nText, useMultiSelect } from '../utils'
43+
import { Schema, useI18n, useI18nText, useMultiSelect } from '../utils'
4544
import SchemaBase from '../base.vue'
46-
import zhCN from '../locales/zh-CN.yml'
47-
import enUS from '../locales/en-US.yml'
4845
import { IconSquareCheck, IconSquareEmpty } from '../icons'
4946
5047
defineProps({
@@ -61,20 +58,6 @@ const tt = useI18nText()
6158
6259
const { values, items, selectAll, selectNone } = useMultiSelect()
6360
64-
const { t, setLocaleMessage } = useI18n({
65-
messages: {
66-
'zh-CN': zhCN,
67-
'en-US': enUS,
68-
},
69-
})
70-
71-
if (import.meta.hot) {
72-
import.meta.hot.accept('../locales/zh-CN.yml', (module) => {
73-
setLocaleMessage('zh-CN', module.default)
74-
})
75-
import.meta.hot.accept('../locales/en-US.yml', (module) => {
76-
setLocaleMessage('en-US', module.default)
77-
})
78-
}
61+
const t = useI18n()
7962
8063
</script>

packages/form/src/extensions/object.vue

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,9 @@
4949
5050
import { PropType, computed } from 'vue'
5151
import { createReusableTemplate } from '@vueuse/core'
52-
import { useI18n } from 'vue-i18n'
5352
import { isNullable } from 'cosmokit'
54-
import { Schema, useModel, useI18nText } from '../utils'
53+
import { Schema, useI18n, useI18nText, useModel } from '../utils'
5554
import SchemaBase from '../base.vue'
56-
import zhCN from '../locales/zh-CN.yml'
57-
import enUS from '../locales/en-US.yml'
5855
5956
defineOptions({
6057
inheritAttrs: false,
@@ -79,20 +76,6 @@ const config = useModel()
7976
8077
const description = computed(() => tt(props.schema.meta.description))
8178
82-
const { t, setLocaleMessage } = useI18n({
83-
messages: {
84-
'zh-CN': zhCN,
85-
'en-US': enUS,
86-
},
87-
})
88-
89-
if (import.meta.hot) {
90-
import.meta.hot.accept('../locales/zh-CN.yml', (module) => {
91-
setLocaleMessage('zh-CN', module.default)
92-
})
93-
import.meta.hot.accept('../locales/en-US.yml', (module) => {
94-
setLocaleMessage('en-US', module.default)
95-
})
96-
}
79+
const t = useI18n()
9780
9881
</script>

packages/form/src/extensions/radio.vue

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,8 @@
2525
<script lang="ts" setup>
2626
2727
import { PropType } from 'vue'
28-
import { useI18n } from 'vue-i18n'
29-
import { getChoices, Schema, useModel, useI18nText } from '../utils'
28+
import { getChoices, Schema, useI18n, useI18nText, useModel } from '../utils'
3029
import SchemaBase from '../base.vue'
31-
import zhCN from '../locales/zh-CN.yml'
32-
import enUS from '../locales/en-US.yml'
3330
3431
defineProps({
3532
schema: {} as PropType<Schema>,
@@ -45,20 +42,6 @@ const tt = useI18nText()
4542
4643
const config = useModel()
4744
48-
const { t, setLocaleMessage } = useI18n({
49-
messages: {
50-
'zh-CN': zhCN,
51-
'en-US': enUS,
52-
},
53-
})
54-
55-
if (import.meta.hot) {
56-
import.meta.hot.accept('../locales/zh-CN.yml', (module) => {
57-
setLocaleMessage('zh-CN', module.default)
58-
})
59-
import.meta.hot.accept('../locales/en-US.yml', (module) => {
60-
setLocaleMessage('en-US', module.default)
61-
})
62-
}
45+
const t = useI18n()
6346
6447
</script>

packages/form/src/extensions/table.vue

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -116,14 +116,11 @@
116116
<script lang="ts" setup>
117117
118118
import { computed, ref, PropType } from 'vue'
119-
import { useI18n } from 'vue-i18n'
120119
import { isNullable } from 'cosmokit'
121120
import { IconArrowUp, IconArrowDown, IconDelete, IconInvalid } from '../icons'
122-
import { Schema, useEntries, useI18nText, explain, toColumns } from '../utils'
121+
import { Schema, useEntries, useI18n, useI18nText, explain, toColumns } from '../utils'
123122
import SchemaBase from '../base.vue'
124123
import SchemaPrimitive from '../primitive.vue'
125-
import zhCN from '../locales/zh-CN.yml'
126-
import enUS from '../locales/en-US.yml'
127124
128125
const props = defineProps({
129126
schema: {} as PropType<Schema>,
@@ -232,21 +229,7 @@ function getComponentType(schema: Schema) {
232229
233230
const tt = useI18nText()
234231
235-
const { t, setLocaleMessage } = useI18n({
236-
messages: {
237-
'zh-CN': zhCN,
238-
'en-US': enUS,
239-
},
240-
})
241-
242-
if (import.meta.hot) {
243-
import.meta.hot.accept('../locales/zh-CN.yml', (module) => {
244-
setLocaleMessage('zh-CN', module.default)
245-
})
246-
import.meta.hot.accept('../locales/en-US.yml', (module) => {
247-
setLocaleMessage('en-US', module.default)
248-
})
249-
}
232+
const t = useI18n()
250233
251234
</script>
252235

0 commit comments

Comments
 (0)