Skip to content

Commit 6ab49a6

Browse files
committed
chore: Migrated Vite to Rollup, Removed Vite related dependencies
1 parent 821fc8c commit 6ab49a6

20 files changed

+448
-132
lines changed

packages/vue/global-spec.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
import BaseAlert from './src/components/primitives/base-alert.vue';
2-
import BaseFieldSet from './src/components/primitives/base-field-set.vue';
3-
import BaseFooter from './src/components/primitives/base-footer.vue';
4-
import BaseForm from './src/components/primitives/base-form.vue';
5-
import BaseHeading from './src/components/primitives/base-heading.vue';
6-
import BaseInput from './src/components/primitives/base-input.vue';
7-
import BaseLabel from './src/components/primitives/base-label.vue';
8-
import BaseSelect from './src/components/primitives/base-select.vue';
9-
import BaseText from './src/components/primitives/base-text.vue';
10-
import BaseTwoTabItem from './src/components/primitives/base-two-tab-item.vue';
11-
import BaseTwoTabs from './src/components/primitives/base-two-tabs.vue';
12-
import BaseWrapper from './src/components/primitives/base-wrapper.vue';
13-
import AmplifyButton from './src/components/primitives/amplify-button.vue';
1+
import BaseAlert from '@/components/primitives/base-alert.vue';
2+
import BaseFieldSet from '@/components/primitives/base-field-set.vue';
3+
import BaseFooter from '@/components/primitives/base-footer.vue';
4+
import BaseForm from '@/components/primitives/base-form.vue';
5+
import BaseHeading from '@/components/primitives/base-heading.vue';
6+
import BaseInput from '@/components/primitives/base-input.vue';
7+
import BaseLabel from '@/components/primitives/base-label.vue';
8+
import BaseSelect from '@/components/primitives/base-select.vue';
9+
import BaseText from '@/components/primitives/base-text.vue';
10+
import BaseTwoTabItem from '@/components/primitives/base-two-tab-item.vue';
11+
import BaseTwoTabs from '@/components/primitives/base-two-tabs.vue';
12+
import BaseWrapper from '@/components/primitives/base-wrapper.vue';
13+
import AmplifyButton from '@/components/primitives/amplify-button.vue';
1414

