2019-05-09 18:54:39 +12:00
|
|
|
// Include gulp
|
|
|
|
const { src, dest, series } = require('gulp');
|
|
|
|
|
|
|
|
// Plugins
|
|
|
|
const gulpConcat = require('gulp-concat');
|
|
|
|
const gulpJsmin = require('gulp-jsmin');
|
|
|
|
const gulpLess = require('gulp-less');
|
|
|
|
const gulpCleanCSS = require('gulp-clean-css');
|
|
|
|
|
|
|
|
// Config
|
|
|
|
|
2021-10-22 06:20:41 +13:00
|
|
|
const configApp = {
|
2019-05-09 18:54:39 +12:00
|
|
|
mainFile: 'app.js',
|
|
|
|
src: [
|
2019-05-10 04:15:51 +12:00
|
|
|
'public/scripts/dependencies/litespeed.js',
|
2021-11-24 21:32:49 +13:00
|
|
|
'public/scripts/dependencies/alpine.js',
|
2019-05-10 04:15:51 +12:00
|
|
|
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/init.js',
|
|
|
|
|
|
|
|
'public/scripts/services/alerts.js',
|
2021-01-18 19:29:26 +13:00
|
|
|
'public/scripts/services/api.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/services/console.js',
|
|
|
|
'public/scripts/services/date.js',
|
|
|
|
'public/scripts/services/env.js',
|
2019-05-13 06:15:19 +12:00
|
|
|
'public/scripts/services/form.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/services/markdown.js',
|
2020-05-01 04:35:39 +12:00
|
|
|
'public/scripts/services/rtl.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/services/sdk.js',
|
2020-04-29 20:36:55 +12:00
|
|
|
'public/scripts/services/search.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/services/timezone.js',
|
2021-06-09 03:27:12 +12:00
|
|
|
'public/scripts/services/realtime.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
|
2019-05-09 20:23:22 +12:00
|
|
|
'public/scripts/routes.js',
|
|
|
|
'public/scripts/filters.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/app.js',
|
2022-02-16 19:41:13 +13:00
|
|
|
'public/scripts/upload-modal.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
|
2019-05-12 18:59:49 +12:00
|
|
|
'public/scripts/views/service.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
|
|
|
|
'public/scripts/views/analytics/event.js',
|
2021-01-18 19:29:26 +13:00
|
|
|
'public/scripts/views/analytics/activity.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/views/analytics/pageview.js',
|
|
|
|
|
|
|
|
'public/scripts/views/forms/clone.js',
|
2020-03-30 20:19:13 +13:00
|
|
|
'public/scripts/views/forms/add.js',
|
2020-05-13 08:16:33 +12:00
|
|
|
'public/scripts/views/forms/chart.js',
|
2021-08-21 04:37:37 +12:00
|
|
|
'public/scripts/views/forms/chart-bar.js',
|
2019-08-21 23:00:32 +12:00
|
|
|
'public/scripts/views/forms/code.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/views/forms/color.js',
|
|
|
|
'public/scripts/views/forms/copy.js',
|
2021-07-26 19:24:29 +12:00
|
|
|
'public/scripts/views/forms/custom-id.js',
|
2020-05-03 07:57:52 +12:00
|
|
|
'public/scripts/views/forms/document.js',
|
2021-08-09 03:58:06 +12:00
|
|
|
'public/scripts/views/forms/duplications.js',
|
2020-05-04 20:29:25 +12:00
|
|
|
'public/scripts/views/forms/document-preview.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/views/forms/filter.js',
|
2020-05-11 16:39:00 +12:00
|
|
|
'public/scripts/views/forms/headers.js',
|
|
|
|
'public/scripts/views/forms/key-value.js',
|
2020-03-17 07:41:56 +13:00
|
|
|
'public/scripts/views/forms/move-down.js',
|
|
|
|
'public/scripts/views/forms/move-up.js',
|
2020-05-04 17:04:30 +12:00
|
|
|
'public/scripts/views/forms/nav.js',
|
2022-01-23 07:31:40 +13:00
|
|
|
'public/scripts/views/forms/oauth-custom.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/views/forms/password-meter.js',
|
|
|
|
'public/scripts/views/forms/pell.js',
|
2021-10-28 05:54:57 +13:00
|
|
|
'public/scripts/views/forms/required.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/views/forms/remove.js',
|
2020-04-04 08:27:18 +13:00
|
|
|
'public/scripts/views/forms/run.js',
|
2020-10-31 08:53:27 +13:00
|
|
|
'public/scripts/views/forms/select-all.js',
|
2021-10-30 02:50:17 +13:00
|
|
|
'public/scripts/views/forms/selected.js',
|
2021-01-01 10:30:14 +13:00
|
|
|
'public/scripts/views/forms/show-secret.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/views/forms/switch.js',
|
2019-08-22 22:44:55 +12:00
|
|
|
'public/scripts/views/forms/tags.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/views/forms/text-count.js',
|
|
|
|
'public/scripts/views/forms/text-direction.js',
|
|
|
|
'public/scripts/views/forms/text-resize.js',
|
|
|
|
'public/scripts/views/forms/upload.js',
|
|
|
|
|
2020-04-02 10:41:29 +13:00
|
|
|
'public/scripts/views/general/cookies.js',
|
2021-08-16 09:09:40 +12:00
|
|
|
'public/scripts/views/general/copy.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/views/general/page-title.js',
|
2020-01-27 20:34:08 +13:00
|
|
|
'public/scripts/views/general/scroll-to.js',
|
|
|
|
'public/scripts/views/general/scroll-direction.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/views/general/setup.js',
|
|
|
|
'public/scripts/views/general/switch.js',
|
2020-02-12 00:55:57 +13:00
|
|
|
'public/scripts/views/general/theme.js',
|
2020-07-25 18:26:25 +12:00
|
|
|
'public/scripts/views/general/version.js',
|
2021-10-22 06:20:41 +13:00
|
|
|
|
2019-08-14 09:07:41 +12:00
|
|
|
'public/scripts/views/paging/back.js',
|
|
|
|
'public/scripts/views/paging/next.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
|
|
|
|
'public/scripts/views/ui/highlight.js',
|
2020-02-18 18:25:28 +13:00
|
|
|
'public/scripts/views/ui/loader.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
'public/scripts/views/ui/modal.js',
|
|
|
|
'public/scripts/views/ui/open.js',
|
|
|
|
'public/scripts/views/ui/phases.js',
|
2019-08-09 04:43:26 +12:00
|
|
|
'public/scripts/views/ui/trigger.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
],
|
2021-10-22 06:20:41 +13:00
|
|
|
|
2019-05-09 18:54:39 +12:00
|
|
|
dest: './public/dist/scripts'
|
|
|
|
};
|
|
|
|
|
|
|
|
const configDep = {
|
|
|
|
mainFile: 'app-dep.js',
|
|
|
|
src: [
|
2020-01-31 05:18:59 +13:00
|
|
|
'public/scripts/dependencies/appwrite.js',
|
2021-10-22 06:20:41 +13:00
|
|
|
'node_modules/chart.js/dist/chart.js',
|
|
|
|
'node_modules/markdown-it/dist/markdown-it.js',
|
|
|
|
'node_modules/pell/dist/pell.js',
|
|
|
|
'node_modules/turndown/dist/turndown.js',
|
2021-10-22 23:29:08 +13:00
|
|
|
// PrismJS Core
|
|
|
|
'node_modules/prismjs/components/prism-core.min.js',
|
|
|
|
// PrismJS Languages
|
|
|
|
'node_modules/prismjs/components/prism-markup.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-css.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-clike.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-javascript.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-bash.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-csharp.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-dart.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-go.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-graphql.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-http.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-java.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-json.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-kotlin.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-markup-templating.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-php.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-powershell.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-python.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-ruby.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-swift.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-typescript.min.js',
|
|
|
|
'node_modules/prismjs/components/prism-yaml.min.js',
|
|
|
|
// PrismJS Plugins
|
|
|
|
'node_modules/prismjs/plugins/line-numbers/prism-line-numbers.min.js',
|
2019-05-09 18:54:39 +12:00
|
|
|
],
|
|
|
|
dest: './public/dist/scripts'
|
|
|
|
};
|
|
|
|
|
|
|
|
const config = {
|
|
|
|
mainFile: 'app-all.js',
|
|
|
|
src: [
|
|
|
|
'public/dist/scripts/app-dep.js',
|
|
|
|
'public/dist/scripts/app.js'
|
|
|
|
],
|
|
|
|
dest: './public/dist/scripts'
|
|
|
|
};
|
|
|
|
|
2021-10-22 06:20:41 +13:00
|
|
|
function lessLTR() {
|
2019-05-09 18:54:39 +12:00
|
|
|
return src('./public/styles/default-ltr.less')
|
|
|
|
.pipe(gulpLess())
|
2021-10-22 06:20:41 +13:00
|
|
|
.pipe(gulpCleanCSS({ compatibility: 'ie8' }))
|
2019-05-09 18:54:39 +12:00
|
|
|
.pipe(dest('./public/dist/styles'));
|
|
|
|
}
|
|
|
|
|
2021-10-22 06:20:41 +13:00
|
|
|
function lessRTL() {
|
2019-08-21 18:04:19 +12:00
|
|
|
return src('./public/styles/default-rtl.less')
|
2019-05-09 18:54:39 +12:00
|
|
|
.pipe(gulpLess())
|
2021-10-22 06:20:41 +13:00
|
|
|
.pipe(gulpCleanCSS({ compatibility: 'ie8' }))
|
2019-05-09 18:54:39 +12:00
|
|
|
.pipe(dest('./public/dist/styles'));
|
|
|
|
}
|
|
|
|
|
2021-10-22 06:20:41 +13:00
|
|
|
function concatApp() {
|
2019-05-09 18:54:39 +12:00
|
|
|
return src(configApp.src)
|
|
|
|
.pipe(gulpConcat(configApp.mainFile))
|
|
|
|
.pipe(gulpJsmin())
|
|
|
|
.pipe(dest(configApp.dest));
|
|
|
|
}
|
|
|
|
|
2021-10-22 06:20:41 +13:00
|
|
|
function concatDep() {
|
2019-05-09 18:54:39 +12:00
|
|
|
return src(configDep.src)
|
|
|
|
.pipe(gulpConcat(configDep.mainFile))
|
|
|
|
.pipe(gulpJsmin())
|
|
|
|
.pipe(dest(configDep.dest));
|
|
|
|
}
|
|
|
|
|
2021-10-22 06:20:41 +13:00
|
|
|
function concat() {
|
2019-05-09 18:54:39 +12:00
|
|
|
return src(config.src)
|
|
|
|
.pipe(gulpConcat(config.mainFile))
|
|
|
|
.pipe(dest(config.dest));
|
|
|
|
}
|
|
|
|
|
2021-10-22 06:20:41 +13:00
|
|
|
exports.import = series(concatDep);
|
|
|
|
exports.less = series(lessLTR, lessRTL);
|
|
|
|
exports.build = series(concatApp, concat);
|