Add polyfills

This commit is contained in:
MrTimscampi 2020-03-09 22:55:47 +01:00
parent a0f3203a68
commit d69610dc70
5 changed files with 7260 additions and 40 deletions

View file

@ -13,12 +13,10 @@ const mode = require('gulp-mode')({
modes: ["production", "development"],
default: "development",
verbose: false
});
});
const webpack_stream = require('webpack-stream');
const inject = require('gulp-inject');
const postcss = require('gulp-postcss');
const cssnano = require('cssnano');
const autoprefixer = require('autoprefixer');
const sass = require('gulp-sass');
sass.compiler = require('node-sass')
@ -50,8 +48,8 @@ function serve() {
function setStandalone() {
return src(['src/standalone.js', 'src/scripts/apploader.js'], {base: './src/'})
.pipe(concat('scripts/apploader.js'))
.pipe(dest('dist/'));
.pipe(concat('scripts/apploader.js'))
.pipe(dest('dist/'));
}
// Clean assets
@ -61,64 +59,64 @@ function clean() {
function javascript() {
return src(['src/**/*.js', '!src/bundle.js'], {base: './src/'})
.pipe(mode.development(sourcemaps.init({loadMaps: true})))
.pipe(babel({
presets: [
['@babel/preset-env']
]
}))
.pipe(terser({
keep_fnames: true,
mangle: false
}))
.pipe(mode.development(sourcemaps.write('.')))
.pipe(dest('dist/'))
.pipe(browserSync.stream());;
.pipe(mode.development(sourcemaps.init({loadMaps: true})))
.pipe(babel({
presets: [
['@babel/preset-env']
]
}))
.pipe(terser({
keep_fnames: true,
mangle: false
}))
.pipe(mode.development(sourcemaps.write('.')))
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function webpack() {
return webpack_stream(webpack_config)
.pipe(dest('dist/'))
.pipe(browserSync.stream());
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function css() {
return src(['src/**/*.css', 'src/**/*.scss'], {base: './src/'})
.pipe(mode.development(sourcemaps.init({loadMaps: true})))
.pipe(sass().on('error', sass.logError))
.pipe(postcss())
.pipe(mode.development(sourcemaps.write('.')))
.pipe(dest('dist/'))
.pipe(browserSync.stream());
.pipe(mode.development(sourcemaps.init({loadMaps: true})))
.pipe(sass().on('error', sass.logError))
.pipe(postcss())
.pipe(mode.development(sourcemaps.write('.')))
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function html() {
return src(['src/**/*.html', '!src/index.html'], {base: './src/'})
.pipe(mode.production(htmlmin({ collapseWhitespace: true })))
.pipe(dest('dist/'))
.pipe(browserSync.stream());
.pipe(mode.production(htmlmin({ collapseWhitespace: true })))
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function images() {
return src(['src/**/*.png', 'src/**/*.jpg', 'src/**/*.gif', 'src/**/*.svg'], {base: './src/'})
.pipe(imagemin())
.pipe(dest('dist/'))
.pipe(browserSync.stream());
.pipe(imagemin())
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function copy() {
return src(['src/**/*.json', 'src/**/*.ico'], {base: './src/'})
.pipe(dest('dist/'))
.pipe(browserSync.stream());
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
function injectBundle() {
return src('src/index.html', {base: './src/'})
.pipe(inject(
src(['src/scripts/apploader.js'], {read: false}, {base: './src/'}), {relative: true}
))
.pipe(dest('dist/'))
.pipe(browserSync.stream());
.pipe(inject(
src(['src/polyfill.js', 'src/scripts/apploader.js'], {read: false}, {base: './src/'}), {relative: true}
))
.pipe(dest('dist/'))
.pipe(browserSync.stream());
}
exports.default = series(clean, parallel(javascript, webpack, css, html, images, copy), injectBundle)

View file

@ -6,6 +6,7 @@
"license": "GPL-2.0-or-later",
"devDependencies": {
"@babel/core": "^7.8.6",
"@babel/polyfill": "^7.8.7",
"@babel/preset-env": "^7.8.6",
"autoprefixer": "^9.7.4",
"babel-loader": "^8.0.6",

View file

@ -8,4 +8,4 @@ const config = () => ({
]
})
module.exports = config
module.exports = config

7203
src/polyfill.js Normal file

File diff suppressed because it is too large Load diff

View file

@ -675,6 +675,14 @@
"@babel/helper-create-regexp-features-plugin" "^7.8.3"
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/polyfill@^7.8.7":
version "7.8.7"
resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.8.7.tgz#151ec24c7135481336168c3bd8b8bf0cf91c032f"
integrity sha512-LeSfP9bNZH2UOZgcGcZ0PIHUt1ZuHub1L3CVmEyqLxCeDLm4C5Gi8jRH8ZX2PNpDhQCo0z6y/+DIs2JlliXW8w==
dependencies:
core-js "^2.6.5"
regenerator-runtime "^0.13.4"
"@babel/preset-env@^7.8.6":
version "7.8.6"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.8.6.tgz#2a0773b08589ecba4995fc71b1965e4f531af40b"
@ -2855,6 +2863,11 @@ core-js-compat@^3.6.2:
browserslist "^4.8.3"
semver "7.0.0"
core-js@^2.6.5:
version "2.6.11"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
core-js@^3.6.4:
version "3.6.4"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647"
@ -9812,6 +9825,11 @@ regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.3:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5"
integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==
regenerator-runtime@^0.13.4:
version "0.13.4"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz#e96bf612a3362d12bb69f7e8f74ffeab25c7ac91"
integrity sha512-plpwicqEzfEyTQohIKktWigcLzmNStMGwbOUbykx51/29Z3JOGYldaaNGK7ngNXV+UcoqvIMmloZ48Sr74sd+g==
regenerator-transform@^0.14.0:
version "0.14.1"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb"