1 | const gulp = require('gulp');
|
2 | const sass = require('node-sass');
|
3 | const inlineTemplates = require('gulp-inline-ng2-template');
|
4 | const exec = require('child_process').exec;
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | const INLINE_TEMPLATES = {
|
11 | SRC: './src/**/*.ts',
|
12 | DIST: './tmp/src-inlined',
|
13 | CONFIG: {
|
14 | base: '/src',
|
15 | target: 'es6',
|
16 | useRelativePaths: true,
|
17 | styleProcessor: compileSass
|
18 | }
|
19 | };
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 | gulp.task('inline-templates', () => {
|
26 | return gulp.src(INLINE_TEMPLATES.SRC)
|
27 | .pipe(inlineTemplates(INLINE_TEMPLATES.CONFIG))
|
28 | .pipe(gulp.dest(INLINE_TEMPLATES.DIST));
|
29 | });
|
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 | gulp.task('build:esm', ['inline-templates'], (callback) => {
|
37 | exec('npm run ngcompile', function (error, stdout, stderr) {
|
38 | console.log(stdout, stderr);
|
39 | callback(error)
|
40 | });
|
41 | });
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48 | gulp.task('build:esm:watch', ['build:esm'], () => {
|
49 | gulp.watch('src/**/*', ['build:esm']);
|
50 | });
|
51 |
|
52 |
|
53 |
|
54 |
|
55 |
|
56 |
|
57 | function compileSass(path, ext, file, callback) {
|
58 | let compiledCss = sass.renderSync({
|
59 | file: path,
|
60 | outputStyle: 'compressed',
|
61 | });
|
62 | callback(null, compiledCss.css);
|
63 | }
|