123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- var path = require('path')
- var HtmlWebpackPlugin = require('html-webpack-plugin')
- var webpack = require('webpack')
- module.exports = {
- entry: {
- 'osmd': './src/OSMD/OSMD.ts', // Main library
- 'demo': './demo/index.js' // Demo index
- },
- output: {
- path: path.resolve(__dirname, 'build'),
- filename: '[name].js'
- },
- resolve: {
- // Add '.ts' and '.tsx' as a resolvable extension.
- extensions: ['.webpack.js', '.web.js', '.ts', '.tsx', '.js']
- },
- module: {
- loaders: [
- // all files with a '.ts' or '.tsx' extension will be handled by 'ts-loader'
- {
- test: /\.ts$/,
- loader: 'ts-loader',
- exclude: /(node_modules|bower_components)/
- },
- // FIXME: TSLint loader is horribly slow therefore check only at beginning
- // https://github.com/wbuchwalter/tslint-loader/issues/76
- // // ts lint loader. will pre-lint the ts files
- // {
- // test: /\.ts$/,
- // enforce: 'pre',
- // loader: 'tslint-loader',
- // options: {
- // typeCheck: true
- // }
- // },
- // For html loader generation
- {
- test: /\.html$/,
- loader: 'underscore-template-loader'
- },
- {
- test: /\.(jpg|jpeg|gif|png|ico)$/,
- exclude: /node_modules/,
- loader: 'file-loader?name=img/[path][name].[ext]&context=./app/images'
- }
- ]
- },
- plugins: [
- new webpack.ProvidePlugin({
- $: 'jquery',
- jQuery: 'jquery'
- }),
- new webpack.EnvironmentPlugin({
- STATIC_FILES_SUBFOLDER: false, // Set to other directory if NOT using webpack-dev-server
- NODE_ENV: 'development', // use 'development' unless process.env.NODE_ENV is defined
- DEBUG: false,
- DRAW_BOUNDING_BOX_ELEMENT: false // Specifies the element to draw bounding boxes for (e.g. 'GraphicalLabels'). If 'all', bounding boxes are drawn for all elements.
- }),
- // add a demo page to the build folder
- new HtmlWebpackPlugin({
- template: 'demo/index.html',
- title: 'OpenSheetMusicDisplay Demo'
- })
- ],
- devServer: {
- contentBase: [
- path.join(__dirname, 'test/data'),
- path.join(__dirname, 'build'),
- path.join(__dirname, 'demo')
- ],
- port: 8000,
- compress: false
- }
- }
|