Skip to content

Commit

Permalink
feat: revert previous and turn off treeshaking by default.
Browse files Browse the repository at this point in the history
  • Loading branch information
diffidentDude committed Feb 3, 2025
1 parent ab1f427 commit 8421241
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 53 deletions.
1 change: 0 additions & 1 deletion packages/package-bundler/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
"@rollup/plugin-typescript": "^12.1.2",
"babel-plugin-pure-static-props": "^0.2.0",
"concat-cli": "^4.0.0",
"lodash.merge": "^4.6.2",
"rollup-plugin-ignore": "^1.0.10",
"rollup-plugin-node-externals": "^7.1.3",
"rollup-plugin-postcss": "^4.0.2",
Expand Down
108 changes: 59 additions & 49 deletions packages/package-bundler/src/rollup.ts
Original file line number Diff line number Diff line change
@@ -1,69 +1,79 @@
import fs from 'fs'
import path from 'path'
import typescript from '@rollup/plugin-typescript'
import merge from 'lodash.merge'
import { type InputPluginOption, type RollupOptions } from 'rollup'
import { pluginsDefault } from './presets/index.js'
import { rollupTailwindConfig } from './presets/shared-ui/rollup-tailwind.js'

type Config = {
input?: RollupOptions['input']
plugins?: InputPluginOption[]
}

export const rollupConfig = (
userConfig: RollupOptions = {
config: Config = {
input: { index: './src/index.ts' },
plugins: pluginsDefault as InputPluginOption[],
},
): RollupOptions[] => {
// Shared config
const userConfig = {
input: config.input,
plugins: config?.plugins ?? pluginsDefault,
} satisfies RollupOptions

// CommonJS
const cjsConfig: RollupOptions = merge(
{
plugins: [
typescript({
tsconfig: './tsconfig.dist.json',
compilerOptions: {
esModuleInterop: false,
allowSyntheticDefaultImports: true,
},
}),
],
output: {
dir: 'dist/cjs',
format: 'commonjs',
preserveModules: true,
entryFileNames: '[name].cjs',
interop: 'auto',
},
const cjsConfig = {
...userConfig,
treeshake: false,
plugins: [
...userConfig.plugins,
typescript({
tsconfig: './tsconfig.dist.json',
compilerOptions: {
esModuleInterop: false,
allowSyntheticDefaultImports: true,
},
}),
],
output: {
dir: 'dist/cjs',
format: 'commonjs',
preserveModules: true,
entryFileNames: '[name].cjs',
interop: 'auto',
},
userConfig,
)
} satisfies RollupOptions

// ESModules
const esmConfig: RollupOptions = merge(
{
plugins: [
typescript({
tsconfig: './tsconfig.dist.json',
compilerOptions: {
declaration: true,
declarationDir: 'dist/esm/_tmp/types',
noEmit: false,
plugins: [
{ transform: 'typescript-transform-paths' },
{
transform: 'typescript-transform-paths',
afterDeclarations: true,
},
],
},
}),
],
output: {
dir: 'dist/esm',
format: 'esm',
preserveModules: true,
entryFileNames: '[name].mjs',
},
const esmConfig = {
...userConfig,
treeshake: false,
plugins: [
...userConfig.plugins,
typescript({
tsconfig: './tsconfig.dist.json',
compilerOptions: {
declaration: true,
declarationDir: 'dist/esm/_tmp/types',
noEmit: false,
plugins: [
{ transform: 'typescript-transform-paths' },
{
transform: 'typescript-transform-paths',
afterDeclarations: true,
},
],
},
}),
],
output: {
dir: 'dist/esm',
format: 'esm',
preserveModules: true,
entryFileNames: '[name].mjs',
},
userConfig,
)
} satisfies RollupOptions

const hasTailwind = fs.existsSync(path.resolve(process.cwd(), './tailwind.config.js'))

Expand Down
3 changes: 0 additions & 3 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 8421241

Please sign in to comment.