Draf of Sieve parser/lexer for a new Sieve GUI

This commit is contained in:
djmaze 2021-01-13 21:23:19 +01:00
parent e023a5d6ab
commit b2e77f3f67
13 changed files with 1353 additions and 1 deletions

View file

@ -83,6 +83,18 @@ config.paths.js = {
'dev/External/SquireUI.js'
]
},
sieve: {
name: 'sieve.js',
src: [
'dev/sieve.js',
'dev/Sieve/RegEx.js',
'dev/Sieve/Grammar.js',
'dev/Sieve/Commands.js',
'dev/Sieve/Tests.js',
'dev/Sieve/Extensions/*.js',
'dev/Sieve/Parser.js'
]
},
app: {
name: 'app.js'
},

View file

@ -49,6 +49,18 @@ const jsLibs = () => {
.pipe(gulp.dest(config.paths.staticJS));
};
// sieve
const jsSieve = () => {
const src = config.paths.js.sieve.src;
return gulp
.src(src)
.pipe(expect.real({ errorOnFailure: true }, src))
.pipe(concat(config.paths.js.sieve.name, { separator: '\n\n' }))
.pipe(eol('\n', true))
.pipe(replace(/sourceMappingURL=[a-z0-9.\-_]{1,20}\.map/gi, ''))
.pipe(gulp.dest(config.paths.staticJS));
};
// app
const jsApp = () =>
gulp
@ -120,7 +132,7 @@ const jsLint = () =>
.pipe(eslint.failAfterError());
const jsState1 = gulp.series(jsLint);
const jsState3 = gulp.parallel(jsBoot, jsServiceWorker, jsLibs, jsApp, jsAdmin);
const jsState3 = gulp.parallel(jsBoot, jsServiceWorker, jsLibs, jsSieve, jsApp, jsAdmin);
const jsState2 = gulp.series(jsClean, webpack, jsState3, jsMin);
exports.jsLint = jsLint;