fix overlayscrollbars-solid ssr

This commit is contained in:
Rene Haas
2022-11-25 10:51:18 +01:00
parent 55218f9a49
commit 3b6843efde
6 changed files with 48 additions and 55 deletions
@@ -41,9 +41,7 @@
"vite-plugin-solid": "^2.3.0"
},
"scripts": {
"build": "run-p build-js build-types",
"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",
"build": "vite build",
"test": "vitest run --coverage"
},
"sideEffects": false
@@ -1,9 +0,0 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"rootDir": "./src/",
"outDir": "./dist/types",
"declaration": true
},
"include": ["src/**/*"]
}
@@ -1,19 +0,0 @@
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,
},
}),
],
});
@@ -1,15 +1,20 @@
import { resolve } from 'node:path';
import ts from 'typescript';
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 const base = defineConfig({
const entry = resolve(__dirname, 'src/overlayscrollbars-solid.ts');
export default defineConfig({
build: {
sourcemap: true,
outDir: 'dist',
lib: {
entry: resolve(__dirname, 'src/overlayscrollbars-solid.ts'),
entry,
formats: ['es', 'cjs'],
name: 'OverlayScrollbarsSolid',
fileName: (format) => `overlayscrollbars-solid.${format}.js`,
},
@@ -48,6 +53,16 @@ export const base = defineConfig({
main: 'overlayscrollbars-solid.cjs.js',
module: 'overlayscrollbars-solid.es.js',
types: 'types/overlayscrollbars-solid.d.ts',
exports: {
'.': {
types: './types/overlayscrollbars-solid.d.ts',
solid: './source/overlayscrollbars-solid.js',
import: './overlayscrollbars-solid.es.js',
browser: './overlayscrollbars-solid.es.js',
require: './overlayscrollbars-solid.cjs.js',
node: './overlayscrollbars-solid.cjs.js',
},
},
peerDependencies,
sideEffects: false,
};
@@ -56,5 +71,33 @@ export const base = defineConfig({
],
},
},
plugins: [esbuildResolve()],
plugins: [
esbuildResolve(),
solidPlugin({
solid: {
generate: 'dom',
hydratable: true,
},
}),
{
name: 'ts',
closeBundle() {
const program = ts.createProgram([entry], {
target: ts.ScriptTarget.ESNext,
module: ts.ModuleKind.ESNext,
moduleResolution: ts.ModuleResolutionKind.NodeJs,
jsx: ts.JsxEmit.Preserve,
jsxImportSource: 'solid-js',
allowSyntheticDefaultImports: true,
esModuleInterop: true,
outDir: `dist/source`,
declarationDir: `dist/types`,
declaration: true,
allowJs: true,
});
program.emit();
},
},
],
});
@@ -1,20 +0,0 @@
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.client';
import viteConfig from './vite.config';
export default mergeConfig(
{