Advertisement
Guest User

Untitled

a guest
Sep 3rd, 2020
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import resolve from '@rollup/plugin-node-resolve';
  2. import replace from '@rollup/plugin-replace';
  3. import commonjs from '@rollup/plugin-commonjs';
  4. import svelte from 'rollup-plugin-svelte';
  5. import babel from '@rollup/plugin-babel';
  6. import { terser } from 'rollup-plugin-terser';
  7. import config from 'sapper/config/rollup.js';
  8. import pkg from './package.json';
  9. //import importResolver from "rollup-plugin-import-resolver";
  10. import sveltePreprocess from 'svelte-preprocess';
  11. import aliasPlugin from '@rollup/plugin-alias';
  12.  
  13. const mode = process.env.NODE_ENV;
  14. const dev = mode === 'development';
  15. const legacy = !!process.env.SAPPER_LEGACY_BUILD;
  16.  
  17. const onwarn = (warning, onwarn) =>
  18.     (warning.code === 'MISSING_EXPORT' && /'preload'/.test(warning.message)) ||
  19.     (warning.code === 'CIRCULAR_DEPENDENCY' && /[/\\]@sapper[/\\]/.test(warning.message)) ||
  20.     onwarn(warning);
  21.  
  22.  
  23. const tailwindConfig = require('./tailwind.config.js');
  24. const { theme } = (tailwindConfig || {});
  25. const tailwinded = {
  26.     screens: theme.screens, colors: theme.colors,
  27.     spacing: theme.spacing, boxShadow: theme.boxShadow,
  28.     fontFamily: theme.fontFamily, fontSize: theme.fontSize, fontWeight: theme.fontWeight
  29. };
  30. const preprocess = sveltePreprocess({ postcss: true });
  31. const aliases = aliasPlugin({
  32.     //resolve: ['.svelte', '.js', '.ts', '.png', '.jpg', '.jpeg', '.gif', '.svg', '.html'],
  33.     entries: [
  34.  
  35.         {find: /^%$/, replacement: './src/components/index.js'},
  36.         {find: /^&$/, replacement: './src/const/index.js'},
  37.  
  38.         {find: /^\$$/, replacement: './src/store/index.js'},
  39.         {find: /^~$/, replacement: './src/utils/index.js'},
  40.  
  41.         {find: /^%/, replacement: './src/components/'},
  42.  
  43.         {find: /^#/, replacement: './static/'},
  44.  
  45.     ]
  46. });
  47. /*const alias = {
  48.     ':': './src/actions/index.js',
  49.     '?': './src/api/index.js',
  50.     '@': './src/components/index.js',
  51.     '*': './src/routes/index.js',
  52.     '$': './src/store/index.js',
  53.     '&': './src/utils/index.js',
  54.     '#': './static'
  55. };
  56. const importResolve = importResolver({
  57.     // a list of file extensions to check, default = ['.js']
  58.     extensions: ['.js', '.ts'],
  59.     // a list of aliases, default = {}
  60.     //alias,
  61.     // index file name without extension, default = 'index'
  62.     indexFile: 'index',
  63. });*/
  64.  
  65. export default {
  66.     client: {
  67.         input: config.client.input(),
  68.         output: config.client.output(),
  69.         plugins: [
  70.             replace({
  71.                 'process.browser': true,
  72.                 'process.env.NODE_ENV': JSON.stringify(mode),
  73.                 'tailwinded': JSON.stringify(tailwinded)
  74.             }),
  75.             aliases,
  76.             svelte({
  77.                 preprocess,
  78.                 dev,
  79.                 hydratable: true,
  80.                 emitCss: true
  81.             }),
  82.             //importResolve,
  83.             resolve({
  84.                 browser: true,
  85.                 dedupe: ['svelte']
  86.             }),
  87.             commonjs(),
  88.  
  89.             legacy && babel({
  90.                 extensions: ['.js', '.mjs', '.html', '.svelte'],
  91.                 babelHelpers: 'runtime',
  92.                 exclude: ['node_modules/@babel/**'],
  93.                 presets: [
  94.                     ['@babel/preset-env', {
  95.                         targets: '> 0.25%, not dead'
  96.                     }]
  97.                 ],
  98.                 plugins: [
  99.                     '@babel/plugin-syntax-dynamic-import',
  100.                     ['@babel/plugin-transform-runtime', {
  101.                         useESModules: true
  102.                     }]
  103.                 ]
  104.             }),
  105.  
  106.             !dev && terser({
  107.                 module: true
  108.             })
  109.         ],
  110.  
  111.         preserveEntrySignatures: false,
  112.         onwarn,
  113.     },
  114.  
  115.     server: {
  116.         input: config.server.input(),
  117.         output: config.server.output(),
  118.         plugins: [
  119.             replace({
  120.                 'process.browser': false,
  121.                 'process.env.NODE_ENV': JSON.stringify(mode),
  122.                 'tailwinded': JSON.stringify(tailwinded)
  123.             }),
  124.             aliases,
  125.             svelte({
  126.                 preprocess,
  127.                 generate: 'ssr',
  128.                 hydratable: true,
  129.                 dev
  130.             }),
  131.             //importResolve,
  132.             resolve({
  133.                 dedupe: ['svelte']
  134.             }),
  135.             commonjs()
  136.         ],
  137.         external: Object.keys(pkg.dependencies).concat(require('module').builtinModules),
  138.  
  139.         preserveEntrySignatures: 'strict',
  140.         onwarn,
  141.     },
  142.  
  143.     serviceworker: {
  144.         input: config.serviceworker.input(),
  145.         output: config.serviceworker.output(),
  146.         plugins: [
  147.             resolve(),
  148.             replace({
  149.                 'process.browser': true,
  150.                 'process.env.NODE_ENV': JSON.stringify(mode)
  151.             }),
  152.             commonjs(),
  153.             !dev && terser()
  154.         ],
  155.  
  156.         preserveEntrySignatures: false,
  157.         onwarn,
  158.     }
  159. };
  160.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement