aboutsummaryrefslogtreecommitdiff
path: root/node_modules/postcss/gulpfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/postcss/gulpfile.js')
-rw-r--r--node_modules/postcss/gulpfile.js97
1 files changed, 97 insertions, 0 deletions
diff --git a/node_modules/postcss/gulpfile.js b/node_modules/postcss/gulpfile.js
new file mode 100644
index 0000000..4efd1f6
--- /dev/null
+++ b/node_modules/postcss/gulpfile.js
@@ -0,0 +1,97 @@
+'use strict';
+
+const gulp = require('gulp');
+
+gulp.task('clean', () => {
+ let del = require('del');
+ return del(['lib/*.js', 'postcss.js', 'build/', 'api/']);
+});
+
+// Build
+
+gulp.task('compile', () => {
+ let sourcemaps = require('gulp-sourcemaps');
+ let changed = require('gulp-changed');
+ let babel = require('gulp-babel');
+ return gulp.src('lib/*.es6')
+ .pipe(changed('lib', { extension: '.js' }))
+ .pipe(sourcemaps.init())
+ .pipe(babel({
+ presets: [
+ [
+ 'env',
+ {
+ targets: {
+ browsers: 'last 2 version',
+ node: 4
+ },
+ loose: true
+ }
+ ]
+ ],
+ plugins: ['add-module-exports', 'precompile-charcodes']
+ }))
+ .pipe(sourcemaps.write())
+ .pipe(gulp.dest('lib'));
+});
+
+gulp.task('build:lib', ['compile'], () => {
+ return gulp.src(['lib/*.js', 'lib/*.d.ts']).pipe(gulp.dest('build/lib'));
+});
+
+gulp.task('build:package', () => {
+ const editor = require('gulp-json-editor');
+ return gulp.src('./package.json')
+ .pipe(editor((json) => {
+ delete json.babel;
+ delete json.scripts;
+ delete json.jest;
+ delete json.eslintConfig;
+ delete json['size-limit'];
+ delete json['pre-commit'];
+ delete json['lint-staged'];
+ delete json.devDependencies;
+ return json;
+ }))
+ .pipe(gulp.dest('build'));
+});
+
+gulp.task('build:docs', () => {
+ let ignore = require('fs').readFileSync('.npmignore').toString()
+ .trim().split(/\n+/)
+ .concat([
+ 'package.json', '.npmignore', 'lib/*', 'test/*',
+ 'node_modules/**/*', 'docs/api.md', 'docs/plugins.md',
+ 'docs/writing-a-plugin.md'
+ ]).map( i => '!' + i );
+ return gulp.src(['**/*'].concat(ignore))
+ .pipe(gulp.dest('build'));
+});
+
+gulp.task('build', done => {
+ let runSequence = require('run-sequence');
+ runSequence('clean', ['build:lib', 'build:docs', 'build:package'], done);
+});
+
+// Tests
+
+gulp.task('integration', ['build'], done => {
+ let postcss = require('./build');
+ let real = require('postcss-parser-tests/real');
+ real(done, css => {
+ return postcss.parse(css).toResult({ map: { annotation: false } });
+ });
+});
+
+gulp.task('version', ['build:lib'], () => {
+ let Processor = require('./lib/processor');
+ let instance = new Processor();
+ let pkg = require('./package');
+ if ( pkg.version !== instance.version ) {
+ throw new Error('Version in Processor is not equal to package.json');
+ }
+});
+
+// Common
+
+gulp.task('default', ['version', 'integration']);