.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / postcss / gulpfile.js
1 'use strict';
2
3 const gulp = require('gulp');
4
5 gulp.task('clean', () => {
6     let del = require('del');
7     return del(['lib/*.js', 'postcss.js', 'build/', 'api/']);
8 });
9
10 // Build
11
12 gulp.task('compile', () => {
13     let sourcemaps = require('gulp-sourcemaps');
14     let changed    = require('gulp-changed');
15     let babel      = require('gulp-babel');
16     return gulp.src('lib/*.es6')
17         .pipe(changed('lib', { extension: '.js' }))
18         .pipe(sourcemaps.init())
19         .pipe(babel({
20             presets: [
21                 [
22                     'env',
23                     {
24                         targets: {
25                             browsers: 'last 2 version',
26                             node: 4
27                         },
28                         loose: true
29                     }
30                 ]
31             ],
32             plugins: ['add-module-exports', 'precompile-charcodes']
33         }))
34         .pipe(sourcemaps.write())
35         .pipe(gulp.dest('lib'));
36 });
37
38 gulp.task('build:lib', ['compile'], () => {
39     return gulp.src(['lib/*.js', 'lib/*.d.ts']).pipe(gulp.dest('build/lib'));
40 });
41
42 gulp.task('build:package', () => {
43     const editor = require('gulp-json-editor');
44     return gulp.src('./package.json')
45         .pipe(editor((json) => {
46             delete json.babel;
47             delete json.scripts;
48             delete json.jest;
49             delete json.eslintConfig;
50             delete json['size-limit'];
51             delete json['pre-commit'];
52             delete json['lint-staged'];
53             delete json.devDependencies;
54             return json;
55         }))
56         .pipe(gulp.dest('build'));
57 });
58
59 gulp.task('build:docs', () => {
60     let ignore = require('fs').readFileSync('.npmignore').toString()
61         .trim().split(/\n+/)
62         .concat([
63             'package.json', '.npmignore', 'lib/*', 'test/*',
64             'node_modules/**/*', 'docs/api.md', 'docs/plugins.md',
65             'docs/writing-a-plugin.md'
66         ]).map( i => '!' + i );
67     return gulp.src(['**/*'].concat(ignore))
68         .pipe(gulp.dest('build'));
69 });
70
71 gulp.task('build', done => {
72     let runSequence = require('run-sequence');
73     runSequence('clean', ['build:lib', 'build:docs', 'build:package'], done);
74 });
75
76 // Tests
77
78 gulp.task('integration', ['build'], done => {
79     let postcss = require('./build');
80     let real    = require('postcss-parser-tests/real');
81     real(done, css => {
82         return postcss.parse(css).toResult({ map: { annotation: false } });
83     });
84 });
85
86 gulp.task('version', ['build:lib'], () => {
87     let Processor = require('./lib/processor');
88     let instance  = new Processor();
89     let pkg       = require('./package');
90     if ( pkg.version !== instance.version ) {
91         throw new Error('Version in Processor is not equal to package.json');
92     }
93 });
94
95 // Common
96
97 gulp.task('default', ['version', 'integration']);