mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-06 03:50:26 +02:00
First draft to use webpack instead of systemjs
This commit is contained in:
parent
4688925411
commit
4a6995be18
73 changed files with 888 additions and 1066 deletions
159
client/config/webpack.dev.js
Normal file
159
client/config/webpack.dev.js
Normal file
|
@ -0,0 +1,159 @@
|
|||
const helpers = require('./helpers')
|
||||
const webpackMerge = require('webpack-merge') // used to merge webpack configs
|
||||
const commonConfig = require('./webpack.common.js') // the settings that are common to prod and dev
|
||||
|
||||
/**
|
||||
* Webpack Plugins
|
||||
*/
|
||||
const DefinePlugin = require('webpack/lib/DefinePlugin')
|
||||
|
||||
/**
|
||||
* Webpack Constants
|
||||
*/
|
||||
const ENV = process.env.ENV = process.env.NODE_ENV = 'development'
|
||||
const HMR = helpers.hasProcessFlag('hot')
|
||||
const METADATA = webpackMerge(commonConfig.metadata, {
|
||||
host: 'localhost',
|
||||
port: 3000,
|
||||
ENV: ENV,
|
||||
HMR: HMR
|
||||
})
|
||||
|
||||
/**
|
||||
* Webpack configuration
|
||||
*
|
||||
* See: http://webpack.github.io/docs/configuration.html#cli
|
||||
*/
|
||||
module.exports = webpackMerge(commonConfig, {
|
||||
/**
|
||||
* Merged metadata from webpack.common.js for index.html
|
||||
*
|
||||
* See: (custom attribute)
|
||||
*/
|
||||
metadata: METADATA,
|
||||
|
||||
/**
|
||||
* Switch loaders to debug mode.
|
||||
*
|
||||
* See: http://webpack.github.io/docs/configuration.html#debug
|
||||
*/
|
||||
debug: true,
|
||||
|
||||
/**
|
||||
* Developer tool to enhance debugging
|
||||
*
|
||||
* See: http://webpack.github.io/docs/configuration.html#devtool
|
||||
* See: https://github.com/webpack/docs/wiki/build-performance#sourcemaps
|
||||
*/
|
||||
devtool: 'cheap-module-source-map',
|
||||
|
||||
/**
|
||||
* Options affecting the output of the compilation.
|
||||
*
|
||||
* See: http://webpack.github.io/docs/configuration.html#output
|
||||
*/
|
||||
output: {
|
||||
/**
|
||||
* The output directory as absolute path (required).
|
||||
*
|
||||
* See: http://webpack.github.io/docs/configuration.html#output-path
|
||||
*/
|
||||
path: helpers.root('dist'),
|
||||
|
||||
/**
|
||||
* Specifies the name of each output file on disk.
|
||||
* IMPORTANT: You must not specify an absolute path here!
|
||||
*
|
||||
* See: http://webpack.github.io/docs/configuration.html#output-filename
|
||||
*/
|
||||
filename: '[name].bundle.js',
|
||||
|
||||
/**
|
||||
* The filename of the SourceMaps for the JavaScript files.
|
||||
* They are inside the output.path directory.
|
||||
*
|
||||
* See: http://webpack.github.io/docs/configuration.html#output-sourcemapfilename
|
||||
*/
|
||||
sourceMapFilename: '[name].map',
|
||||
|
||||
/** The filename of non-entry chunks as relative path
|
||||
* inside the output.path directory.
|
||||
*
|
||||
* See: http://webpack.github.io/docs/configuration.html#output-chunkfilename
|
||||
*/
|
||||
chunkFilename: '[id].chunk.js',
|
||||
|
||||
publicPath: '/client/'
|
||||
|
||||
},
|
||||
|
||||
plugins: [
|
||||
|
||||
/**
|
||||
* Plugin: DefinePlugin
|
||||
* Description: Define free variables.
|
||||
* Useful for having development builds with debug logging or adding global constants.
|
||||
*
|
||||
* Environment helpers
|
||||
*
|
||||
* See: https://webpack.github.io/docs/list-of-plugins.html#defineplugin
|
||||
*/
|
||||
// NOTE: when adding more properties, make sure you include them in custom-typings.d.ts
|
||||
new DefinePlugin({
|
||||
'ENV': JSON.stringify(METADATA.ENV),
|
||||
'HMR': METADATA.HMR,
|
||||
'process.env': {
|
||||
'ENV': JSON.stringify(METADATA.ENV),
|
||||
'NODE_ENV': JSON.stringify(METADATA.ENV),
|
||||
'HMR': METADATA.HMR
|
||||
}
|
||||
})
|
||||
],
|
||||
|
||||
/**
|
||||
* Static analysis linter for TypeScript advanced options configuration
|
||||
* Description: An extensible linter for the TypeScript language.
|
||||
*
|
||||
* See: https://github.com/wbuchwalter/tslint-loader
|
||||
*/
|
||||
tslint: {
|
||||
emitErrors: false,
|
||||
failOnHint: false,
|
||||
resourcePath: 'src'
|
||||
},
|
||||
|
||||
/**
|
||||
* Webpack Development Server configuration
|
||||
* Description: The webpack-dev-server is a little node.js Express server.
|
||||
* The server emits information about the compilation state to the client,
|
||||
* which reacts to those events.
|
||||
*
|
||||
* See: https://webpack.github.io/docs/webpack-dev-server.html
|
||||
*/
|
||||
devServer: {
|
||||
port: METADATA.port,
|
||||
host: METADATA.host,
|
||||
historyApiFallback: true,
|
||||
watchOptions: {
|
||||
aggregateTimeout: 300,
|
||||
poll: 1000
|
||||
},
|
||||
outputPath: helpers.root('dist')
|
||||
},
|
||||
|
||||
/*
|
||||
* Include polyfills or mocks for various node stuff
|
||||
* Description: Node configuration
|
||||
*
|
||||
* See: https://webpack.github.io/docs/configuration.html#node
|
||||
*/
|
||||
node: {
|
||||
global: 'window',
|
||||
crypto: 'empty',
|
||||
process: true,
|
||||
module: false,
|
||||
clearImmediate: false,
|
||||
setImmediate: false
|
||||
}
|
||||
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue