123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- module.exports = function (grunt) {
- const version = grunt.config('pkg.version');
- const date = (new Date()).toISOString().replace(/:\d+\.\d+Z$/, 'Z');
-
- const banner = [
- `/**`,
- ` * Super simple wysiwyg editor v${version}`,
- ` * https://summernote.org`,
- ` *`,
- ` * Copyright 2013- Alan Hong. and other contributors`,
- ` * summernote may be freely distributed under the MIT license.`,
- ` *`,
- ` * Date: ${date}`,
- ` */`
- ].join('\n');
-
- const rollup = require('rollup');
- const rollupTypescript = require('rollup-plugin-typescript');
- const typescript = require('typescript');
- const replace = require('rollup-plugin-replace');
-
- const inputOptions = {
- external: ['jquery'],
- plugins: [
- rollupTypescript({
- typescript: typescript,
- include: ['**/*.js', '**/*.ts']
- }),
- replace({
- delimiters: ['@@', '@@'],
- VERSION: version
- })
- ]
- };
-
- const outputOptions = {
- banner,
- format: 'umd',
- sourcemap: true,
- globals: {
- 'jquery': 'jQuery'
- }
- };
- grunt.registerMultiTask('build', 'concatenate source: summernote.js', function () {
- const done = this.async();
-
- rollup.rollup(Object.assign(inputOptions, {
- input: this.data.input
- })).then((bundle) => {
- return bundle.write(Object.assign(outputOptions, {
- file: this.data.output
- }));
- }).then((result) => {
- done();
- }).catch((err) => {
- grunt.log.error(err);
- });
- });
- };
|