mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-26 23:52:06 +00:00
perf: cherry-pick only used lodash imports (#4099)
This commit is contained in:
parent
119d349478
commit
ab5af540e0
2
.gitignore
vendored
2
.gitignore
vendored
@ -4,7 +4,7 @@ jspm_packages
|
|||||||
|
|
||||||
# Only keep yarn.lock in the root
|
# Only keep yarn.lock in the root
|
||||||
package-lock.json
|
package-lock.json
|
||||||
**/yarn.lock
|
./**/yarn.lock
|
||||||
|
|
||||||
# Logs
|
# Logs
|
||||||
*.log
|
*.log
|
||||||
|
@ -1,7 +1,14 @@
|
|||||||
import path from 'path'
|
import path from 'path'
|
||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
import pify from 'pify'
|
import pify from 'pify'
|
||||||
import _ from 'lodash'
|
import uniqBy from 'lodash/uniqBy'
|
||||||
|
import map from 'lodash/map'
|
||||||
|
import debounce from 'lodash/debounce'
|
||||||
|
import concat from 'lodash/concat'
|
||||||
|
import omit from 'lodash/omit'
|
||||||
|
import uniq from 'lodash/uniq'
|
||||||
|
import template from 'lodash/template'
|
||||||
|
import values from 'lodash/values'
|
||||||
import chokidar from 'chokidar'
|
import chokidar from 'chokidar'
|
||||||
import fsExtra from 'fs-extra'
|
import fsExtra from 'fs-extra'
|
||||||
import hash from 'hash-sum'
|
import hash from 'hash-sum'
|
||||||
@ -92,7 +99,7 @@ export default class Builder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
normalizePlugins() {
|
normalizePlugins() {
|
||||||
return _.uniqBy(
|
return uniqBy(
|
||||||
this.options.plugins.map((p) => {
|
this.options.plugins.map((p) => {
|
||||||
if (typeof p === 'string') p = { src: p }
|
if (typeof p === 'string') p = { src: p }
|
||||||
const pluginBaseName = path.basename(p.src, path.extname(p.src)).replace(
|
const pluginBaseName = path.basename(p.src, path.extname(p.src)).replace(
|
||||||
@ -205,7 +212,7 @@ export default class Builder {
|
|||||||
.join('|'),
|
.join('|'),
|
||||||
messages: this.options.messages,
|
messages: this.options.messages,
|
||||||
splitChunks: this.options.build.splitChunks,
|
splitChunks: this.options.build.splitChunks,
|
||||||
uniqBy: _.uniqBy,
|
uniqBy,
|
||||||
isDev: this.options.dev,
|
isDev: this.options.dev,
|
||||||
debug: this.options.debug,
|
debug: this.options.debug,
|
||||||
vue: { config: this.options.vue.config },
|
vue: { config: this.options.vue.config },
|
||||||
@ -411,7 +418,7 @@ export default class Builder {
|
|||||||
const fileContent = await fsExtra.readFile(src, 'utf8')
|
const fileContent = await fsExtra.readFile(src, 'utf8')
|
||||||
let content
|
let content
|
||||||
try {
|
try {
|
||||||
const template = _.template(fileContent, {
|
const templateFunction = template(fileContent, {
|
||||||
imports: {
|
imports: {
|
||||||
serialize,
|
serialize,
|
||||||
devalue,
|
devalue,
|
||||||
@ -425,7 +432,7 @@ export default class Builder {
|
|||||||
},
|
},
|
||||||
interpolate: /<%=([\s\S]+?)%>/g
|
interpolate: /<%=([\s\S]+?)%>/g
|
||||||
})
|
})
|
||||||
content = template(
|
content = templateFunction(
|
||||||
Object.assign({}, templateVars, {
|
Object.assign({}, templateVars, {
|
||||||
options: options || {},
|
options: options || {},
|
||||||
custom,
|
custom,
|
||||||
@ -635,11 +642,11 @@ export default class Builder {
|
|||||||
r(src, `${this.options.dir.pages}/**/*.{vue,js}`)
|
r(src, `${this.options.dir.pages}/**/*.{vue,js}`)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
patterns = _.map(patterns, upath.normalizeSafe)
|
patterns = map(patterns, upath.normalizeSafe)
|
||||||
|
|
||||||
const options = this.options.watchers.chokidar
|
const options = this.options.watchers.chokidar
|
||||||
/* istanbul ignore next */
|
/* istanbul ignore next */
|
||||||
const refreshFiles = _.debounce(() => this.generateRoutesAndFiles(), 200)
|
const refreshFiles = debounce(() => this.generateRoutesAndFiles(), 200)
|
||||||
|
|
||||||
// Watch for src Files
|
// Watch for src Files
|
||||||
this.watchers.files = chokidar
|
this.watchers.files = chokidar
|
||||||
@ -648,18 +655,18 @@ export default class Builder {
|
|||||||
.on('unlink', refreshFiles)
|
.on('unlink', refreshFiles)
|
||||||
|
|
||||||
// Watch for custom provided files
|
// Watch for custom provided files
|
||||||
let customPatterns = _.concat(
|
let customPatterns = concat(
|
||||||
this.options.build.watch,
|
this.options.build.watch,
|
||||||
..._.values(_.omit(this.options.build.styleResources, ['options']))
|
...values(omit(this.options.build.styleResources, ['options']))
|
||||||
)
|
)
|
||||||
customPatterns = _.map(_.uniq(customPatterns), upath.normalizeSafe)
|
customPatterns = map(uniq(customPatterns), upath.normalizeSafe)
|
||||||
this.watchers.custom = chokidar
|
this.watchers.custom = chokidar
|
||||||
.watch(customPatterns, options)
|
.watch(customPatterns, options)
|
||||||
.on('change', refreshFiles)
|
.on('change', refreshFiles)
|
||||||
}
|
}
|
||||||
|
|
||||||
watchServer() {
|
watchServer() {
|
||||||
const nuxtRestartWatch = _.concat(
|
const nuxtRestartWatch = concat(
|
||||||
this.options.serverMiddleware
|
this.options.serverMiddleware
|
||||||
.filter(i => typeof i === 'string')
|
.filter(i => typeof i === 'string')
|
||||||
.map(this.nuxt.resolver.resolveAlias),
|
.map(this.nuxt.resolver.resolveAlias),
|
||||||
@ -694,7 +701,7 @@ export default class Builder {
|
|||||||
// TODO: remove ignore when generateConfig enabled again
|
// TODO: remove ignore when generateConfig enabled again
|
||||||
async generateConfig() /* istanbul ignore next */ {
|
async generateConfig() /* istanbul ignore next */ {
|
||||||
const config = path.resolve(this.options.buildDir, 'build.config.js')
|
const config = path.resolve(this.options.buildDir, 'build.config.js')
|
||||||
const options = _.omit(this.options, Options.unsafeKeys)
|
const options = omit(this.options, Options.unsafeKeys)
|
||||||
await fsExtra.writeFile(
|
await fsExtra.writeFile(
|
||||||
config,
|
config,
|
||||||
`export default ${JSON.stringify(options, null, ' ')}`,
|
`export default ${JSON.stringify(options, null, ' ')}`,
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import path from 'path'
|
import path from 'path'
|
||||||
import consola from 'consola'
|
import consola from 'consola'
|
||||||
import TimeFixPlugin from 'time-fix-plugin'
|
import TimeFixPlugin from 'time-fix-plugin'
|
||||||
import _ from 'lodash'
|
import clone from 'lodash/clone'
|
||||||
|
import cloneDeep from 'lodash/cloneDeep'
|
||||||
import VueLoader from 'vue-loader'
|
import VueLoader from 'vue-loader'
|
||||||
import MiniCssExtractPlugin from 'mini-css-extract-plugin'
|
import MiniCssExtractPlugin from 'mini-css-extract-plugin'
|
||||||
import WebpackBar from 'webpackbar'
|
import WebpackBar from 'webpackbar'
|
||||||
@ -33,7 +34,7 @@ export default class WebpackBaseConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getBabelOptions() {
|
getBabelOptions() {
|
||||||
const options = _.clone(this.options.build.babel)
|
const options = clone(this.options.build.babel)
|
||||||
|
|
||||||
if (typeof options.presets === 'function') {
|
if (typeof options.presets === 'function') {
|
||||||
options.presets = options.presets({ isServer: this.isServer })
|
options.presets = options.presets({ isServer: this.isServer })
|
||||||
@ -324,6 +325,6 @@ export default class WebpackBaseConfig {
|
|||||||
const extendedConfig = this.extendConfig(config)
|
const extendedConfig = this.extendConfig(config)
|
||||||
|
|
||||||
// Clone deep avoid leaking config between Client and Server
|
// Clone deep avoid leaking config between Client and Server
|
||||||
return _.cloneDeep(extendedConfig)
|
return cloneDeep(extendedConfig)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import hash from 'hash-sum'
|
import hash from 'hash-sum'
|
||||||
import { uniq } from 'lodash'
|
import uniq from 'lodash/uniq'
|
||||||
|
|
||||||
import { isJS, isCSS, onEmit } from './util'
|
import { isJS, isCSS, onEmit } from './util'
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
import _ from 'lodash'
|
import defaults from 'lodash/defaults'
|
||||||
|
import merge from 'lodash/merge'
|
||||||
|
import cloneDeep from 'lodash/cloneDeep'
|
||||||
import createResolver from 'postcss-import-resolver'
|
import createResolver from 'postcss-import-resolver'
|
||||||
|
|
||||||
import { isPureObject } from '@nuxt/common'
|
import { isPureObject } from '@nuxt/common'
|
||||||
@ -112,7 +114,7 @@ export default class PostcssConfig {
|
|||||||
return config
|
return config
|
||||||
}
|
}
|
||||||
|
|
||||||
config = this.normalize(_.cloneDeep(this.postcss))
|
config = this.normalize(cloneDeep(this.postcss))
|
||||||
|
|
||||||
// Apply default plugins
|
// Apply default plugins
|
||||||
if (isPureObject(config)) {
|
if (isPureObject(config)) {
|
||||||
@ -121,10 +123,10 @@ export default class PostcssConfig {
|
|||||||
delete config.preset
|
delete config.preset
|
||||||
}
|
}
|
||||||
if (Array.isArray(config.plugins)) {
|
if (Array.isArray(config.plugins)) {
|
||||||
_.defaults(config, this.defaultConfig)
|
defaults(config, this.defaultConfig)
|
||||||
} else {
|
} else {
|
||||||
// Keep the order of default plugins
|
// Keep the order of default plugins
|
||||||
config = _.merge({}, this.defaultConfig, config)
|
config = merge({}, this.defaultConfig, config)
|
||||||
this.loadPlugins(config)
|
this.loadPlugins(config)
|
||||||
}
|
}
|
||||||
return config
|
return config
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import path from 'path'
|
import path from 'path'
|
||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
import _ from 'lodash'
|
import capitalize from 'lodash/capitalize'
|
||||||
import env from 'std-env'
|
import env from 'std-env'
|
||||||
|
|
||||||
const nuxtDir = fs.existsSync(path.resolve(__dirname, '..', '..', 'package.js'))
|
const nuxtDir = fs.existsSync(path.resolve(__dirname, '..', '..', 'package.js'))
|
||||||
@ -22,8 +22,8 @@ export default {
|
|||||||
nuxt: globalName => `$${globalName}`,
|
nuxt: globalName => `$${globalName}`,
|
||||||
context: globalName => `__${globalName.toUpperCase()}__`,
|
context: globalName => `__${globalName.toUpperCase()}__`,
|
||||||
pluginPrefix: globalName => globalName,
|
pluginPrefix: globalName => globalName,
|
||||||
readyCallback: globalName => `on${_.capitalize(globalName)}Ready`,
|
readyCallback: globalName => `on${capitalize(globalName)}Ready`,
|
||||||
loadedCallback: globalName => `_on${_.capitalize(globalName)}Loaded`
|
loadedCallback: globalName => `_on${capitalize(globalName)}Loaded`
|
||||||
},
|
},
|
||||||
|
|
||||||
// Server options
|
// Server options
|
||||||
|
@ -1,8 +1,12 @@
|
|||||||
import path from 'path'
|
import path from 'path'
|
||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
import _ from 'lodash'
|
import defaultsDeep from 'lodash/defaultsDeep'
|
||||||
|
import defaults from 'lodash/defaults'
|
||||||
|
import pick from 'lodash/pick'
|
||||||
|
import isObject from 'lodash/isObject'
|
||||||
import consola from 'consola'
|
import consola from 'consola'
|
||||||
|
|
||||||
|
import { isString } from '@nuxt/common'
|
||||||
import { isPureObject, isUrl, guardDir } from './utils'
|
import { isPureObject, isUrl, guardDir } from './utils'
|
||||||
import Modes from './modes'
|
import Modes from './modes'
|
||||||
import NuxtConfig from './nuxt.config'
|
import NuxtConfig from './nuxt.config'
|
||||||
@ -42,7 +46,7 @@ Options.from = function (_options) {
|
|||||||
options.extensions = [options.extensions]
|
options.extensions = [options.extensions]
|
||||||
}
|
}
|
||||||
|
|
||||||
options.globalName = (_.isString(options.globalName) && /^[a-zA-Z]+$/.test(options.globalName))
|
options.globalName = (isString(options.globalName) && /^[a-zA-Z]+$/.test(options.globalName))
|
||||||
? options.globalName.toLowerCase()
|
? options.globalName.toLowerCase()
|
||||||
: `nuxt`
|
: `nuxt`
|
||||||
|
|
||||||
@ -54,11 +58,11 @@ Options.from = function (_options) {
|
|||||||
// const buildDir = options.buildDir || defaults.buildDir
|
// const buildDir = options.buildDir || defaults.buildDir
|
||||||
// const buildConfig = resolve(options.rootDir, buildDir, 'build.config.js')
|
// const buildConfig = resolve(options.rootDir, buildDir, 'build.config.js')
|
||||||
// if (existsSync(buildConfig)) {
|
// if (existsSync(buildConfig)) {
|
||||||
// _.defaultsDeep(options, require(buildConfig))
|
// defaultsDeep(options, require(buildConfig))
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// Apply defaults
|
// Apply defaults
|
||||||
_.defaultsDeep(options, NuxtConfig)
|
defaultsDeep(options, NuxtConfig)
|
||||||
|
|
||||||
// Check srcDir and generate.dir excistence
|
// Check srcDir and generate.dir excistence
|
||||||
const hasSrcDir = hasValue(options.srcDir)
|
const hasSrcDir = hasValue(options.srcDir)
|
||||||
@ -166,7 +170,7 @@ Options.from = function (_options) {
|
|||||||
reportOnly: options.debug
|
reportOnly: options.debug
|
||||||
}
|
}
|
||||||
if (csp) {
|
if (csp) {
|
||||||
options.render.csp = _.defaults(_.isObject(csp) ? csp : {}, cspDefaults)
|
options.render.csp = defaults(isObject(csp) ? csp : {}, cspDefaults)
|
||||||
}
|
}
|
||||||
|
|
||||||
// cssSourceMap
|
// cssSourceMap
|
||||||
@ -190,7 +194,7 @@ Options.from = function (_options) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// merge custom env with variables
|
// merge custom env with variables
|
||||||
const eligibleEnvVariables = _.pick(process.env, Object.keys(process.env).filter(k => k.startsWith('NUXT_ENV_')))
|
const eligibleEnvVariables = pick(process.env, Object.keys(process.env).filter(k => k.startsWith('NUXT_ENV_')))
|
||||||
Object.assign(options.env, eligibleEnvVariables)
|
Object.assign(options.env, eligibleEnvVariables)
|
||||||
|
|
||||||
// Normalize ignore
|
// Normalize ignore
|
||||||
@ -218,7 +222,7 @@ Options.from = function (_options) {
|
|||||||
|
|
||||||
// Apply mode preset
|
// Apply mode preset
|
||||||
const modePreset = Modes[options.mode || 'universal'] || Modes.universal
|
const modePreset = Modes[options.mode || 'universal'] || Modes.universal
|
||||||
_.defaultsDeep(options, modePreset)
|
defaultsDeep(options, modePreset)
|
||||||
|
|
||||||
// If no server-side rendering, add appear true transition
|
// If no server-side rendering, add appear true transition
|
||||||
/* istanbul ignore if */
|
/* istanbul ignore if */
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import path from 'path'
|
import path from 'path'
|
||||||
import _ from 'lodash'
|
import escapeRegExp from 'lodash/escapeRegExp'
|
||||||
|
import get from 'lodash/get'
|
||||||
import consola from 'consola'
|
import consola from 'consola'
|
||||||
|
|
||||||
export const encodeHtml = function encodeHtml(str) {
|
export const encodeHtml = function encodeHtml(str) {
|
||||||
@ -145,7 +146,7 @@ export const wChunk = function wChunk(p = '') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const reqSep = /\//g
|
const reqSep = /\//g
|
||||||
const sysSep = _.escapeRegExp(path.sep)
|
const sysSep = escapeRegExp(path.sep)
|
||||||
const normalize = string => string.replace(reqSep, sysSep)
|
const normalize = string => string.replace(reqSep, sysSep)
|
||||||
|
|
||||||
export const r = function r(...args) {
|
export const r = function r(...args) {
|
||||||
@ -335,8 +336,8 @@ export const createRoutes = function createRoutes(files, srcDir, pagesDir) {
|
|||||||
|
|
||||||
// Guard dir1 from dir2 which can be indiscriminately removed
|
// Guard dir1 from dir2 which can be indiscriminately removed
|
||||||
export const guardDir = function guardDir(options, key1, key2) {
|
export const guardDir = function guardDir(options, key1, key2) {
|
||||||
const dir1 = _.get(options, key1, false)
|
const dir1 = get(options, key1, false)
|
||||||
const dir2 = _.get(options, key2, false)
|
const dir2 = get(options, key2, false)
|
||||||
|
|
||||||
if (
|
if (
|
||||||
dir1 &&
|
dir1 &&
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import https from 'https'
|
import https from 'https'
|
||||||
import enableDestroy from 'server-destroy'
|
import enableDestroy from 'server-destroy'
|
||||||
import _ from 'lodash'
|
import isPlainObject from 'lodash/isPlainObject'
|
||||||
import consola from 'consola'
|
import consola from 'consola'
|
||||||
import chalk from 'chalk'
|
import chalk from 'chalk'
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ export default class Nuxt {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add hooks
|
// Add hooks
|
||||||
if (_.isPlainObject(this.options.hooks)) {
|
if (isPlainObject(this.options.hooks)) {
|
||||||
this.addHooks(this.options.hooks)
|
this.addHooks(this.options.hooks)
|
||||||
} else if (typeof this.options.hooks === 'function') {
|
} else if (typeof this.options.hooks === 'function') {
|
||||||
this.options.hooks(this.hook)
|
this.options.hooks(this.hook)
|
||||||
|
@ -2,7 +2,7 @@ import path from 'path'
|
|||||||
import crypto from 'crypto'
|
import crypto from 'crypto'
|
||||||
import devalue from '@nuxtjs/devalue'
|
import devalue from '@nuxtjs/devalue'
|
||||||
import serveStatic from 'serve-static'
|
import serveStatic from 'serve-static'
|
||||||
import _ from 'lodash'
|
import template from 'lodash/template'
|
||||||
import fs from 'fs-extra'
|
import fs from 'fs-extra'
|
||||||
import { createBundleRenderer } from 'vue-server-renderer'
|
import { createBundleRenderer } from 'vue-server-renderer'
|
||||||
import connect from 'connect'
|
import connect from 'connect'
|
||||||
@ -414,10 +414,13 @@ export default class Renderer {
|
|||||||
virtualConsole: true,
|
virtualConsole: true,
|
||||||
beforeParse(window) {
|
beforeParse(window) {
|
||||||
// Mock window.scrollTo
|
// Mock window.scrollTo
|
||||||
window.scrollTo = () => {}
|
window.scrollTo = () => {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, opts)
|
}, opts)
|
||||||
const jsdomErrHandler = (err) => { throw err }
|
const jsdomErrHandler = (err) => {
|
||||||
|
throw err
|
||||||
|
}
|
||||||
if (options.virtualConsole) {
|
if (options.virtualConsole) {
|
||||||
if (options.virtualConsole === true) {
|
if (options.virtualConsole === true) {
|
||||||
options.virtualConsole = new jsdom.VirtualConsole().sendTo(consola)
|
options.virtualConsole = new jsdom.VirtualConsole().sendTo(consola)
|
||||||
@ -452,7 +455,7 @@ export default class Renderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const parseTemplate = templateStr =>
|
const parseTemplate = templateStr =>
|
||||||
_.template(templateStr, {
|
template(templateStr, {
|
||||||
interpolate: /{{([\s\S]+?)}}/g
|
interpolate: /{{([\s\S]+?)}}/g
|
||||||
})
|
})
|
||||||
|
|
||||||
|
64
yarn.lock
64
yarn.lock
@ -2603,12 +2603,7 @@ caniuse-api@^3.0.0:
|
|||||||
lodash.memoize "^4.1.2"
|
lodash.memoize "^4.1.2"
|
||||||
lodash.uniq "^4.5.0"
|
lodash.uniq "^4.5.0"
|
||||||
|
|
||||||
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000890, caniuse-lite@^1.0.30000892:
|
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000890, caniuse-lite@^1.0.30000892, caniuse-lite@^1.0.30000893:
|
||||||
version "1.0.30000892"
|
|
||||||
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000892.tgz#344d2b51ee3ff5977537da4aa449c90eec40b759"
|
|
||||||
integrity sha512-X9rxMaWZNbJB5qjkDqPtNv/yfViTeUL6ILk0QJNxLV3OhKC5Acn5vxsuUvllR6B48mog8lmS+whwHq/QIYSL9w==
|
|
||||||
|
|
||||||
caniuse-lite@^1.0.30000893:
|
|
||||||
version "1.0.30000893"
|
version "1.0.30000893"
|
||||||
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000893.tgz#284b20932bd41b93e21626975f2050cb01561986"
|
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000893.tgz#284b20932bd41b93e21626975f2050cb01561986"
|
||||||
integrity sha512-kOddHcTEef+NgN/fs0zmX2brHTNATVOWMEIhlZHCuwQRtXobjSw9pAECc44Op4bTBcavRjkLaPrGomknH7+Jvg==
|
integrity sha512-kOddHcTEef+NgN/fs0zmX2brHTNATVOWMEIhlZHCuwQRtXobjSw9pAECc44Op4bTBcavRjkLaPrGomknH7+Jvg==
|
||||||
@ -3353,14 +3348,14 @@ cssesc@^1.0.1:
|
|||||||
integrity sha512-S2hzrpWvE6G/rW7i7IxJfWBYn27QWfOIncUW++8Rbo1VB5zsJDSVPcnI+Q8z7rhxT6/yZeLOCja4cZnghJrNGA==
|
integrity sha512-S2hzrpWvE6G/rW7i7IxJfWBYn27QWfOIncUW++8Rbo1VB5zsJDSVPcnI+Q8z7rhxT6/yZeLOCja4cZnghJrNGA==
|
||||||
|
|
||||||
cssnano-preset-default@^4.0.2:
|
cssnano-preset-default@^4.0.2:
|
||||||
version "4.0.2"
|
version "4.0.3"
|
||||||
resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.2.tgz#1de3f27e73b7f0fbf87c1d7fd7a63ae980ac3774"
|
resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.3.tgz#9bfd1b06d4aa3991ed958ad9b9ec25a179261705"
|
||||||
integrity sha512-zO9PeP84l1E4kbrdyF7NSLtA/JrJY1paX5FHy5+w/ziIXO2kDqDMfJ/mosXkaHHSa3RPiIY3eB6aEgwx3IiGqA==
|
integrity sha512-RYxcuQhGGybn+4twdn/c/A6Ephq31znqbWMdtjWdyC84IcqnXxBuLue0iNxHhwUr+eNtaJU4pJX8ro9F7Crw5w==
|
||||||
dependencies:
|
dependencies:
|
||||||
css-declaration-sorter "^4.0.1"
|
css-declaration-sorter "^4.0.1"
|
||||||
cssnano-util-raw-cache "^4.0.1"
|
cssnano-util-raw-cache "^4.0.1"
|
||||||
postcss "^7.0.0"
|
postcss "^7.0.0"
|
||||||
postcss-calc "^6.0.2"
|
postcss-calc "^7.0.0"
|
||||||
postcss-colormin "^4.0.2"
|
postcss-colormin "^4.0.2"
|
||||||
postcss-convert-values "^4.0.1"
|
postcss-convert-values "^4.0.1"
|
||||||
postcss-discard-comments "^4.0.1"
|
postcss-discard-comments "^4.0.1"
|
||||||
@ -3410,17 +3405,7 @@ cssnano-util-same-parent@^4.0.0:
|
|||||||
resolved "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
|
resolved "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
|
||||||
integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
|
integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
|
||||||
|
|
||||||
cssnano@^4.1.0:
|
cssnano@^4.1.0, cssnano@^4.1.5:
|
||||||
version "4.1.4"
|
|
||||||
resolved "https://registry.npmjs.org/cssnano/-/cssnano-4.1.4.tgz#55b71e3d8f5451dd3edc7955673415c98795788f"
|
|
||||||
integrity sha512-wP0wbOM9oqsek14CiNRYrK9N3w3jgadtGZKHXysgC/OMVpy0KZgWVPdNqODSZbz7txO9Gekr9taOfcCgL0pOOw==
|
|
||||||
dependencies:
|
|
||||||
cosmiconfig "^5.0.0"
|
|
||||||
cssnano-preset-default "^4.0.2"
|
|
||||||
is-resolvable "^1.0.0"
|
|
||||||
postcss "^7.0.0"
|
|
||||||
|
|
||||||
cssnano@^4.1.5:
|
|
||||||
version "4.1.5"
|
version "4.1.5"
|
||||||
resolved "https://registry.npmjs.org/cssnano/-/cssnano-4.1.5.tgz#cfe5ffa722079f339ac2a6d547d88dd8ac8a498d"
|
resolved "https://registry.npmjs.org/cssnano/-/cssnano-4.1.5.tgz#cfe5ffa722079f339ac2a6d547d88dd8ac8a498d"
|
||||||
integrity sha512-+6m3g8zV87VDIMCXpDzlaXyzo9h9VrIn9o/XRU6ufH/AddZw/mHzmmmNv83+MxpX5rnVbYPxuAMYPjuDgjd9Hw==
|
integrity sha512-+6m3g8zV87VDIMCXpDzlaXyzo9h9VrIn9o/XRU6ufH/AddZw/mHzmmmNv83+MxpX5rnVbYPxuAMYPjuDgjd9Hw==
|
||||||
@ -6743,7 +6728,7 @@ memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1:
|
|||||||
|
|
||||||
meow@^3.3.0:
|
meow@^3.3.0:
|
||||||
version "3.7.0"
|
version "3.7.0"
|
||||||
resolved "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
|
resolved "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
|
||||||
integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
|
integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
|
||||||
dependencies:
|
dependencies:
|
||||||
camelcase-keys "^2.0.0"
|
camelcase-keys "^2.0.0"
|
||||||
@ -7882,15 +7867,15 @@ postcss-attribute-case-insensitive@^4.0.0:
|
|||||||
postcss "^7.0.2"
|
postcss "^7.0.2"
|
||||||
postcss-selector-parser "^5.0.0-rc.3"
|
postcss-selector-parser "^5.0.0-rc.3"
|
||||||
|
|
||||||
postcss-calc@^6.0.2:
|
postcss-calc@^7.0.0:
|
||||||
version "6.0.2"
|
version "7.0.0"
|
||||||
resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-6.0.2.tgz#4d9a43e27dbbf27d095fecb021ac6896e2318337"
|
resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.0.tgz#cf0e78e1d7d9f75119b833abc786fa4b61afedda"
|
||||||
integrity sha512-fiznXjEN5T42Qm7qqMCVJXS3roaj9r4xsSi+meaBVe7CJBl8t/QLOXu02Z2E6oWAMWIvCuF6JrvzFekmVEbOKA==
|
integrity sha512-o04XICBwDxXVYw1TXkzxs36WRgk9OECGiSUoyYMNoFWHLAQCKKeaqhrNBTUKdStMfwik3gSLLztHebTSV5kJOA==
|
||||||
dependencies:
|
dependencies:
|
||||||
css-unit-converter "^1.1.1"
|
css-unit-converter "^1.1.1"
|
||||||
postcss "^7.0.2"
|
postcss "^7.0.2"
|
||||||
postcss-selector-parser "^2.2.2"
|
postcss-selector-parser "^5.0.0-rc.3"
|
||||||
reduce-css-calc "^2.0.0"
|
postcss-value-parser "^3.3.0"
|
||||||
|
|
||||||
postcss-color-functional-notation@^2.0.1:
|
postcss-color-functional-notation@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
@ -8123,9 +8108,9 @@ postcss-media-minmax@^4.0.0:
|
|||||||
postcss "^7.0.2"
|
postcss "^7.0.2"
|
||||||
|
|
||||||
postcss-merge-longhand@^4.0.6:
|
postcss-merge-longhand@^4.0.6:
|
||||||
version "4.0.6"
|
version "4.0.7"
|
||||||
resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.6.tgz#2b938fa3529c3d1657e53dc7ff0fd604dbc85ff1"
|
resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.7.tgz#77430fa60e36745887c1c725ab3782c40f48363d"
|
||||||
integrity sha512-JavnI+V4IHWsaUAfOoKeMEiJQGXTraEy1nHM0ILlE6NIQPEZrJDAnPh3lNGZ5HAk2mSSrwp66JoGhvjp6SqShA==
|
integrity sha512-b2g9jC52xY0bwl8Dz1Xzfvn8x1KfmSQ0O8rc88hiv0bmYM6ky3xk1Zq128UClizM6SMBx0w7aqfrpS9u71d4Ow==
|
||||||
dependencies:
|
dependencies:
|
||||||
css-color-names "0.0.4"
|
css-color-names "0.0.4"
|
||||||
postcss "^7.0.0"
|
postcss "^7.0.0"
|
||||||
@ -8424,15 +8409,6 @@ postcss-selector-not@^4.0.0:
|
|||||||
balanced-match "^1.0.0"
|
balanced-match "^1.0.0"
|
||||||
postcss "^7.0.2"
|
postcss "^7.0.2"
|
||||||
|
|
||||||
postcss-selector-parser@^2.2.2:
|
|
||||||
version "2.2.3"
|
|
||||||
resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
|
|
||||||
integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=
|
|
||||||
dependencies:
|
|
||||||
flatten "^1.0.2"
|
|
||||||
indexes-of "^1.0.1"
|
|
||||||
uniq "^1.0.1"
|
|
||||||
|
|
||||||
postcss-selector-parser@^3.0.0, postcss-selector-parser@^3.1.1:
|
postcss-selector-parser@^3.0.0, postcss-selector-parser@^3.1.1:
|
||||||
version "3.1.1"
|
version "3.1.1"
|
||||||
resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865"
|
resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865"
|
||||||
@ -9057,14 +9033,6 @@ redent@^2.0.0:
|
|||||||
indent-string "^3.0.0"
|
indent-string "^3.0.0"
|
||||||
strip-indent "^2.0.0"
|
strip-indent "^2.0.0"
|
||||||
|
|
||||||
reduce-css-calc@^2.0.0:
|
|
||||||
version "2.1.5"
|
|
||||||
resolved "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.5.tgz#f283712f0c9708ef952d328f4b16112d57b03714"
|
|
||||||
integrity sha512-AybiBU03FKbjYzyvJvwkJZY6NLN+80Ufc2EqEs+41yQH+8wqBEslD6eGiS0oIeq5TNLA5PrhBeYHXWdn8gtW7A==
|
|
||||||
dependencies:
|
|
||||||
css-unit-converter "^1.1.1"
|
|
||||||
postcss-value-parser "^3.3.0"
|
|
||||||
|
|
||||||
regenerate-unicode-properties@^7.0.0:
|
regenerate-unicode-properties@^7.0.0:
|
||||||
version "7.0.0"
|
version "7.0.0"
|
||||||
resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c"
|
resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c"
|
||||||
|
Loading…
Reference in New Issue
Block a user