Skip to content

Commit 05ac140

Browse files
committed
wip
1 parent 3f3962e commit 05ac140

7 files changed

+4293
-5749
lines changed

jest.config.js

-17
This file was deleted.

package-lock.json

+4,256-5,714
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+10-9
Original file line numberDiff line numberDiff line change
@@ -54,25 +54,26 @@
5454
"devDependencies": {
5555
"@babel/cli": "^7.23.4",
5656
"@babel/core": "^7.23.7",
57-
"@babel/preset-env": "^7.23.7",
58-
"@types/jest": "^27.5.2",
57+
"@babel/preset-env": "^7.23.8",
58+
"@types/jest": "^29.5.11",
59+
"@vitejs/plugin-vue": "^5.0.2",
5960
"@vue/babel-plugin-jsx": "^1.1.5",
6061
"@vue/test-utils": "^2.4.3",
61-
"babel-jest": "^27.5.1",
62+
"babel-jest": "^29.7.0",
6263
"babel-plugin-transform-vite-meta-env": "^1.0.3",
63-
"jest": "^27.5.1",
6464
"laravel-mix": "^6.0.49",
65-
"prettier": "^2.8.8",
65+
"prettier": "^3.1.1",
6666
"rimraf": "^5.0.5",
6767
"source-map": "^0.7.4",
68-
"ts-jest": "^27.1.5",
6968
"ts-loader": "^9.5.1",
7069
"tsc-multi": "^1.1.0",
71-
"typescript": "^4.9.5",
72-
"vite": "^4.5.1"
70+
"typescript": "^5.3.3",
71+
"vite": "^5.0.11",
72+
"vite-tsconfig-paths": "^4.2.3",
73+
"vitest": "^1.1.3"
7374
},
7475
"dependencies": {
75-
"php-parser": "3.1.3",
76+
"php-parser": "3.1.5",
7677
"vue": "^3.2.45"
7778
},
7879
"lint-staged": {

test/class.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ it('allows resetting all data', async () => {
7070
})
7171

7272
it('calls onLoad when loaded', async () => {
73-
const onLoadFunction = jest.fn()
73+
const onLoadFunction = vi.fn()
7474

7575
const i18n = new I18n({
7676
lang: 'pt',
@@ -86,7 +86,7 @@ it('calls onLoad when loaded', async () => {
8686
})
8787

8888
it('can override missing translations with fallback language translations', async () => {
89-
const onLoadFunction = jest.fn()
89+
const onLoadFunction = vi.fn()
9090
const i18n = new I18n({
9191
fallbackLang: 'en',
9292
fallbackMissingTranslations: true,
@@ -101,4 +101,4 @@ it('can override missing translations with fallback language translations', asyn
101101
expect(i18n.trans('Welcome!')).toBe('Bem-vindo!')
102102

103103
expect(i18n.trans('English only.')).toBe('English only.')
104-
})
104+
})

test/setup.ts

+11-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { mount } from '@vue/test-utils'
1+
import {mount} from "@vue/test-utils";
22
import { i18nVue } from '../src'
33
import { generateFiles, parseAll } from '../src/loader'
44

@@ -9,7 +9,10 @@ global.mountPlugin = async (template = '<div />', lang = 'pt', fallbackLang = 'p
99
lang,
1010
fallbackLang,
1111
fallbackMissingTranslations,
12-
resolve: lang => import(`./fixtures/lang/${lang}.json`),
12+
resolve: async lang => {
13+
const langs = import.meta.glob('./fixtures/lang/*.json');
14+
return await langs[`./fixtures/lang/${lang}.json`]();
15+
},
1316
}]]
1417
}
1518
});
@@ -25,7 +28,10 @@ global.mountPluginWithRequire = async (template = '<div />', lang = 'pt', fallba
2528
plugins: [[i18nVue, {
2629
lang,
2730
fallbackLang,
28-
resolve: (lang) => require(`./fixtures/lang/${lang}.json`),
31+
resolve: (lang) => {
32+
const langs = import.meta.glob('./fixtures/lang/*.json', { eager: true });
33+
return langs[`./fixtures/lang/${lang}.json`].default;
34+
},
2935
}]]
3036
}
3137
});
@@ -37,9 +43,8 @@ global.mountPluginWithRequire = async (template = '<div />', lang = 'pt', fallba
3743

3844
global.mixLoader = () => {
3945
const langPath = __dirname + '/fixtures/lang/';
46+
4047
generateFiles(langPath, parseAll(langPath));
4148

42-
process.env = Object.assign(process.env, {
43-
LARAVEL_VUE_I18N_HAS_PHP: 'true',
44-
});
49+
process.env.LARAVEL_VUE_I18N_HAS_PHP = true;
4550
}

test/translate.test.ts

+1
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ it('translates a possible nested item, and if not exists check on the root level
242242
});
243243

244244
it('translates a nested file item while using "/" and "." at the same time as a delimiter', async () => {
245+
global.mixLoader();
245246
await global.mountPlugin()
246247

247248
expect(trans('nested/cars/car.is_electric')).toBe('É elétrico?');

vite.config.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { defineConfig } from 'vite';
2+
import vue from '@vitejs/plugin-vue';
3+
import viteTsconfigPaths from 'vite-tsconfig-paths';
4+
5+
export default defineConfig({
6+
plugins: [vue(), viteTsconfigPaths()],
7+
test: {
8+
globals: true,
9+
environment: 'jsdom',
10+
setupFiles: './test/setup.ts',
11+
},
12+
});

0 commit comments

Comments
 (0)