mirror of https://github.com/ColorlibHQ/AdminLTE
add lint in gulp
parent
32713d97dd
commit
e8a7fbf782
|
@ -1,6 +1,6 @@
|
|||
**/*.min.js
|
||||
**/plugins/
|
||||
/dist/js/adminlte.js
|
||||
/.temp/
|
||||
/dist/
|
||||
/docs/
|
||||
/docs_html/
|
||||
/.temp/
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
**/*.html
|
||||
**/*.md
|
||||
**/*.min.css
|
||||
**/.temp/
|
||||
**/dist/
|
||||
**/docs_html/
|
||||
**/plugins/
|
||||
**/.cache/
|
||||
/.temp/
|
||||
|
|
282
gulpfile.js
282
gulpfile.js
|
@ -6,15 +6,17 @@
|
|||
const browserSync = require('browser-sync').create()
|
||||
const cleanCss = require('gulp-clean-css')
|
||||
const del = require('del')
|
||||
const gulp = require('gulp')
|
||||
const esbuild = require('esbuild')
|
||||
const { ESLint } = require('eslint')
|
||||
const { src, dest, lastRun, watch, series } = require('gulp')
|
||||
const fileinclude = require('gulp-file-include')
|
||||
const npmDist = require('gulp-npm-dist')
|
||||
const sass = require('gulp-sass')
|
||||
const wait = require('gulp-wait')
|
||||
const postcss = require('gulp-postcss')
|
||||
const rename = require('gulp-rename')
|
||||
const sass = require('gulp-sass')
|
||||
const sourcemaps = require('gulp-sourcemaps')
|
||||
const fileinclude = require('gulp-file-include')
|
||||
const esbuild = require('esbuild')
|
||||
const gulpStylelint = require('gulp-stylelint')
|
||||
const wait = require('gulp-wait')
|
||||
|
||||
sass.compiler = require('sass')
|
||||
|
||||
|
@ -100,18 +102,28 @@ function postcssRtlOptions() {
|
|||
}
|
||||
|
||||
// Compile SCSS
|
||||
gulp.task('scss', () => {
|
||||
return gulp.src(paths.src.scss + '/adminlte.scss')
|
||||
.pipe(wait(500))
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(sass(sassOptions).on('error', sass.logError))
|
||||
.pipe(postcss(postcssOptions))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(gulp.dest(paths.temp.css))
|
||||
.pipe(browserSync.stream())
|
||||
})
|
||||
const scss = () => {
|
||||
return src(paths.src.scss + '/adminlte.scss')
|
||||
.pipe(wait(500))
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(sass(sassOptions).on('error', sass.logError))
|
||||
.pipe(postcss(postcssOptions))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(dest(paths.temp.css))
|
||||
.pipe(browserSync.stream())
|
||||
}
|
||||
|
||||
gulp.task('ts', () => {
|
||||
// Lint SCSS
|
||||
const lintScss = () => {
|
||||
return src([paths.src.scss + '/**/*.scss'], { since: lastRun(lintScss) })
|
||||
.pipe(gulpStylelint({
|
||||
reporters: [
|
||||
{ formatter: 'string', console: true }
|
||||
]
|
||||
}))
|
||||
}
|
||||
|
||||
const ts = () => {
|
||||
return esbuild.build({
|
||||
entryPoints: [paths.src.ts + '/adminlte.ts'],
|
||||
banner: {
|
||||
|
@ -125,71 +137,81 @@ gulp.task('ts', () => {
|
|||
}).catch(
|
||||
error => console.error(error)
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
gulp.task('index', () => {
|
||||
return gulp.src([paths.src.base + '*.html'])
|
||||
.pipe(fileinclude({
|
||||
prefix: '@@',
|
||||
basepath: './src/partials/',
|
||||
context: {
|
||||
environment: 'development'
|
||||
}
|
||||
}))
|
||||
.pipe(gulp.dest(paths.temp.base))
|
||||
.pipe(browserSync.stream())
|
||||
})
|
||||
// Lint TS
|
||||
async function lintTs() {
|
||||
const eslint = new ESLint()
|
||||
const results = await eslint.lintFiles([paths.src.ts + '/**/*.ts'])
|
||||
const formatter = await eslint.loadFormatter('stylish')
|
||||
const resultText = formatter.format(results)
|
||||
console.log(resultText)
|
||||
}
|
||||
|
||||
gulp.task('html', () => {
|
||||
return gulp.src([paths.src.html])
|
||||
.pipe(fileinclude({
|
||||
prefix: '@@',
|
||||
basepath: './src/partials/',
|
||||
context: {
|
||||
environment: 'development'
|
||||
}
|
||||
}))
|
||||
.pipe(gulp.dest(paths.temp.html))
|
||||
.pipe(browserSync.stream())
|
||||
})
|
||||
const index = () => {
|
||||
return src([paths.src.base + '*.html'])
|
||||
.pipe(fileinclude({
|
||||
prefix: '@@',
|
||||
basepath: './src/partials/',
|
||||
context: {
|
||||
environment: 'development'
|
||||
}
|
||||
}))
|
||||
.pipe(dest(paths.temp.base))
|
||||
.pipe(browserSync.stream())
|
||||
}
|
||||
|
||||
gulp.task('assets', () => {
|
||||
return gulp.src([paths.src.assets])
|
||||
.pipe(gulp.dest(paths.temp.assets))
|
||||
.pipe(browserSync.stream())
|
||||
})
|
||||
const html = () => {
|
||||
return src([paths.src.html])
|
||||
.pipe(fileinclude({
|
||||
prefix: '@@',
|
||||
basepath: './src/partials/',
|
||||
context: {
|
||||
environment: 'development'
|
||||
}
|
||||
}))
|
||||
.pipe(dest(paths.temp.html))
|
||||
.pipe(browserSync.stream())
|
||||
}
|
||||
|
||||
gulp.task('vendor', () => {
|
||||
return gulp.src(npmDist(), { base: paths.src.node_modules })
|
||||
.pipe(gulp.dest(paths.temp.vendor))
|
||||
})
|
||||
const assets = () => {
|
||||
return src([paths.src.assets])
|
||||
.pipe(dest(paths.temp.assets))
|
||||
.pipe(browserSync.stream())
|
||||
}
|
||||
|
||||
gulp.task('serve', gulp.series('scss', 'ts', 'html', 'index', 'assets', 'vendor', () => {
|
||||
const vendor = () => {
|
||||
return src(npmDist({ copyUnminified: true }), { base: paths.src.node_modules })
|
||||
.pipe(dest(paths.temp.vendor))
|
||||
}
|
||||
|
||||
const serve = () => {
|
||||
browserSync.init({
|
||||
server: paths.temp.base
|
||||
})
|
||||
|
||||
gulp.watch([paths.src.scss], gulp.series('scss'))
|
||||
gulp.watch([paths.src.ts], gulp.series('ts'))
|
||||
gulp.watch([paths.src.html, paths.src.base + '*.html', paths.src.partials], gulp.series('html', 'index'))
|
||||
gulp.watch([paths.src.assets], gulp.series('assets'))
|
||||
gulp.watch([paths.src.vendor], gulp.series('vendor'))
|
||||
}))
|
||||
watch([paths.src.scss], series(scss))
|
||||
watch([paths.src.scss], series(lintScss))
|
||||
watch([paths.src.ts], series(ts))
|
||||
watch([paths.src.html, paths.src.base + '*.html', paths.src.partials], series(html, index))
|
||||
watch([paths.src.assets], series(assets))
|
||||
watch([paths.src.vendor], series(vendor))
|
||||
}
|
||||
|
||||
// Minify CSS
|
||||
gulp.task('minify:dist:css', () => {
|
||||
return gulp.src([
|
||||
const minifyDistCss = () => {
|
||||
return src([
|
||||
paths.dist.css + '/**/*.css'
|
||||
], { base: paths.dist.css })
|
||||
.pipe(sourcemaps.init({ loadMaps: true }))
|
||||
.pipe(cleanCss())
|
||||
.pipe(rename({ suffix: '.min' }))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(gulp.dest(paths.dist.css))
|
||||
})
|
||||
.pipe(sourcemaps.init({ loadMaps: true }))
|
||||
.pipe(cleanCss())
|
||||
.pipe(rename({ suffix: '.min' }))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(dest(paths.dist.css))
|
||||
}
|
||||
|
||||
// Minify JS
|
||||
gulp.task('minify:dist:js', () => {
|
||||
const minifyDistJs = () => {
|
||||
return esbuild.build({
|
||||
entryPoints: [paths.dist.js + '/adminlte.js'],
|
||||
format: 'iife',
|
||||
|
@ -200,55 +222,55 @@ gulp.task('minify:dist:js', () => {
|
|||
}).catch(
|
||||
error => console.error(error)
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
// Copy assets
|
||||
gulp.task('copy:dist:assets', () => {
|
||||
return gulp.src(paths.src.assets)
|
||||
.pipe(gulp.dest(paths.dist.assets))
|
||||
})
|
||||
const copyDistAssets = () => {
|
||||
return src(paths.src.assets)
|
||||
.pipe(dest(paths.dist.assets))
|
||||
}
|
||||
|
||||
// Clean
|
||||
gulp.task('clean:dist', () => {
|
||||
const cleanDist = () => {
|
||||
return del([paths.dist.base])
|
||||
})
|
||||
}
|
||||
|
||||
// Compile and copy scss/css
|
||||
gulp.task('copy:dist:css', () => {
|
||||
return gulp.src([paths.src.scss + '/adminlte.scss'])
|
||||
.pipe(wait(500))
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(sass(sassOptions).on('error', sass.logError))
|
||||
.pipe(postcss(postcssOptions))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(gulp.dest(paths.dist.css))
|
||||
})
|
||||
const copyDistCss = () => {
|
||||
return src([paths.src.scss + '/adminlte.scss'])
|
||||
.pipe(wait(500))
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(sass(sassOptions).on('error', sass.logError))
|
||||
.pipe(postcss(postcssOptions))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(dest(paths.dist.css))
|
||||
}
|
||||
|
||||
gulp.task('copy:dist:css:dark', () => {
|
||||
return gulp.src([paths.src.scss + '/dark/*.scss'])
|
||||
.pipe(wait(500))
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(sass(sassOptions).on('error', sass.logError))
|
||||
.pipe(postcss(postcssOptions))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(gulp.dest(paths.dist.css + '/dark'))
|
||||
})
|
||||
const copyDistCssDark = () => {
|
||||
return src([paths.src.scss + '/dark/*.scss'])
|
||||
.pipe(wait(500))
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(sass(sassOptions).on('error', sass.logError))
|
||||
.pipe(postcss(postcssOptions))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(dest(paths.dist.css + '/dark'))
|
||||
}
|
||||
|
||||
gulp.task('copy:dist:css:rtl', () => {
|
||||
return gulp.src([
|
||||
const copyDistCssRtl = () => {
|
||||
return src([
|
||||
paths.dist.css + '/*.css',
|
||||
paths.dist.css + '/dark/*.css'
|
||||
])
|
||||
.pipe(wait(500))
|
||||
.pipe(sourcemaps.init({ loadMaps: true }))
|
||||
.pipe(postcss(postcssRtlOptions))
|
||||
.pipe(rename({ suffix: '.rtl' }))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(gulp.dest(paths.dist.css + '/rtl'))
|
||||
})
|
||||
.pipe(wait(500))
|
||||
.pipe(sourcemaps.init({ loadMaps: true }))
|
||||
.pipe(postcss(postcssRtlOptions))
|
||||
.pipe(rename({ suffix: '.rtl' }))
|
||||
.pipe(sourcemaps.write('.'))
|
||||
.pipe(dest(paths.dist.css + '/rtl'))
|
||||
}
|
||||
|
||||
// Compile and copy ts/js
|
||||
gulp.task('copy:dist:js', () => {
|
||||
const copyDistJs = () => {
|
||||
return esbuild.build({
|
||||
entryPoints: [paths.src.ts + '/adminlte.ts'],
|
||||
banner: {
|
||||
|
@ -262,41 +284,41 @@ gulp.task('copy:dist:js', () => {
|
|||
}).catch(
|
||||
error => console.error(error)
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
// Copy Html
|
||||
gulp.task('copy:dist:html', () => {
|
||||
return gulp.src([paths.src.html])
|
||||
.pipe(fileinclude({
|
||||
prefix: '@@',
|
||||
basepath: './src/partials/',
|
||||
context: {
|
||||
environment: 'production'
|
||||
}
|
||||
}))
|
||||
.pipe(gulp.dest(paths.dist.html))
|
||||
})
|
||||
const copyDistHtml = () => {
|
||||
return src([paths.src.html])
|
||||
.pipe(fileinclude({
|
||||
prefix: '@@',
|
||||
basepath: './src/partials/',
|
||||
context: {
|
||||
environment: 'production'
|
||||
}
|
||||
}))
|
||||
.pipe(dest(paths.dist.html))
|
||||
}
|
||||
|
||||
// Copy index
|
||||
gulp.task('copy:dist:html:index', () => {
|
||||
return gulp.src([paths.src.base + '*.html'])
|
||||
.pipe(fileinclude({
|
||||
prefix: '@@',
|
||||
basepath: './src/partials/',
|
||||
context: {
|
||||
environment: 'production'
|
||||
}
|
||||
}))
|
||||
.pipe(gulp.dest(paths.dist.base))
|
||||
})
|
||||
const copyDistHtmlIndex = () => {
|
||||
return src([paths.src.base + '*.html'])
|
||||
.pipe(fileinclude({
|
||||
prefix: '@@',
|
||||
basepath: './src/partials/',
|
||||
context: {
|
||||
environment: 'production'
|
||||
}
|
||||
}))
|
||||
.pipe(dest(paths.dist.base))
|
||||
}
|
||||
|
||||
// Copy node_modules to vendor
|
||||
gulp.task('copy:dist:vendor', () => {
|
||||
return gulp.src(npmDist(), { base: paths.src.node_modules })
|
||||
.pipe(gulp.dest(paths.dist.vendor))
|
||||
})
|
||||
const copyDistVendor = () => {
|
||||
return src(npmDist({ copyUnminified: true }), { base: paths.src.node_modules })
|
||||
.pipe(dest(paths.dist.vendor))
|
||||
}
|
||||
|
||||
gulp.task('build', gulp.series('clean:dist', 'copy:dist:css', 'copy:dist:css:dark', 'copy:dist:css:rtl', 'minify:dist:css', 'copy:dist:js', 'minify:dist:js', 'copy:dist:html', 'copy:dist:html:index', 'copy:dist:assets', 'copy:dist:vendor'))
|
||||
exports.build = series(lintScss, lintTs, cleanDist, copyDistCss, copyDistCssDark, copyDistCssRtl, minifyDistCss, copyDistJs, minifyDistJs, copyDistHtml, copyDistHtmlIndex, copyDistAssets, copyDistVendor)
|
||||
|
||||
// Default
|
||||
gulp.task('default', gulp.series('serve'))
|
||||
exports.default = series(lintScss, scss, lintTs, ts, html, index, assets, vendor, serve)
|
||||
|
|
|
@ -618,13 +618,13 @@
|
|||
"dev": true
|
||||
},
|
||||
"@typescript-eslint/eslint-plugin": {
|
||||
"version": "4.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.23.0.tgz",
|
||||
"integrity": "sha512-tGK1y3KIvdsQEEgq6xNn1DjiFJtl+wn8JJQiETtCbdQxw1vzjXyAaIkEmO2l6Nq24iy3uZBMFQjZ6ECf1QdgGw==",
|
||||
"version": "4.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.24.0.tgz",
|
||||
"integrity": "sha512-qbCgkPM7DWTsYQGjx9RTuQGswi+bEt0isqDBeo+CKV0953zqI0Tp7CZ7Fi9ipgFA6mcQqF4NOVNwS/f2r6xShw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@typescript-eslint/experimental-utils": "4.23.0",
|
||||
"@typescript-eslint/scope-manager": "4.23.0",
|
||||
"@typescript-eslint/experimental-utils": "4.24.0",
|
||||
"@typescript-eslint/scope-manager": "4.24.0",
|
||||
"debug": "^4.1.1",
|
||||
"functional-red-black-tree": "^1.0.1",
|
||||
"lodash": "^4.17.15",
|
||||
|
@ -634,55 +634,55 @@
|
|||
}
|
||||
},
|
||||
"@typescript-eslint/experimental-utils": {
|
||||
"version": "4.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.23.0.tgz",
|
||||
"integrity": "sha512-WAFNiTDnQfrF3Z2fQ05nmCgPsO5o790vOhmWKXbbYQTO9erE1/YsFot5/LnOUizLzU2eeuz6+U/81KV5/hFTGA==",
|
||||
"version": "4.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.24.0.tgz",
|
||||
"integrity": "sha512-IwTT2VNDKH1h8RZseMH4CcYBz6lTvRoOLDuuqNZZoThvfHEhOiZPQCow+5El3PtyxJ1iDr6UXZwYtE3yZQjhcw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/json-schema": "^7.0.3",
|
||||
"@typescript-eslint/scope-manager": "4.23.0",
|
||||
"@typescript-eslint/types": "4.23.0",
|
||||
"@typescript-eslint/typescript-estree": "4.23.0",
|
||||
"@typescript-eslint/scope-manager": "4.24.0",
|
||||
"@typescript-eslint/types": "4.24.0",
|
||||
"@typescript-eslint/typescript-estree": "4.24.0",
|
||||
"eslint-scope": "^5.0.0",
|
||||
"eslint-utils": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@typescript-eslint/parser": {
|
||||
"version": "4.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.23.0.tgz",
|
||||
"integrity": "sha512-wsvjksHBMOqySy/Pi2Q6UuIuHYbgAMwLczRl4YanEPKW5KVxI9ZzDYh3B5DtcZPQTGRWFJrfcbJ6L01Leybwug==",
|
||||
"version": "4.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.24.0.tgz",
|
||||
"integrity": "sha512-dj1ZIh/4QKeECLb2f/QjRwMmDArcwc2WorWPRlB8UNTZlY1KpTVsbX7e3ZZdphfRw29aTFUSNuGB8w9X5sS97w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@typescript-eslint/scope-manager": "4.23.0",
|
||||
"@typescript-eslint/types": "4.23.0",
|
||||
"@typescript-eslint/typescript-estree": "4.23.0",
|
||||
"@typescript-eslint/scope-manager": "4.24.0",
|
||||
"@typescript-eslint/types": "4.24.0",
|
||||
"@typescript-eslint/typescript-estree": "4.24.0",
|
||||
"debug": "^4.1.1"
|
||||
}
|
||||
},
|
||||
"@typescript-eslint/scope-manager": {
|
||||
"version": "4.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.23.0.tgz",
|
||||
"integrity": "sha512-ZZ21PCFxPhI3n0wuqEJK9omkw51wi2bmeKJvlRZPH5YFkcawKOuRMQMnI8mH6Vo0/DoHSeZJnHiIx84LmVQY+w==",
|
||||
"version": "4.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.24.0.tgz",
|
||||
"integrity": "sha512-9+WYJGDnuC9VtYLqBhcSuM7du75fyCS/ypC8c5g7Sdw7pGL4NDTbeH38eJPfzIydCHZDoOgjloxSAA3+4l/zsA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@typescript-eslint/types": "4.23.0",
|
||||
"@typescript-eslint/visitor-keys": "4.23.0"
|
||||
"@typescript-eslint/types": "4.24.0",
|
||||
"@typescript-eslint/visitor-keys": "4.24.0"
|
||||
}
|
||||
},
|
||||
"@typescript-eslint/types": {
|
||||
"version": "4.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.23.0.tgz",
|
||||
"integrity": "sha512-oqkNWyG2SLS7uTWLZf6Sr7Dm02gA5yxiz1RP87tvsmDsguVATdpVguHr4HoGOcFOpCvx9vtCSCyQUGfzq28YCw==",
|
||||
"version": "4.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.24.0.tgz",
|
||||
"integrity": "sha512-tkZUBgDQKdvfs8L47LaqxojKDE+mIUmOzdz7r+u+U54l3GDkTpEbQ1Jp3cNqqAU9vMUCBA1fitsIhm7yN0vx9Q==",
|
||||
"dev": true
|
||||
},
|
||||
"@typescript-eslint/typescript-estree": {
|
||||
"version": "4.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.23.0.tgz",
|
||||
"integrity": "sha512-5Sty6zPEVZF5fbvrZczfmLCOcby3sfrSPu30qKoY1U3mca5/jvU5cwsPb/CO6Q3ByRjixTMIVsDkqwIxCf/dMw==",
|
||||
"version": "4.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.24.0.tgz",
|
||||
"integrity": "sha512-kBDitL/by/HK7g8CYLT7aKpAwlR8doshfWz8d71j97n5kUa5caHWvY0RvEUEanL/EqBJoANev8Xc/mQ6LLwXGA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@typescript-eslint/types": "4.23.0",
|
||||
"@typescript-eslint/visitor-keys": "4.23.0",
|
||||
"@typescript-eslint/types": "4.24.0",
|
||||
"@typescript-eslint/visitor-keys": "4.24.0",
|
||||
"debug": "^4.1.1",
|
||||
"globby": "^11.0.1",
|
||||
"is-glob": "^4.0.1",
|
||||
|
@ -691,12 +691,12 @@
|
|||
}
|
||||
},
|
||||
"@typescript-eslint/visitor-keys": {
|
||||
"version": "4.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.23.0.tgz",
|
||||
"integrity": "sha512-5PNe5cmX9pSifit0H+nPoQBXdbNzi5tOEec+3riK+ku4e3er37pKxMKDH5Ct5Y4fhWxcD4spnlYjxi9vXbSpwg==",
|
||||
"version": "4.24.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.24.0.tgz",
|
||||
"integrity": "sha512-4ox1sjmGHIxjEDBnMCtWFFhErXtKA1Ec0sBpuz0fqf3P+g3JFGyTxxbF06byw0FRsPnnbq44cKivH7Ks1/0s6g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@typescript-eslint/types": "4.23.0",
|
||||
"@typescript-eslint/types": "4.24.0",
|
||||
"eslint-visitor-keys": "^2.0.0"
|
||||
}
|
||||
},
|
||||
|
@ -4872,6 +4872,81 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"gulp-stylelint": {
|
||||
"version": "13.0.0",
|
||||
"resolved": "https://registry.npmjs.org/gulp-stylelint/-/gulp-stylelint-13.0.0.tgz",
|
||||
"integrity": "sha512-qFWBXnYDsGy6ttzqptctMZjJhhGc0FdFE+UNPlj/5fTyuUo5mfxcc7pzN4hIJnvB79BO1WikLtdtXuC/G2AhGA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "^3.0.0",
|
||||
"fancy-log": "^1.3.3",
|
||||
"plugin-error": "^1.0.1",
|
||||
"source-map": "^0.7.3",
|
||||
"strip-ansi": "^6.0.0",
|
||||
"through2": "^3.0.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
|
||||
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
|
||||
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.7.3",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
|
||||
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
|
||||
"dev": true
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
|
||||
"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"through2": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
|
||||
"integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"inherits": "^2.0.4",
|
||||
"readable-stream": "2 || 3"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"gulp-wait": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/gulp-wait/-/gulp-wait-0.0.2.tgz",
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
"main": "dist/js/adminlte.min.js",
|
||||
"scripts": {
|
||||
"bundlewatch": "bundlewatch --config .bundlewatch.config.json",
|
||||
"css-lint": "stylelint \"scss/**/*.scss\" --cache --cache-location .cache/.stylelintcache",
|
||||
"css-lint": "stylelint \"src/scss/**/*.scss\" --cache --cache-location .cache/.stylelintcache",
|
||||
"lockfile-lint": "lockfile-lint --allowed-hosts npm --allowed-schemes https: --empty-hostname false --type npm --path package-lock.json",
|
||||
"ts:type-check": "tsc --noEmit",
|
||||
"js-lint": "eslint --ext=js,ts --cache --cache-location .cache/.eslintcache --report-unused-disable-directives .",
|
||||
"lint": "npm-run-all --continue-on-error --parallel css-lint js-lint lockfile-lint"
|
||||
"lint": "npm-run-all --continue-on-error --parallel css-lint js-lint ts:type-check lockfile-lint"
|
||||
},
|
||||
"keywords": [
|
||||
"css",
|
||||
|
@ -40,8 +40,8 @@
|
|||
"bootstrap": "^5.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@typescript-eslint/eslint-plugin": "^4.23.0",
|
||||
"@typescript-eslint/parser": "^4.23.0",
|
||||
"@typescript-eslint/eslint-plugin": "^4.24.0",
|
||||
"@typescript-eslint/parser": "^4.24.0",
|
||||
"autoprefixer": "^10.2.5",
|
||||
"browser-sync": "^2.26.14",
|
||||
"bundlewatch": "^0.3.2",
|
||||
|
@ -60,6 +60,7 @@
|
|||
"gulp-rename": "^2.0.0",
|
||||
"gulp-sass": "^4.1.0",
|
||||
"gulp-sourcemaps": "^3.0.0",
|
||||
"gulp-stylelint": "^13.0.0",
|
||||
"gulp-wait": "0.0.2",
|
||||
"lockfile-lint": "^4.6.2",
|
||||
"npm-run-all": "^4.1.5",
|
||||
|
|
Loading…
Reference in New Issue