summaryrefslogtreecommitdiff
path: root/webpack/module/rules/license.ts
blob: 1795af960d3532542d4965f7865ff1ba22e86191 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
 * Inject license
 */

import * as fs from 'fs';
const StringReplacePlugin = require('string-replace-webpack-plugin');

const license = fs.readFileSync(__dirname + '/../../../LICENSE', 'utf-8')
	.replace(/\r\n/g, '\n')
	.replace(/(.)\n(.)/g, '$1 $2')
	.replace(/(^|\n)(.*?)($|\n)/g, '<p>$2</p>');

export default () => ({
	enforce: 'pre',
	test: /\.(tag|js)$/,
	exclude: /node_modules/,
	loader: StringReplacePlugin.replace({
		replacements: [{
			pattern: '%license%', replacement: () => license
		}]
	})
});