| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- // rollup.config.js
- import commonjs from '@rollup/plugin-commonjs';
- import json from '@rollup/plugin-json';
- import resolve from '@rollup/plugin-node-resolve';
- import typescript from '@rollup/plugin-typescript';
- import license from 'rollup-plugin-license'
- import packageJson from './package.json' assert {type: 'json'};
- import path from 'node:path'
- import {fileURLToPath} from 'node:url';
- import postcss from 'rollup-plugin-postcss'
- import replace from '@rollup/plugin-replace'
- import terser from "@rollup/plugin-terser";
-
- const __filename = fileURLToPath(import.meta.url);
- const __dirname = path.dirname(__filename);
-
- const {name, version, author} = packageJson
- // const {main, module, browser} = packageJson["clean-package"].replace
- const isProduction = process.env.NODE_ENV === 'production'
-
- const settings = {
- globals: {
- "threepipe": "threepipe",
- "three": "threepipe"
- },
- sourcemap: true
- }
-
- export default {
- input: './src/index.ts',
- output: [
- // {
- // file: main,
- // name: main,
- // ...settings,
- // format: 'cjs',
- // plugins: [
- // isProduction && terser()
- // ]
- // },
- {
- file: './dist/index.mjs',
- ...settings,
- name: name,
- format: 'es',
- plugins: [
- isProduction && terser()
- ]
- },
- // {
- // file: './dist/index.js',
- // ...settings,
- // name: name,
- // format: 'umd',
- // plugins: [
- // isProduction && terser()
- // ]
- // }
- ],
- external: Object.keys(settings.globals),
- plugins: [
- replace({
- 'from \'three\'': 'from \'threepipe\'',
- delimiters: ['', ''],
- preventAssignment: true,
- }),
- replace({
- 'process.env.NODE_ENV': JSON.stringify('production'),
- preventAssignment: true,
- }),
- postcss({
- modules: false,
- autoModules: true, // todo; issues with typescript import css, because inject is false
- inject: false,
- minimize: isProduction,
- // Or with custom options for `postcss-modules`
- }),
- json(),
- resolve({}),
- typescript({
- }),
- commonjs({
- include: 'node_modules/**',
- extensions: ['.js'],
- ignoreGlobal: false,
- sourceMap: false
- }),
- license({
- banner: `
- @license
- ${name} v${version}
- Copyright 2022<%= moment().format('YYYY') > 2022 ? '-' + moment().format('YYYY') : null %> ${author}
- ${packageJson.license} License
- See ./dependencies.txt for any bundled third-party dependencies and licenses.
- `,
- thirdParty: {
- output: path.join(__dirname, 'dist', 'dependencies.txt'),
- includePrivate: true, // Default is false.
- },
- })
- ]
- }
|