implement ssr support for overlayscrollbars-solid

This commit is contained in:
Rene Haas
2022-11-23 21:21:30 +01:00
parent 309ddd7a90
commit 55218f9a49
8 changed files with 54 additions and 15 deletions
@@ -42,7 +42,7 @@
},
"scripts": {
"build": "run-p build-js build-types",
"build-js": "vite build",
"build-js": "vite build --config vite.config.client.js && vite build --config vite.config.server.js",
"build-types": "tsc --emitDeclarationOnly -p tsconfig.types.json --composite false",
"test": "vitest run --coverage"
},
@@ -1,16 +1,14 @@
import { resolve } from 'node:path';
import { defineConfig } from 'vite';
import { esbuildResolve } from 'rollup-plugin-esbuild-resolve';
import solidPlugin from 'vite-plugin-solid';
import rollupPluginPackageJson from '@~local/rollup/plugin/packageJson';
import rollupPluginCopy from '@~local/rollup/plugin/copy';
export default defineConfig({
export const base = defineConfig({
build: {
sourcemap: true,
outDir: 'dist',
lib: {
formats: ['es', 'cjs'],
entry: resolve(__dirname, 'src/overlayscrollbars-solid.ts'),
name: 'OverlayScrollbarsSolid',
fileName: (format) => `overlayscrollbars-solid.${format}.js`,
@@ -58,5 +56,5 @@ export default defineConfig({
],
},
},
plugins: [esbuildResolve(), solidPlugin()],
plugins: [esbuildResolve()],
});
@@ -0,0 +1,19 @@
import { mergeConfig } from 'vite';
import solidPlugin from 'vite-plugin-solid';
import { base } from './vite.config.base';
export default mergeConfig(base, {
build: {
lib: {
formats: ['es'],
},
},
plugins: [
solidPlugin({
solid: {
generate: 'dom',
hydratable: true,
},
}),
],
});
@@ -0,0 +1,20 @@
import { mergeConfig } from 'vite';
import solidPlugin from 'vite-plugin-solid';
import { base } from './vite.config.base';
export default mergeConfig(base, {
build: {
emptyOutDir: false,
lib: {
formats: ['cjs'],
},
},
plugins: [
solidPlugin({
solid: {
generate: 'ssr',
hydratable: true,
},
}),
],
});
@@ -1,6 +1,6 @@
import { mergeConfig } from 'vite';
import vitestConfig from '@~local/config/vitest';
import viteConfig from './vite.config';
import viteConfig from './vite.config.client';
export default mergeConfig(
{