12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- const path = require('path');
- const ExtraWatchWebpackPlugin = require('extra-watch-webpack-plugin');
- const MiniCssExtractPlugin = require('mini-css-extract-plugin');
- // const CircularDependencyPlugin = require('circular-dependency-plugin');
- const sharedConfig = {
- module: {
- rules: [
- {
- loader: 'raw-loader',
- test: /\.(glsl|frag|vert)$/,
- include: [ path.resolve(__dirname, 'build/src/') ],
- },
- {
- loader: 'glslify-loader',
- test: /\.(glsl|frag|vert)$/,
- include: [ path.resolve(__dirname, 'build/src/') ]
- },
- {
- loader: 'file-loader',
- test: /\.(woff2?|ttf|otf|eot|svg|html)$/,
- include: [ path.resolve(__dirname, 'build/src/') ],
- options: {
- name: '[name].[ext]'
- }
- },
- {
- test:/\.(s*)css$/,
- use: [ MiniCssExtractPlugin.loader, 'css-loader', 'resolve-url-loader', 'sass-loader' ]
- }
- ]
- },
- plugins: [
- // new CircularDependencyPlugin({
- // include: [ path.resolve(__dirname, 'build/src/') ],
- // failOnError: false,
- // cwd: process.cwd(),
- // }),
- new ExtraWatchWebpackPlugin({
- files: [
- './build/src/**/*.vert',
- './build/src/**/*.frag',
- './build/src/**/*.glsl',
- './build/src/**/*.scss',
- './build/src/**/*.html'
- ],
- }),
- new MiniCssExtractPlugin({ filename: 'app.css' })
- ],
- resolve: {
- modules: [
- 'node_modules',
- path.resolve(__dirname, 'build/src/')
- ],
- }
- }
- function createEntryPoint(name, dir, out) {
- return {
- entry: path.resolve(__dirname, `build/src/${dir}/${name}.js`),
- output: { filename: `${name}.js`, path: path.resolve(__dirname, `build/${out}`) },
- ...sharedConfig
- }
- }
- function createApp(name) { return createEntryPoint('index', `apps/${name}`, name) }
- function createBrowserTest(name) { return createEntryPoint(name, 'tests/browser', 'tests') }
- module.exports = [
- createApp('viewer'),
- createApp('model-server-query'),
- createBrowserTest('font-atlas'),
- createBrowserTest('render-text'),
- createBrowserTest('render-shape'),
- createBrowserTest('render-spheres'),
- createBrowserTest('render-mesh')
- ]
|