Commit e614d75f authored by Yuri Bondarenko's avatar Yuri Bondarenko

up

parent 8c5700f7
{ {
"parserOptions": { "parserOptions": {
"ecmaVersion": 7, "ecmaVersion": 7,
"sourceType": "module", "sourceType": "module",
"ecmaFeatures": { "ecmaFeatures": {}
},
} "env": {
}, "browser": true,
"env": { "jquery": false,
"browser": true, "node": false
"jquery": true, },
"node": false "extends": "eslint:recommended",
}, "rules": {
"extends": "eslint:recommended", "indent": ["error", "tab"],
"rules": { "linebreak-style": ["error", "unix"]
"indent": [ }
"error", }
"tab"
],
"linebreak-style": [
"error",
"unix"
],
"quotes": [
"error",
"single"
],
"semi": [
"error",
"always"
]
}
}
\ No newline at end of file
{ {
"tagname-lowercase": true, "tagname-lowercase": true,
"attr-lowercase": true, "attr-lowercase": true,
"attr-value-double-quotes": true, "attr-value-double-quotes": true,
"tag-pair": true, "tag-pair": true,
"spec-char-escape": true, "spec-char-escape": true,
"id-unique": true, "id-unique": true,
"src-not-empty": true, "src-not-empty": true,
"attr-no-duplication": true, "attr-no-duplication": true,
"title-require": true, "title-require": true,
"alt-require": true, "alt-require": true,
"tag-self-close": true, "tag-self-close": true,
"id-class-ad-disabled": true "id-class-ad-disabled": true
} }
{
"useTabs": true,
"tabWidth": 4
}
{ {
"rules": { "rules": {
"at-rule-no-unknown": [true, { "at-rule-no-unknown": [
"ignoreAtRules": [ true,
"rules" {
] "ignoreAtRules": ["rules"]
}], }
"block-no-empty": null, ],
"color-no-invalid-hex": true, "block-no-empty": null,
"comment-no-empty": true, "color-no-invalid-hex": true,
"declaration-block-no-duplicate-properties": [ "comment-no-empty": true,
true, "declaration-block-no-duplicate-properties": [
{ true,
"ignore": [ {
"consecutive-duplicates-with-different-values" "ignore": ["consecutive-duplicates-with-different-values"]
] }
} ],
], "declaration-block-no-shorthand-property-overrides": true,
"declaration-block-no-shorthand-property-overrides": true, "font-family-no-duplicate-names": true,
"font-family-no-duplicate-names": true, "font-family-no-missing-generic-family-keyword": true,
"font-family-no-missing-generic-family-keyword": true, "function-calc-no-unspaced-operator": true,
"function-calc-no-unspaced-operator": true, "function-linear-gradient-no-nonstandard-direction": true,
"function-linear-gradient-no-nonstandard-direction": true, "keyframe-declaration-no-important": true,
"keyframe-declaration-no-important": true, "media-feature-name-no-unknown": true,
"media-feature-name-no-unknown": true, "no-descending-specificity": true,
"no-descending-specificity": true, "no-duplicate-at-import-rules": true,
"no-duplicate-at-import-rules": true, "no-duplicate-selectors": true,
"no-duplicate-selectors": true, "no-empty-source": true,
"no-empty-source": true, "no-extra-semicolons": true,
"no-extra-semicolons": true, "no-invalid-double-slash-comments": true,
"no-invalid-double-slash-comments": true, "property-no-unknown": true,
"property-no-unknown": true, "selector-pseudo-class-no-unknown": true,
"selector-pseudo-class-no-unknown": true, "selector-pseudo-element-no-unknown": true,
"selector-pseudo-element-no-unknown": true, "selector-type-no-unknown": true,
"selector-type-no-unknown": true, "string-no-newline": true,
"string-no-newline": true, "unit-no-unknown": true,
"unit-no-unknown": true, "at-rule-empty-line-before": [
"at-rule-empty-line-before": [ "always",
"always", {
{ "except": [
"except": [ "blockless-after-same-name-blockless",
"blockless-after-same-name-blockless", "first-nested"
"first-nested" ],
], "ignore": ["after-comment"]
"ignore": [ }
"after-comment" ],
] "at-rule-name-case": "lower",
} "at-rule-name-space-after": "always-single-line",
], "at-rule-semicolon-newline-after": "always",
"at-rule-name-case": "lower", "block-closing-brace-empty-line-before": "never",
"at-rule-name-space-after": "always-single-line", "block-closing-brace-newline-after": "always",
"at-rule-semicolon-newline-after": "always", "block-closing-brace-newline-before": "always-multi-line",
"block-closing-brace-empty-line-before": "never", "block-closing-brace-space-before": "always-single-line",
"block-closing-brace-newline-after": "always", "block-opening-brace-newline-after": "always-multi-line",
"block-closing-brace-newline-before": "always-multi-line", "block-opening-brace-space-after": "always-single-line",
"block-closing-brace-space-before": "always-single-line", "block-opening-brace-space-before": "always",
"block-opening-brace-newline-after": "always-multi-line", "color-hex-length": "short",
"block-opening-brace-space-after": "always-single-line", "comment-empty-line-before": [
"block-opening-brace-space-before": "always", "always",
"color-hex-length": "short", {
"comment-empty-line-before": [ "ignore": ["stylelint-commands"]
"always", }
{ ],
"ignore": [ "comment-whitespace-inside": "always",
"stylelint-commands" "custom-property-empty-line-before": [
] "always",
} {
], "except": ["after-custom-property", "first-nested"],
"comment-whitespace-inside": "always", "ignore": ["after-comment", "inside-single-line-block"]
"custom-property-empty-line-before": [ }
"always", ],
{ "declaration-bang-space-after": "never",
"except": [ "declaration-bang-space-before": "always",
"after-custom-property", "declaration-block-semicolon-newline-after": "always-multi-line",
"first-nested" "declaration-block-semicolon-space-after": "always-single-line",
], "declaration-block-semicolon-space-before": "never",
"ignore": [ "declaration-block-single-line-max-declarations": 1,
"after-comment", "declaration-block-trailing-semicolon": "always",
"inside-single-line-block" "declaration-colon-newline-after": "always-multi-line",
] "declaration-colon-space-after": "always-single-line",
} "declaration-colon-space-before": "never",
], "declaration-empty-line-before": [
"declaration-bang-space-after": "never", "always",
"declaration-bang-space-before": "always", {
"declaration-block-semicolon-newline-after": "always-multi-line", "except": ["after-declaration", "first-nested"],
"declaration-block-semicolon-space-after": "always-single-line", "ignore": ["after-comment", "inside-single-line-block"]
"declaration-block-semicolon-space-before": "never", }
"declaration-block-single-line-max-declarations": 1, ],
"declaration-block-trailing-semicolon": "always", "function-comma-newline-after": "always-multi-line",
"declaration-colon-newline-after": "always-multi-line", "function-comma-space-after": "always-single-line",
"declaration-colon-space-after": "always-single-line", "function-comma-space-before": "never",
"declaration-colon-space-before": "never", "function-max-empty-lines": 0,
"declaration-empty-line-before": [ "function-name-case": "lower",
"always", "function-parentheses-newline-inside": "always-multi-line",
{ "function-parentheses-space-inside": "never-single-line",
"except": [ "function-whitespace-after": "always",
"after-declaration", "indentation": "tab",
"first-nested" "length-zero-no-unit": true,
], "max-empty-lines": 1,
"ignore": [ "media-feature-colon-space-after": "always",
"after-comment", "media-feature-colon-space-before": "never",
"inside-single-line-block" "media-feature-name-case": "lower",
] "media-feature-parentheses-space-inside": "never",
} "media-feature-range-operator-space-after": "always",
], "media-feature-range-operator-space-before": "always",
"function-comma-newline-after": "always-multi-line", "media-query-list-comma-newline-after": "always-multi-line",
"function-comma-space-after": "always-single-line", "media-query-list-comma-space-after": "always-single-line",
"function-comma-space-before": "never", "media-query-list-comma-space-before": "never",
"function-max-empty-lines": 0, "no-eol-whitespace": true,
"function-name-case": "lower", "no-missing-end-of-source-newline": null,
"function-parentheses-newline-inside": "always-multi-line", "number-leading-zero": "always",
"function-parentheses-space-inside": "never-single-line", "number-no-trailing-zeros": true,
"function-whitespace-after": "always", "property-case": "lower",
"indentation": "tab", "rule-empty-line-before": [
"length-zero-no-unit": true, "always-multi-line",
"max-empty-lines": 1, {
"media-feature-colon-space-after": "always", "ignore": ["after-comment"]
"media-feature-colon-space-before": "never", }
"media-feature-name-case": "lower", ],
"media-feature-parentheses-space-inside": "never", "selector-attribute-brackets-space-inside": "never",
"media-feature-range-operator-space-after": "always", "selector-attribute-operator-space-after": "never",
"media-feature-range-operator-space-before": "always", "selector-attribute-operator-space-before": "never",
"media-query-list-comma-newline-after": "always-multi-line", "selector-combinator-space-after": "always",
"media-query-list-comma-space-after": "always-single-line", "selector-combinator-space-before": "always",
"media-query-list-comma-space-before": "never", "selector-descendant-combinator-no-non-space": true,
"no-eol-whitespace": true, "selector-list-comma-newline-after": "always",
"no-missing-end-of-source-newline": null, "selector-list-comma-space-before": "never",
"number-leading-zero": "always", "selector-max-empty-lines": 0,
"number-no-trailing-zeros": true, "selector-pseudo-class-case": "lower",
"property-case": "lower", "selector-pseudo-class-parentheses-space-inside": "never",
"rule-empty-line-before": [ "selector-pseudo-element-case": "lower",
"always-multi-line", "selector-pseudo-element-colon-notation": "double",
{ "selector-type-case": "lower",
"ignore": [ "unit-case": "lower",
"after-comment" "value-list-comma-newline-after": "always-multi-line",
] "value-list-comma-space-after": "always-single-line",
} "value-list-comma-space-before": "never",
], "value-list-max-empty-lines": 0
"selector-attribute-brackets-space-inside": "never", }
"selector-attribute-operator-space-after": "never", }
"selector-attribute-operator-space-before": "never",
"selector-combinator-space-after": "always",
"selector-combinator-space-before": "always",
"selector-descendant-combinator-no-non-space": true,
"selector-list-comma-newline-after": "always",
"selector-list-comma-space-before": "never",
"selector-max-empty-lines": 0,
"selector-pseudo-class-case": "lower",
"selector-pseudo-class-parentheses-space-inside": "never",
"selector-pseudo-element-case": "lower",
"selector-pseudo-element-colon-notation": "double",
"selector-type-case": "lower",
"unit-case": "lower",
"value-list-comma-newline-after": "always-multi-line",
"value-list-comma-space-after": "always-single-line",
"value-list-comma-space-before": "never",
"value-list-max-empty-lines": 0
}
}
\ No newline at end of file
...@@ -7,10 +7,11 @@ ...@@ -7,10 +7,11 @@
"dbaeumer.vscode-eslint", "dbaeumer.vscode-eslint",
"shinnn.stylelint", "shinnn.stylelint",
"mkaufman.htmlhint", "mkaufman.htmlhint",
"formulahendry.terminal" "formulahendry.terminal",
"esbenp.prettier-vscode"
], ],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace. // List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": [ "unwantedRecommendations": [
] ]
} }
\ No newline at end of file
/* ======================================================== */ /* ======================================================== */
/* global require */ /* global require */
const gulp = require( 'gulp' ); // Собственно gulp const { task, src, dest, watch, series, parallel } = require("gulp"); // Собственно gulp
const pump = require( 'pump' ); // отслеживание ошибок
const clean = require( 'gulp-clean' ); // удаление файлов и каталогов const clean = require("gulp-clean"); // удаление файлов и каталогов
const xslt = require( 'gulp-xslt' ); const include = require("gulp-file-include");
const version = require("gulp-version-number"); // версионность файлов
const postcss = require( 'gulp-postcss' ); // Пост-обработка CSS const postcss = require("gulp-postcss"); // Пост-обработка CSS
const postcssPresetEnv = require( 'postcss-preset-env' ); // CSS Next const postcssPresetEnv = require("postcss-preset-env"); // CSS Next
const atImport = require('postcss-import'); // парсинг и включение импорта CSS const atImport = require("postcss-import"); // парсинг и включение импорта CSS
const sourcemaps = require( 'gulp-sourcemaps' ); // карты исходного кода const sourcemaps = require("gulp-sourcemaps"); // карты исходного кода
const webpack = require( 'webpack-stream' ); const webpack = require("webpack-stream");
const compiler = require( 'webpack' ); const compiler = require("webpack");
const imagemin = require( 'gulp-image' ); // оптимизация картинок const imagemin = require("gulp-image"); // оптимизация картинок
const cache = require( 'gulp-cache' ); const cache = require("gulp-cache");
const browserSync = require( 'browser-sync' ).create(); // обновление налету const browsersync = require("browser-sync").create(); // обновление налету
/* ========================================================== */ /* ========================================================== */
...@@ -32,7 +32,7 @@ const postcssOptions = [ ...@@ -32,7 +32,7 @@ const postcssOptions = [
stage: 0, stage: 0,
autoprefixer: { autoprefixer: {
grid: true, grid: true,
browsers: [ 'last 4 versions', 'ie >= 11', 'iOS >= 9' ] browsers: ["last 4 versions", "ie >= 11", "iOS >= 9"]
} }
}) })
]; ];
...@@ -43,182 +43,238 @@ const postcssOptions = [ ...@@ -43,182 +43,238 @@ const postcssOptions = [
* CLEAN * CLEAN
* Полная очистка * Полная очистка
*/ */
gulp.task( 'CLEAN', function( cb ){ const Clean = cb => {
pump([ cb();
gulp.src( [ './dev', './prod' ], { read: false } ), return src(["./dev", "./prod"], { read: false, allowEmpty: true }).pipe(
clean() clean()
], cb ); );
}); };
task("CLEAN", Clean);
/** /**
* CSS * CSS
*/ */
gulp.task( 'dev:css', function( cb ){ const devCss = cb => {
cb();
// Собираем свои стили return src("./src/assets/css/*.css")
pump([ .pipe(sourcemaps.init())
gulp.src( './src/assets/css/*.css' ), .pipe(postcss(postcssOptions))
sourcemaps.init(), .pipe(sourcemaps.write("."))
postcss( postcssOptions ), .pipe(dest("../prodalim/frontend/web/assets/css"))
sourcemaps.write( '.' ), .pipe(browsersync.stream());
gulp.dest( './dev/assets/css' ), };
browserSync.stream()
], cb );
});
// Собираем CSS // Собираем CSS
gulp.task( 'prod:css', function( cb ){ const prodCss = cb => {
cb();
// Собираем свои стили return src("./src/assets/css/*.css")
pump([ .pipe(postcss(postcssOptions))
gulp.src( './src/assets/css/*.css' ), .pipe(dest("./prod/assets/css"));
postcss( postcssOptions ), };
gulp.dest( './prod/assets/css' ),
], cb );
});
// ================== JS ============================ // ================== JS ============================
// Компилируем и собираем все js файлы проекта // Компилируем и собираем все js файлы проекта
gulp.task( 'dev:js', function( cb ){ const devJs = cb => {
cb();
// ES5 return (
pump([ src("./src/assets/js/*.js")
gulp.src( './src/assets/js/*.js' ), .pipe(
webpack( require( './webpack.dev.js' ), compiler, function( err, stats ){ webpack(require("./webpack.dev.js"), compiler, function(
// console.log( err, stats ); err,
}), stats
gulp.dest( './dev/assets/js' ) ) {
], cb ); // console.log( err, stats );
})
}); )
// .pipe( dest( './dev/assets/js' ) )
.pipe(dest("../prodalim/frontend/web/assets/js"))
.pipe(browsersync.stream())
);
};
// Обрабатываем js файлы библиотек и проекта // Обрабатываем js файлы библиотек и проекта
gulp.task( 'prod:js', function(){ const prodJs = cb => {
cb();
// ES5 return src("./src/assets/js/*.js")
pump([ .pipe(
gulp.src( './src/assets/js/*.js' ), webpack(require("./webpack.prod.js"), compiler, function(
webpack( require( './webpack.prod.js' ), compiler, function( err, stats ){ err,
// console.log( err, stats ); stats
}), ) {
gulp.dest( './prod/assets/js' ) // console.log( err, stats );
]); })
)
}); .pipe(dest("./prod/assets/js"));
};
// ================== IMG ============================ // ================== IMG ============================
// Оптимизация картинок для dev // Оптимизация картинок для dev
gulp.task('dev:img', function( cb ) { const devImgCommon = cb => {
pump([ cb();
gulp.src( [ return src([
'./src/assets/img/**/*', "!./src/favicon/**/*",
'./src/components/**/*.png', "!./src/assets/**/*",
'./src/components/**/*.jpg', "!./src/components/**/*",
'./src/components/**/*.jpeg', "./src/**/*.png",
'./src/components/**/*.gif', "./src/**/*.jpg",
'./src/components/**/*.svg' ] "./src/**/*.jpeg",
), "./src/**/*.gif",
cache( "./src/**/*.svg"
imagemin() ])
), .pipe(cache(imagemin()))
gulp.dest( './dev/assets/img' ) .pipe(dest("./dev"));
], cb ); };
});
const devImgComponents = cb => {
cb();
return src([
"./src/assets/img/**/*",
"./src/components/**/*.png",
"./src/components/**/*.jpg",
"./src/components/**/*.jpeg",
"./src/components/**/*.gif",
"./src/components/**/*.svg"
])
.pipe(cache(imagemin()))
.pipe(dest("./dev/assets/img"));
};
// Оптимизация картинок для prod // Оптимизация картинок для prod
gulp.task('prod:img', function( cb ) { const prodImgCommon = cb => {
pump([ cb();
gulp.src( [ return src([
'./src/assets/img/**/*', "src/**/*.png",
'./src/components/**/*.png', "src/**/*.jpg",
'./src/components/**/*.jpg', "src/**/*.jpeg",
'./src/components/**/*.jpeg', "src/**/*.gif",
'./src/components/**/*.gif', "src/**/*.svg",
'./src/components/**/*.svg' ] "!src/favicon/",
), "!src/assets/",
cache( "!src/components/"
imagemin() ])
), .pipe(cache(imagemin()))
gulp.dest( './prod/assets/img' ) .pipe(dest("prod"));
], cb ); };
});
const prodImgComponents = cb => {
cb();
return src([
"src/assets/img/**/*",
"src/components/**/*.png",
"src/components/**/*.jpg",
"src/components/**/*.jpeg",
"src/components/**/*.gif",
"src/components/**/*.svg"
])
.pipe(cache(imagemin()))
.pipe(dest("prod/assets/img"));
};
// ================== HTML ============================ // ================== HTML ============================
// HTML для dev // HTML для dev
gulp.task( 'dev:html', function( cb ){ const devHtml = () => {
return src([
// HTML "src/**/*.html",
pump([ "!src/assets/*.html",
gulp.src( './src/**/*.xml' ), "!src/components/**/*.html"
xslt( './src/components/common/common.xsl' ), ])
gulp.dest( './dev' ) .pipe(
], cb ); include({
prefix: "@@",
pump([ basepath: "@file",
gulp.src( [ context: {
'./src/favicon.ico', env: "DEV",
'./src/robots.txt' path: "/assets"
] ), }
gulp.dest( './dev' ) })
]); )
}); .pipe(
version({
value: "%MDS%",
append: {
key: "v",
to: ["css", "js", ["image", "%TS%"]]
}
})
)
.pipe(dest("./dev"));
};
// HTML для prod // HTML для prod
gulp.task( 'prod:html', function( cb ){ const prodHtml = cb => {
pump([ cb();
gulp.src( './src/**/*.xml' ), return src([
xslt( './src/components/common/common.xsl' ), "src/**/*.html",
gulp.dest( './prod' ) "!src/assets/*.html",
], cb ); "!src/components/**/*.html"
])
pump([ .pipe(
gulp.src( [ include({
'./src/favicon.ico', prefix: "@@",
'./src/robots.txt', basepath: "@file",
] ), context: {
gulp.dest( './prod' ) env: "PROD",
]); path: "/assets"
}
}); })
)
.pipe(
version({
value: "%MDS%",
append: {
key: "v",
to: ["css", "js", ["image", "%TS%"]]
}
})
)
.pipe(dest("./prod"));
};
// ================== DEV ============================ // ================== DEV ============================
// Слежение за dev // Слежение за dev
gulp.task( 'DEV', [ 'dev:img', 'dev:css', 'dev:js', 'dev:html' ], function() { function browserSync() {
browsersync.init({
browserSync.init({ /* server: {
server: { baseDir: '../prodalim/frontend/web/'
baseDir: './dev/' }, */
} proxy: "prodalim.local"
// port: 3000
}); });
}
gulp.watch( './src/assets/css/*.css' , ['dev:css']);
gulp.watch( './src/components/**/*.css' , ['dev:css']); function browserSyncReload(done) {
browsersync.reload();
gulp.watch( './src/assets/js/*.js', [ 'dev:js' ] ).on('change', browserSync.reload); done();
gulp.watch( './src/components/**/*.js', [ 'dev:js' ] ).on('change', browserSync.reload); }
gulp.watch( './dev/assets/js/**/*' ).on('change', browserSync.reload);
task(
gulp.watch( './src/**/*.xml', [ 'dev:html' ] ); "DEV",
gulp.watch( './dev/*.html' ).on('change', browserSync.reload); series(devImgCommon, devImgComponents, devCss, devJs, devHtml, () => {
watch(["./src/assets/css/*.css", "./src/components/**/*.css"], devCss);
gulp.watch( './src/assets/img/**/*', [ 'dev:img' ] );
gulp.watch( './src/components/**/*.gif', [ 'dev:img' ] ); watch(["./src/assets/js/*.js", "./src/components/**/*.js"], devJs);
gulp.watch( './src/components/**/*.jpg', [ 'dev:img' ] );
gulp.watch( './src/components/**/*.jpeg', [ 'dev:img' ] ); watch("./src/**/*.html", series(devHtml, browserSyncReload));
gulp.watch( './src/components/**/*.png', [ 'dev:img' ] );
gulp.watch( './src/components/**/*.svg', [ 'dev:img' ] ); watch(
gulp.watch( './dev/assets/img/**/*' ).on( 'change', browserSync.reload ); [
}); "./src/assets/img/**/*",
"./src/components/**/*.gif",
"./src/components/**/*.jpg",
"./src/components/**/*.jpeg",
"./src/components/**/*.png",
"./src/components/**/*.svg"
],
parallel(devImgCommon, devImgComponents)
);
browserSync();
})
);
// ================== PROD ============================ // ================== PROD ============================
// Публикация на prod // Публикация на prod
gulp.task( 'PROD', function(){ task(
gulp.start( 'prod:img', 'prod:css', 'prod:js', 'prod:html' ); "PROD",
}); series(prodImgCommon, prodImgComponents, prodCss, prodJs, prodHtml)
\ No newline at end of file );
This source diff could not be displayed because it is too large. You can view the blob instead.
{ {
"name": "default2", "name": "default2",
"version": "2.0.0", "version": "2.0.0",
"description": "Default frontend project", "description": "Default frontend project",
"author": "Bondarenko Yura", "author": "Bondarenko Yura",
"license": "ISC", "license": "ISC",
"homepage": "https://bnd.by/", "homepage": "https://bnd.by/",
"devDependencies": { "devDependencies": {
"@babel/core": "^7.2.0", "@babel/core": "^7.4.0",
"@babel/preset-env": "^7.2.0", "@babel/polyfill": "^7.4.0",
"babel-loader": "^8.0.4", "@babel/preset-env": "^7.4.0",
"browser-sync": "^2.26.3", "babel-loader": "^8.0.4",
"eslint": "^5.10.0", "browser-sync": "^2.26.3",
"gulp": "^3.9.1", "eslint": "^5.10.0",
"gulp-cache": "^1.0.2", "gulp": "^4.0.0",
"gulp-clean": "^0.4.0", "gulp-cache": "^1.1.1",
"gulp-image": "^4.4.1", "gulp-clean": "^0.4.0",
"gulp-postcss": "^8.0.0", "gulp-file-include": "^2.0.1",
"gulp-sftp": "^0.1.5", "gulp-image": "^4.4.1",
"gulp-sourcemaps": "^2.6.4", "gulp-postcss": "^8.0.0",
"gulp-xslt": "^5.0.0", "gulp-sftp": "^0.1.5",
"htmlhint": "^0.10.1", "gulp-sourcemaps": "^2.6.4",
"postcss-import": "^12.0.1", "gulp-version-number": "^0.2.3",
"postcss-preset-env": "^6.4.0", "htmlhint": "^0.10.1",
"pump": "^3.0.0", "postcss-import": "^12.0.1",
"stylelint": "^9.9.0", "postcss-preset-env": "^6.4.0",
"webpack-stream": "^5.2.1" "prettier": "1.17.0",
}, "stylelint": "^9.9.0",
"dependencies": {} "webpack": "^4.29.6",
"webpack-stream": "^5.2.1"
},
"dependencies": {
"swiper": "^4.5.0"
}
} }
...@@ -4,30 +4,40 @@ ...@@ -4,30 +4,40 @@
/* global module */ /* global module */
module.exports = { module.exports = {
mode: 'development', // mode: 'development',
mode: "production",
entry: { entry: {
app: './src/assets/js/app.js' app: "./src/assets/js/app.js"
}, },
output: { output: {
filename: '[name].js' filename: "[name].js"
}, },
devtool: 'source-map', devtool: "source-map",
module: { module: {
rules: [ rules: [
{ {
test: /\.js$/, test: /\.js$/,
exclude: /node_modules/, // exclude: /node_modules/,
exclude: /node_modules\/(?!(dom7|swiper|ssr-window)\/).*/,
use: { use: {
loader: 'babel-loader', loader: "babel-loader",
options: { options: {
presets: [ presets: [
[ '@babel/preset-env', { [
useBuiltIns: 'usage' "@babel/preset-env",
} ] {
useBuiltIns: "usage",
targets: [
"last 4 versions",
"ie >= 11",
"iOS >= 9"
]
}
]
] ]
} }
} }
} }
] ]
} }
}; };
\ No newline at end of file
...@@ -4,30 +4,39 @@ ...@@ -4,30 +4,39 @@
/* global module */ /* global module */
module.exports = { module.exports = {
mode: 'production', mode: "production",
entry: { entry: {
app: './src/assets/js/app.js' app: "./src/assets/js/app.js"
}, },
output: { output: {
filename: '[name].js' filename: "[name].js"
}, },
// devtool: 'source-map', // devtool: 'source-map',
module: { module: {
rules: [ rules: [
{ {
test: /\.js$/, test: /\.js$/,
exclude: /node_modules/, // exclude: /node_modules/,
exclude: /node_modules\/(?!(dom7|swiper|ssr-window)\/).*/,
use: { use: {
loader: 'babel-loader', loader: "babel-loader",
options: { options: {
presets: [ presets: [
[ '@babel/preset-env', { [
useBuiltIns: 'usage' "@babel/preset-env",
} ] {
useBuiltIns: "usage",
targets: [
"last 4 versions",
"ie >= 11",
"iOS >= 9"
]
}
]
] ]
} }
} }
} }
] ]
} }
}; };
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment