Skip to content

Commit e899020

Browse files
committed
separate ssr safe modules
1 parent c114723 commit e899020

File tree

4 files changed

+29
-18
lines changed

4 files changed

+29
-18
lines changed

package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bootstrap-vue-wrapper",
3-
"version": "2.2.1",
3+
"version": "2.2.2",
44
"description": "Bootstrap 5 components in Vue3 wrapper.",
55
"module": "./dist/index.js",
66
"types": "./dist/index.d.ts",
@@ -12,6 +12,10 @@
1212
".": {
1313
"import": "./dist/index.js",
1414
"types": "./dist/index.d.ts"
15+
},
16+
"./ssr-safe": {
17+
"import": "./dist/ssr-safe.js",
18+
"types": "./dist/ssr-safe.d.ts"
1519
}
1620
},
1721
"files": [

src/index.ts

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
1-
export { default as BsBreadcrumb } from './components/bs-breadcrumb/BsBreadcrumb.vue'
2-
export { default as BsForm } from '@/components/bs-form/BsForm.vue'
3-
export { default as BsInput } from '@/components/bs-input/BsInput.vue'
4-
export { default as BsCheckbox } from '@/components/bs-checkbox/BsCheckbox.vue'
5-
export { default as BsTextarea } from '@/components/bs-textarea/BsTextarea.vue'
6-
export { default as BsPaginator } from '@/components/bs-paginator/BsPaginator.vue'
7-
export { default as BsTable } from '@/components/bs-table/BsTable.vue'
8-
export { default as BsToast } from '@/components/bs-toast/BsToast.vue'
9-
export { default as BsModal } from '@/components/bs-modal/BsModal.vue'
10-
export { default as BsSelect } from '@/components/bs-select/BsSelect.vue'
11-
export { default as BsRadio } from '@/components/bs-radio/BsRadio.vue'
12-
export { default as BsOffcanvas } from '@/components/bs-offcanvas/BsOffcanvas.vue'
13-
export type { default as BreadCrumbItem } from '@/types/BreadcrumbItem.ts'
14-
export type { default as Option } from '@/types/Option.ts'
15-
export type { default as Field } from '@/types/Field.ts'
16-
export { useValidator } from '@/components/validator/Validator.ts'
1+
export * from './ssr-safe'
2+
3+
// These components are not SSR-safe, so they should not be used in server-side rendering contexts.
4+
export { default as BsToast } from './components/bs-toast/BsToast.vue'
5+
export { default as BsModal } from './components/bs-modal/BsModal.vue'
6+
export { default as BsOffcanvas } from './components/bs-offcanvas/BsOffcanvas.vue'

src/ssr-safe.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
export { default as BsBreadcrumb } from './components/bs-breadcrumb/BsBreadcrumb.vue'
2+
export { default as BsForm } from './components/bs-form/BsForm.vue'
3+
export { default as BsInput } from './components/bs-input/BsInput.vue'
4+
export { default as BsCheckbox } from './components/bs-checkbox/BsCheckbox.vue'
5+
export { default as BsTextarea } from './components/bs-textarea/BsTextarea.vue'
6+
export { default as BsPaginator } from './components/bs-paginator/BsPaginator.vue'
7+
export { default as BsTable } from './components/bs-table/BsTable.vue'
8+
export { default as BsSelect } from './components/bs-select/BsSelect.vue'
9+
export { default as BsRadio } from './components/bs-radio/BsRadio.vue'
10+
11+
export type { default as BreadCrumbItem } from './types/BreadcrumbItem.ts'
12+
export type { default as Option } from './types/Option.ts'
13+
export type { default as Field } from './types/Field.ts'
14+
export { useValidator } from './components/validator/Validator.ts'

vite.config.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ export default defineConfig({
1212
},
1313
build: {
1414
lib: {
15-
entry: resolve(__dirname, 'src/index.ts'),
15+
entry: {
16+
index: resolve(__dirname, 'src/index.ts'),
17+
'ssr-safe': resolve(__dirname, 'src/ssr-safe.ts'),
18+
},
1619
formats: ['es'],
1720
name: 'BootstrapVueWrapper',
1821
fileName: 'bootstrap-vue-wrapper',

0 commit comments

Comments
 (0)