UNPKG

opal-components

Version:

[Rionite](https://github.com/Riim/Rionite) component set.

154 lines (141 loc) 3.34 kB
const path = require('path'); const webpack = require('webpack'); const postcssCSSVariables = require('postcss-css-variables'); const postcssRioniteComponent = require('@riim/postcss-rionite-component'); const postcssNested = require('postcss-nested'); const postcssColorFunction = require('postcss-color-function'); const autoprefixer = require('autoprefixer'); const csso = require('postcss-csso'); module.exports = env => { if (!env) { env = {}; } let plugins = [ new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV) }) ]; return { mode: 'none', entry: { OpalComponents: './src/index.ts' }, output: { path: path.join(__dirname, 'dist'), filename: '[name].js', library: '[name]', libraryTarget: 'umd' }, module: { rules: [ { test: /\.ts$/, exclude: /(?:node_modules|bower_components)/, enforce: 'pre', loader: 'tslint-loader' }, { test: /\.ts$/, exclude: /(?:node_modules|bower_components)/, loader: 'awesome-typescript-loader' }, { test: /\.nelm$/, loader: ['raw-loader', 'trim-lines-loader', 'collapse-line-breaks-loader'] }, { test: /\.css$/, loader: [ 'simple-css-loader', { loader: 'postcss-loader', options: { plugins: [ postcssCSSVariables(), postcssRioniteComponent(), postcssNested(), postcssColorFunction(), autoprefixer({ browsers: ['last 3 versions'] }), csso({ restructure: false }) ] } } ] }, { test: /\.svg$/, loader: 'simple-svg-loader' } ] }, resolve: { extensions: ['.ts', '.js'] }, context: __dirname, externals: [ '@riim/debounce-throttle', '@riim/gettext', '@riim/kebab-case', '@riim/map-set-polyfill', '@riim/next-tick', '@riim/next-uid', '@riim/object-assign-polyfill', '@riim/platform', '@riim/rionite-snake-case-attribute-name', 'cellx', 'cellx-decorators', 'date-exists', 'history', 'history/createBrowserHistory', 'reflect-metadata', 'rionite', '@riim/opal-autosuggest', '@riim/opal-button', '@riim/opal-calendar', '@riim/opal-checkbox', '@riim/opal-date-input', '@riim/opal-dropdown', '@riim/opal-editable-text', '@riim/opal-filtered-list', '@riim/opal-focus-highlight-controller', '@riim/opal-group', '@riim/opal-icon', '@riim/opal-input-mask', '@riim/opal-input-validator', '@riim/opal-loaded-list', '@riim/opal-loader', '@riim/opal-modal', '@riim/opal-multirow', '@riim/opal-multiselect', '@riim/opal-notification', '@riim/opal-popover', '@riim/opal-radio-group', '@riim/opal-router', '@riim/opal-select', '@riim/opal-select-validator', '@riim/opal-sign-button', '@riim/opal-slider', '@riim/opal-switch', '@riim/opal-switch-menu', '@riim/opal-tabs', '@riim/opal-tag-select', '@riim/opal-text-input', '@riim/opal-text-input-validator', '@riim/opal-tree-list', '@riim/opal-tree-select', '@riim/opal-tree-tag-select', '@riim/opal-utils' ], plugins, watch: env.dev, node: { console: false, global: false, process: false, __filename: false, __dirname: false, Buffer: false, setImmediate: false } }; };