1515
export const components = {
1616
AmplifyButton,

packages/vue/jest.config.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ const config: Config = {
2727
moduleNameMapper: {
2828
'\\.css$': '<rootDir>/__mocks__/styleMock.js',
2929
'^nanoid$': '<rootDir>/../../node_modules/nanoid',
30+
'^@/(.*)$': '<rootDir>/src/$1',
31+
'^./src/components/(.*)$': '<rootDir>/src/components/$1',
3032
},
31-
modulePathIgnorePatterns: ['<rootDir>/dist/'],
33+
modulePathIgnorePatterns: ['<rootDir>/dist/', '<rootDir>/.rollup.cache/'],
3234
setupFilesAfterEnv: ['./jest.setup.ts'],
3335
transform: {
3436
'^.+\\.(ts)$': 'ts-jest',
@@ -38,6 +40,8 @@ const config: Config = {
3840
testEnvironmentOptions: {
3941
customExportConditions: ['node', 'node-addons'],
4042
},
43+
roots: ['<rootDir>/src', '<rootDir>/__tests__'],
44+
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?|vue)$',
4145
};
4246

4347
export default config;

packages/vue/package.json

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
],
2929
"scripts": {
3030
"prebuild": "rimraf dist",
31-
"build": "vite build",
32-
"dev": "vite build --watch",
31+
"build": "rollup -c",
32+
"dev": "rollup -c -w",
3333
"clean": "rimraf dist node_modules",
3434
"check:esm": "node --input-type=module --eval 'import \"@aws-amplify/ui-vue\"'",
3535
"lint": "yarn typecheck && eslint . --ext .vue,.js,.jsx,.ts,.tsx",
@@ -48,21 +48,31 @@
4848
"devDependencies": {
4949
"@babel/core": "^7.23.2",
5050
"@babel/preset-env": "^7.23.2",
51+
"@rollup/plugin-alias": "^5.1.1",
52+
"@rollup/plugin-commonjs": "^28.0.3",
5153
"@rollup/plugin-dynamic-import-vars": "^1.4.0",
54+
"@rollup/plugin-node-resolve": "^16.0.0",
55+
"@rollup/plugin-typescript": "^12.1.2",
5256
"@rushstack/eslint-patch": "^1.5.1",
57+
"@testing-library/jest-dom": "^6.6.3",
5358
"@testing-library/vue": "^6.6.0",
5459
"@types/node": "18.8.0",
55-
"@vitejs/plugin-vue-jsx": "^3.1.0",
5660
"@vue/babel-plugin-jsx": "^1.2.2",
61+
"@vue/compiler-sfc": "^3.3.4",
5762
"@vue/eslint-config-prettier": "^8.0.0",
5863
"@vue/eslint-config-typescript": "^12.0.0",
5964
"@vue/test-utils": "^2.4.1",
6065
"@vue/vue3-jest": "^29.2.6",
6166
"babel-jest": "^29.7.0",
67+
"esbuild": "^0.25.1",
6268
"eslint-plugin-vue": "^9.17.0",
69+
"rollup": "^4.35.0",
70+
"rollup-plugin-esbuild": "^6.2.1",
71+
"rollup-plugin-node-externals": "^7.1.3",
72+
"rollup-plugin-postcss": "^4.0.2",
6373
"rollup-plugin-typescript2": "^0.31.2",
64-
"unplugin-vue-components": "^0.25.0",
65-
"vite-jest": "^0.1.4"
74+
"rollup-plugin-vue": "^6.0.0",
75+
"unplugin-vue-components": "^0.25.0"
6676
},
6777
"peerDependencies": {
6878
"@aws-amplify/core": "*",

packages/vue/rollup.config.mjs

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
import { defineConfig } from 'rollup';
2+
import { fileURLToPath } from 'url';
3+
import path from 'path';
4+
import vue from 'rollup-plugin-vue';
5+
import commonjs from '@rollup/plugin-commonjs';
6+
import resolve from '@rollup/plugin-node-resolve';
7+
import postcss from 'rollup-plugin-postcss';
8+
import dynamicImportVars from '@rollup/plugin-dynamic-import-vars';
9+
import externals from 'rollup-plugin-node-externals';
10+
import esbuild from 'rollup-plugin-esbuild';
11+
import typescript2 from 'rollup-plugin-typescript2';
12+
13+
// ES Module equivalent for __dirname
14+
const __filename = fileURLToPath(import.meta.url);
15+
const __dirname = path.dirname(__filename);
16+
17+
const resolvePath = (str) => path.resolve(__dirname, str);
18+
19+
// common config settings
20+
const input = 'src/index.ts';
21+
const sourceMap = true;
22+
const tsconfig = 'tsconfig.dist.json';
23+
24+
// External dependencies that shouldn't be bundled
25+
const external = [
26+
'@aws-amplify/auth',
27+
'@aws-amplify/core',
28+
'@aws-amplify/core/internals/utils',
29+
'aws-amplify',
30+
'aws-amplify/auth',
31+
'aws-amplify/core',
32+
'aws-amplify/utils',
33+
'vue',
34+
'qrcode',
35+
'nanoid',
36+
'@vueuse/core',
37+
'@xstate/vue',
38+
'xstate'
39+
];
40+
41+
/**
42+
* @type {import('rollup').OutputOptions}
43+
*/
44+
const cjsOutput = {
45+
file: resolvePath('./dist/index.cjs'),
46+
format: 'cjs',
47+
exports: 'named',
48+
sourcemap: sourceMap,
49+
globals: { vue: 'Vue' }
50+
};
51+
52+
/**
53+
* @type {import('rollup').OutputOptions}
54+
*/
55+
const esmOutput = {
56+
file: resolvePath('./dist/index.js'),
57+
format: 'es',
58+
exports: 'named',
59+
sourcemap: sourceMap
60+
};
61+
62+
// Following React's approach with Vue-specific additions
63+
const config = defineConfig({
64+
input: resolvePath(input),
65+
output: [cjsOutput, esmOutput],
66+
external,
67+
plugins: [
68+
// Exclude test files and node_modules
69+
externals({
70+
exclude: ['tslib'],
71+
}),
72+
resolve({
73+
extensions: ['.js', '.ts', '.vue']
74+
}),
75+
commonjs(),
76+
// Vue-specific plugins
77+
vue({
78+
preprocessStyles: true,
79+
template: {
80+
isProduction: true
81+
}
82+
}),
83+
postcss({
84+
extract: 'style.css',
85+
minimize: true,
86+
sourceMap: true
87+
}),
88+
// Use typescript2 for proper declaration file generation
89+
typescript2({
90+
check: false,
91+
tsconfig: resolvePath(tsconfig),
92+
tsconfigOverride: {
93+
compilerOptions: {
94+
sourceMap: true,
95+
declaration: true,
96+
declarationMap: true,
97+
outDir: resolvePath('./dist'),
98+
declarationDir: resolvePath('./dist')
99+
},
100+
exclude: [
101+
"**/__tests__/**",
102+
"**/__mocks__/**",
103+
"**/*.spec.ts",
104+
"global-spec.ts",
105+
"node_modules"
106+
]
107+
}
108+
}),
109+
// Use esbuild for faster JavaScript transpilation
110+
esbuild({
111+
include: /\.[jt]sx?$/,
112+
exclude: /node_modules|__tests__|__mocks__/,
113+
sourceMap: true,
114+
target: 'es2015',
115+
tsconfig: resolvePath(tsconfig)
116+
}),
117+
dynamicImportVars
118+
]
119+
});
120+
121+
export default config;

packages/vue/src/components/authenticator.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,4 +363,4 @@ const hasRouteComponent = computed(() => {
363363
:signOut="signOut as any"
364364
:send="send as any"
365365
></slot>
366-
</template>
366+
</template>

packages/vue/src/components/confirm-reset-password.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,4 @@ function onBlur(e: Event) {
100100
</base-form>
101101
</base-wrapper>
102102
</slot>
103-
</template>
103+
</template>

packages/vue/src/components/confirm-sign-in.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,4 +95,4 @@ const onBackToSignInClicked = (): void => {
9595
</base-form>
9696
</base-wrapper>
9797
</slot>
98-
</template>
98+
</template>

packages/vue/src/components/confirm-sign-up.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,4 @@ const onLostCodeClicked = (): void => {
107107
</base-form>
108108
</base-wrapper>
109109
</slot>
110-
</template>
110+
</template>

packages/vue/src/components/confirm-verify-user.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,4 +90,4 @@ const onSkipClicked = (): void => {
9090
</base-form>
9191
</base-wrapper>
9292
</slot>
93-
</template>
93+
</template>

packages/vue/src/components/federated-sign-in.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,4 +130,4 @@ const orText = computed(() => getOrText());
130130
:data-label="orText"
131131
/>
132132
</base-wrapper>
133-
</template>
133+
</template>

0 commit comments

Comments
 (0)