提交 ebeea9ab 编写于 作者: fxy060608's avatar fxy060608

feat: add postcss

上级 5fa69b6d
......@@ -125,11 +125,13 @@ function isCustomElement(tag) {
function isNativeTag(tag) {
return (shared.isHTMLTag(tag) || shared.isSVGTag(tag)) && !isBuiltInComponent(tag);
}
const COMPONENT_PREFIX = 'v-uni-';
const COMPONENT_SELECTOR_PREFIX = 'uni-';
const COMPONENT_PREFIX = 'v-' + COMPONENT_SELECTOR_PREFIX;
exports.BUILT_IN_TAGS = BUILT_IN_TAGS;
exports.COMPONENT_NAME_PREFIX = COMPONENT_NAME_PREFIX;
exports.COMPONENT_PREFIX = COMPONENT_PREFIX;
exports.COMPONENT_SELECTOR_PREFIX = COMPONENT_SELECTOR_PREFIX;
exports.NAVBAR_HEIGHT = NAVBAR_HEIGHT;
exports.PRIMARY_COLOR = PRIMARY_COLOR;
exports.RESPONSIVE_MIN_WIDTH = RESPONSIVE_MIN_WIDTH;
......
......@@ -3,7 +3,9 @@ export declare const BUILT_IN_TAGS: string[];
export declare const COMPONENT_NAME_PREFIX = "VUni";
export declare const COMPONENT_PREFIX = "v-uni-";
export declare const COMPONENT_PREFIX: string;
export declare const COMPONENT_SELECTOR_PREFIX = "uni-";
export declare function debounce(fn: Function, delay: number): {
(this: any): void;
......
......@@ -121,6 +121,7 @@ function isCustomElement(tag) {
function isNativeTag(tag) {
return (isHTMLTag(tag) || isSVGTag(tag)) && !isBuiltInComponent(tag);
}
const COMPONENT_PREFIX = 'v-uni-';
const COMPONENT_SELECTOR_PREFIX = 'uni-';
const COMPONENT_PREFIX = 'v-' + COMPONENT_SELECTOR_PREFIX;
export { BUILT_IN_TAGS, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, NAVBAR_HEIGHT, PRIMARY_COLOR, RESPONSIVE_MIN_WIDTH, TABBAR_HEIGHT, TAGS, debounce, isBuiltInComponent, isCustomElement, isNativeTag, plusReady, stringifyQuery };
export { BUILT_IN_TAGS, COMPONENT_NAME_PREFIX, COMPONENT_PREFIX, COMPONENT_SELECTOR_PREFIX, NAVBAR_HEIGHT, PRIMARY_COLOR, RESPONSIVE_MIN_WIDTH, TABBAR_HEIGHT, TAGS, debounce, isBuiltInComponent, isCustomElement, isNativeTag, plusReady, stringifyQuery };
......@@ -77,4 +77,6 @@ export function isNativeTag(tag: string) {
return (isHTMLTag(tag) || isSVGTag(tag)) && !isBuiltInComponent(tag)
}
export const COMPONENT_PREFIX = 'v-uni-'
export const COMPONENT_SELECTOR_PREFIX = 'uni-'
export const COMPONENT_PREFIX = 'v-' + COMPONENT_SELECTOR_PREFIX
......@@ -22,12 +22,14 @@
"license": "Apache-2.0",
"dependencies": {
"@rollup/pluginutils": "^4.1.0",
"autoprefixer": "^10.2.5",
"debug": "^4.3.1",
"estree-walker": "^2.0.1",
"fs-extra": "^9.0.1",
"jsonc-parser": "^3.0.0",
"magic-string": "^0.25.7",
"mime": "^2.5.2",
"postcss-selector-parser": "^6.0.4",
"rollup-plugin-copy": "^3.4.0",
"slash": "^3.0.0"
},
......
import { UserConfig } from 'vite'
import autoprefixer from 'autoprefixer'
import { VitePluginUniResolvedOptions } from '..'
import { uniapp } from '../utils/postcss'
export function createCss(
_options: VitePluginUniResolvedOptions
): UserConfig['css'] {
return {
postcss: {
plugins: [uniapp(), autoprefixer()],
},
preprocessorOptions: {
scss: {},
},
......
import path from 'path'
import debug from 'debug'
import { Plugin } from 'vite'
import { createFilter } from '@rollup/pluginutils'
import { EXTNAME_VUE, parseVueRequest } from '@dcloudio/uni-cli-shared'
import { UniPluginFilterOptions } from '.'
const debugScoped = debug('uni:scoped')
export function uniCssScopedPlugin(options: UniPluginFilterOptions): Plugin {
const filter = createFilter(options.include, options.exclude)
return {
name: 'vite:uni-scoped',
transform(code, id) {
if (!filter(id)) {
return code
}
const { filename, query } = parseVueRequest(id)
if (query.vue) {
return code
}
if (EXTNAME_VUE.includes(path.extname(filename))) {
debugScoped(id)
return {
code: code.replace(/(<style\b[^><]*)>/gi, '$1 scoped>'),
map: this.getCombinedSourcemap(),
}
}
},
}
}
......@@ -15,6 +15,7 @@ import { uniManifestJsonPlugin } from './manifestJson'
import { uniPageVuePlugin } from './pageVue'
import { uniCopyPlugin } from './copy'
import { uniStaticPlugin } from './static'
import { uniCssScopedPlugin } from './cssScoped'
const debugPlugin = debug('uni:plugin')
......@@ -38,6 +39,12 @@ const COMMON_EXCLUDE = [
/\.html$/,
]
const APP_VUE_RE = /App.vue$/
const uniCssScopedPluginOptions: Partial<UniPluginFilterOptions> = {
exclude: [APP_VUE_RE],
}
const uniPrePluginOptions: Partial<UniPluginFilterOptions> = {
exclude: [...COMMON_EXCLUDE, UNI_H5_RE],
}
......@@ -46,7 +53,7 @@ const uniPreCssPluginOptions: Partial<UniPluginFilterOptions> = {
}
const uniEasycomPluginOptions: Partial<UniPluginFilterOptions> = {
exclude: [/App.vue$/, UNI_H5_RE],
exclude: [APP_VUE_RE, UNI_H5_RE],
}
const uniInjectPluginOptions: Partial<InjectOptions> = {
......@@ -64,6 +71,15 @@ export function resolvePlugins(
) {
const command = config.command
const plugins = config.plugins as Plugin[]
if (options.platform === 'h5') {
// h5平台需要为非App.vue组件自动增加scoped
addPlugin(
plugins,
uniCssScopedPlugin(Object.assign(uniCssScopedPluginOptions, options)),
0,
'pre'
)
}
addPlugin(
plugins,
uniPrePlugin(Object.assign(uniPrePluginOptions, options)),
......
import { Rule, Declaration, Plugin } from 'postcss'
import selectorParser from 'postcss-selector-parser'
import {
isBuiltInComponent,
COMPONENT_SELECTOR_PREFIX,
} from '@dcloudio/uni-shared'
interface UniAppCssProcessorOptions {
page?: boolean
unit: string // 目标单位,默认rem
unitRatio: number // 单位转换比例,默认10/320
unitPrecision: number // 单位精度,默认5
}
const defaultUniAppCssProcessorOptions = {
page: false,
unit: 'rem',
unitRatio: 10 / 320,
unitPrecision: 5,
}
function transform(selector: selectorParser.Node) {
if (selector.type === 'tag' && isBuiltInComponent(selector.value)) {
selector.value = COMPONENT_SELECTOR_PREFIX + selector.value
}
}
function walkRules(opts: UniAppCssProcessorOptions) {
return (rule: Rule) => {
rule.selector = selectorParser((selectors) =>
selectors.walk((selector) => transform(selector))
).processSync(rule.selector)
}
}
const unitRE = new RegExp(
`"[^"]+"|'[^']+'|url\\([^)]+\\)|(\\d*\\.?\\d+)[r|u]px`,
'g'
)
function toFixed(number: number, precision: number) {
const multiplier = Math.pow(10, precision + 1)
const wholeNumber = Math.floor(number * multiplier)
return (Math.round(wholeNumber / 10) * 10) / multiplier
}
function walkDecls(opts: UniAppCssProcessorOptions) {
return (decl: Declaration) => {
const { value } = decl
if (value.indexOf('rpx') === -1 && value.indexOf('upx') === -1) {
return
}
decl.value = decl.value.replace(unitRE, (m, $1) => {
if (!$1) {
return m
}
const value = toFixed(parseFloat($1) * opts.unitRatio, opts.unitPrecision)
return value === 0 ? '0' : `${value}${opts.unit}`
})
}
}
export const uniapp = (opts?: UniAppCssProcessorOptions) => {
const options = Object.assign(
{},
defaultUniAppCssProcessorOptions,
opts || {}
)
return {
postcssPlugin: 'uni-app',
prepare() {
return {
OnceExit(root) {
root.walkRules(walkRules(options))
root.walkDecls(walkDecls(options))
},
}
},
} as Plugin
}
uniapp.postcss = true
......@@ -3,5 +3,9 @@
"compilerOptions": {
"outDir": "dist"
},
"include": ["src", "../shims-uni-app.d.ts"]
"include": [
"src",
"../shims-uni-app.d.ts",
"../../node_modules/postcss/lib/postcss.d.ts"
]
}
......@@ -968,9 +968,9 @@
eslint-visitor-keys "^2.0.0"
"@vitejs/plugin-vue-jsx@^1.1.2":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-1.1.2.tgz#d240d8d73c2f8e34f32ade6d06e709a959d1f2a1"
integrity sha512-3m+0amZwkn0g/D3OqqTsG2qe82LvIaQYqAi3Klpx2vEdaBU5pgok5Qlp6eMGr6QQRDLa7HAKZbPCVV5yAPfOpg==
version "1.1.3"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-1.1.3.tgz#426c68f8a367a603acb82fca6e2b12506ba9fc8e"
integrity sha512-R9wsuNDEKTDG5oXJaFictrw9E5uokniGzi6tvyO5Od02tE4TnOPfgY2BeHKB4f4ldgiZRMhdUhNEsgjoWnct6A==
dependencies:
"@babel/core" "^7.12.10"
"@babel/plugin-syntax-import-meta" "^7.10.4"
......@@ -1014,6 +1014,17 @@
estree-walker "^2.0.1"
source-map "^0.6.1"
"@vue/compiler-core@3.0.11":
version "3.0.11"
resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.0.11.tgz#5ef579e46d7b336b8735228758d1c2c505aae69a"
integrity sha512-6sFj6TBac1y2cWCvYCA8YzHJEbsVkX7zdRs/3yK/n1ilvRqcn983XvpBbnN3v4mZ1UiQycTvOiajJmOgN9EVgw==
dependencies:
"@babel/parser" "^7.12.0"
"@babel/types" "^7.12.0"
"@vue/shared" "3.0.11"
estree-walker "^2.0.1"
source-map "^0.6.1"
"@vue/compiler-dom@3.0.10":
version "3.0.10"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.0.10.tgz#59d3597498e7d4b0b92f3886a823f99d5b08f1fe"
......@@ -1022,17 +1033,25 @@
"@vue/compiler-core" "3.0.10"
"@vue/shared" "3.0.10"
"@vue/compiler-dom@3.0.11":
version "3.0.11"
resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.0.11.tgz#b15fc1c909371fd671746020ba55b5dab4a730ee"
integrity sha512-+3xB50uGeY5Fv9eMKVJs2WSRULfgwaTJsy23OIltKgMrynnIj8hTYY2UL97HCoz78aDw1VDXdrBQ4qepWjnQcw==
dependencies:
"@vue/compiler-core" "3.0.11"
"@vue/shared" "3.0.11"
"@vue/compiler-sfc@^3.0.10":
version "3.0.10"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.0.10.tgz#de6bc9be7f5ab1d944048a9be04c72c3571d4321"
integrity sha512-LLbXHwKMM72aomKsj9AySkLP1xIHREh/3w0nueenKhsWuaKTL1/XUhIPml23+Z+tX55qeJiUIHDeJuFSxfgQfg==
version "3.0.11"
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.0.11.tgz#cd8ca2154b88967b521f5ad3b10f5f8b6b665679"
integrity sha512-7fNiZuCecRleiyVGUWNa6pn8fB2fnuJU+3AGjbjl7r1P5wBivfl02H4pG+2aJP5gh2u+0wXov1W38tfWOphsXw==
dependencies:
"@babel/parser" "^7.13.9"
"@babel/types" "^7.13.0"
"@vue/compiler-core" "3.0.10"
"@vue/compiler-dom" "3.0.10"
"@vue/compiler-ssr" "3.0.10"
"@vue/shared" "3.0.10"
"@vue/compiler-core" "3.0.11"
"@vue/compiler-dom" "3.0.11"
"@vue/compiler-ssr" "3.0.11"
"@vue/shared" "3.0.11"
consolidate "^0.16.0"
estree-walker "^2.0.1"
hash-sum "^2.0.0"
......@@ -1044,13 +1063,13 @@
postcss-selector-parser "^6.0.4"
source-map "^0.6.1"
"@vue/compiler-ssr@3.0.10":
version "3.0.10"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.0.10.tgz#6ccc647bda49c0fc1ca100219e9c71268e048120"
integrity sha512-skrPSp9pjZG3unqHpUaEaRRpO1yYxbCXRfJ1kZW8PTGAg5g3Y/hrUet5+Q6zCIZwr5j1mSMBSLXMDCjFuyyZLg==
"@vue/compiler-ssr@3.0.11":
version "3.0.11"
resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.0.11.tgz#ac5a05fd1257412fa66079c823d8203b6a889a13"
integrity sha512-66yUGI8SGOpNvOcrQybRIhl2M03PJ+OrDPm78i7tvVln86MHTKhM3ERbALK26F7tXl0RkjX4sZpucCpiKs3MnA==
dependencies:
"@vue/compiler-dom" "3.0.10"
"@vue/shared" "3.0.10"
"@vue/compiler-dom" "3.0.11"
"@vue/shared" "3.0.11"
"@vue/reactivity@3.0.10":
version "3.0.10"
......@@ -1081,6 +1100,11 @@
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.10.tgz#5476d5615d01bf339c65c2e804f5909bbc27844a"
integrity sha512-p8GJ+bGpEGiEHICwcCH/EtJnkZQllrOfm1J2J+Ep0ydMte25bPnArgrY/h2Tn1LKqqR3LXyQlOSYY6gJgiW2LQ==
"@vue/shared@3.0.11":
version "3.0.11"
resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.11.tgz#20d22dd0da7d358bb21c17f9bde8628152642c77"
integrity sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA==
abab@^2.0.3, abab@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a"
......@@ -1150,9 +1174,9 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4:
uri-js "^4.2.2"
ajv@^8.0.1:
version "8.0.1"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.0.1.tgz#dac101898a87f8ebb57fea69617e8096523c628c"
integrity sha512-46ZA4TalFcLLqX1dEU3dhdY38wAtDydJ4e7QQTVekLUTzXkb1LfqU6VOBXC/a9wiv4T094WURqJH6ZitF92Kqw==
version "8.0.3"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.0.3.tgz#81f1b07003b329f000b7912e59a24f52392867b6"
integrity sha512-Df6NAivu9KpZw+q8ySijAgLvr1mUA5ihkRvCLCxpdYR21ann5yIuN+PpFxmweSj7i3yjJ0x5LN5KVs0RRzskAQ==
dependencies:
fast-deep-equal "^3.1.1"
json-schema-traverse "^1.0.0"
......@@ -1285,6 +1309,18 @@ atob@^2.1.2:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
autoprefixer@^10.2.5:
version "10.2.5"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.5.tgz#096a0337dbc96c0873526d7fef5de4428d05382d"
integrity sha512-7H4AJZXvSsn62SqZyJCP+1AWwOuoYpUfK6ot9vm0e87XD6mT8lDywc9D9OTJPMULyGcvmIxzTAMeG2Cc+YX+fA==
dependencies:
browserslist "^4.16.3"
caniuse-lite "^1.0.30001196"
colorette "^1.2.2"
fraction.js "^4.0.13"
normalize-range "^0.1.2"
postcss-value-parser "^4.1.0"
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
......@@ -1531,7 +1567,7 @@ browserify-sign@^4.0.0:
readable-stream "^3.6.0"
safe-buffer "^5.2.0"
browserslist@^4.14.5:
browserslist@^4.14.5, browserslist@^4.16.3:
version "4.16.3"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717"
integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==
......@@ -1632,7 +1668,7 @@ camelcase@^6.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
caniuse-lite@^1.0.30001181:
caniuse-lite@^1.0.30001181, caniuse-lite@^1.0.30001196:
version "1.0.30001205"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001205.tgz#d79bf6a6fb13196b4bb46e5143a22ca0242e0ef8"
integrity sha512-TL1GrS5V6LElbitPazidkBMD9sa448bQDDLrumDqaggmKFcuU2JW1wTOHJPukAcOMtEmLcmDJEzfRrf+GjM0Og==
......@@ -2178,9 +2214,9 @@ ecc-jsbn@~0.1.1:
safer-buffer "^2.1.0"
electron-to-chromium@^1.3.649:
version "1.3.703"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.703.tgz#6d9b9a75c42a40775f5930329e642b22b227317f"
integrity sha512-SVBVhNB+4zPL+rvtWLw7PZQkw/Eqj1HQZs22xtcqW36+xoifzEOEEDEpkxSMfB6RFeSIOcG00w6z5mSqLr1Y6w==
version "1.3.705"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.705.tgz#9729956782ce44cd93bdb4197818cff71f7d5e9d"
integrity sha512-agtrL5vLSOIK89sE/YSzAgqCw76eZ60gf3J7Tid5RfLbSp5H4nWL28/dIV+H+ZhNNi1JNiaF62jffwYsAyXc0g==
elliptic@^6.5.3:
version "6.5.4"
......@@ -2683,6 +2719,11 @@ form-data@~2.3.2:
combined-stream "^1.0.6"
mime-types "^2.1.12"
fraction.js@^4.0.13:
version "4.0.13"
resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.0.13.tgz#3c1c315fa16b35c85fffa95725a36fa729c69dfe"
integrity sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA==
fragment-cache@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
......@@ -4114,9 +4155,9 @@ lint-staged@^10.5.3:
stringify-object "^3.3.0"
listr2@^3.2.2:
version "3.4.3"
resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.4.3.tgz#543bcf849d5ffc70602708b69d2daac73f751699"
integrity sha512-wZmkzNiuinOfwrGqAwTCcPw6aKQGTAMGXwG5xeU1WpDjJNeBA35jGBeWxR3OF+R6Yl5Y3dRG+3vE8t6PDcSNHA==
version "3.4.4"
resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.4.4.tgz#5bb5e0107cc9a8787dcfb5d302c88cbddcdba248"
integrity sha512-okQwtieCHDX5erlxcEn2xwNfVQhV+/YiD+U0v+6DQamXnknE7mc6B5fopHl96v1PuZjTpaoChctf96PB6K4XRg==
dependencies:
chalk "^4.1.0"
cli-truncate "^2.1.0"
......@@ -4124,7 +4165,7 @@ listr2@^3.2.2:
indent-string "^4.0.0"
log-update "^4.0.0"
p-map "^4.0.0"
rxjs "^6.6.6"
rxjs "^6.6.7"
through "^2.3.8"
wrap-ansi "^7.0.0"
......@@ -4337,17 +4378,17 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0"
brorand "^1.0.1"
mime-db@1.46.0:
version "1.46.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee"
integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==
mime-db@1.47.0:
version "1.47.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c"
integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==
mime-types@^2.1.12, mime-types@~2.1.19:
version "2.1.29"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2"
integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==
version "2.1.30"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d"
integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==
dependencies:
mime-db "1.46.0"
mime-db "1.47.0"
mime@^2.5.2:
version "2.5.2"
......@@ -4515,6 +4556,11 @@ normalize-path@^3.0.0, normalize-path@~3.0.0:
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
normalize-range@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
......@@ -4902,9 +4948,9 @@ progress@^2.0.0, progress@^2.0.1:
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
prompts@^2.0.1:
version "2.4.0"
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7"
integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==
version "2.4.1"
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61"
integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==
dependencies:
kleur "^3.0.3"
sisteransi "^1.0.5"
......@@ -5327,7 +5373,7 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
rxjs@^6.6.6:
rxjs@^6.6.7:
version "6.6.7"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册