Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CoCo_Code_Op2
next.js
提交
e837c225
N
next.js
项目概览
CoCo_Code_Op2
/
next.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
next.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
e837c225
编写于
7月 26, 2020
作者:
J
Joe Haddad
提交者:
GitHub
7月 26, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Upgrade cssnano-simple dependency (#15488)
上级
f98e38c9
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
100 addition
and
24 deletion
+100
-24
packages/next/package.json
packages/next/package.json
+1
-1
test/integration/css-customization/test/index.test.js
test/integration/css-customization/test/index.test.js
+5
-5
test/integration/css-features/test/index.test.js
test/integration/css-features/test/index.test.js
+1
-1
test/integration/css-fixtures/next-issue-15468/pages/_app.js
test/integration/css-fixtures/next-issue-15468/pages/_app.js
+12
-0
test/integration/css-fixtures/next-issue-15468/pages/index.js
.../integration/css-fixtures/next-issue-15468/pages/index.js
+8
-0
test/integration/css-fixtures/next-issue-15468/styles/global.css
...tegration/css-fixtures/next-issue-15468/styles/global.css
+16
-0
test/integration/css/test/index.test.js
test/integration/css/test/index.test.js
+44
-4
test/integration/scss/test/index.test.js
test/integration/scss/test/index.test.js
+4
-4
yarn.lock
yarn.lock
+9
-9
未找到文件。
packages/next/package.json
浏览文件 @
e837c225
...
...
@@ -85,7 +85,7 @@
"cacache"
:
"13.0.1"
,
"chokidar"
:
"2.1.8"
,
"css-loader"
:
"3.5.3"
,
"cssnano-simple"
:
"1.0.
4
"
,
"cssnano-simple"
:
"1.0.
5
"
,
"find-cache-dir"
:
"3.3.1"
,
"jest-worker"
:
"24.9.0"
,
"loader-utils"
:
"2.0.0"
,
...
...
test/integration/css-customization/test/index.test.js
浏览文件 @
e837c225
...
...
@@ -33,7 +33,7 @@ describe('CSS Customization', () => {
expect
(
cssFiles
.
length
).
toBe
(
1
)
const
cssContent
=
await
readFile
(
join
(
cssFolder
,
cssFiles
[
0
]),
'
utf8
'
)
expect
(
cssContent
.
replace
(
/
\/\*
.*
?\*\/
/g
,
''
).
trim
()).
toMatchInlineSnapshot
(
`"@media (480px <= width < 768px){::placeholder{color:green}}.video{max-
height:300px;max-width:4
00px}"`
`"@media (480px <= width < 768px){::placeholder{color:green}}.video{max-
width:400px;max-height:3
00px}"`
)
// Contains a source map
...
...
@@ -54,7 +54,7 @@ describe('CSS Customization', () => {
const
{
version
,
mappings
,
sourcesContent
}
=
JSON
.
parse
(
cssMapContent
)
expect
({
version
,
mappings
,
sourcesContent
}).
toMatchInlineSnapshot
(
`
Object {
"mappings": "AACA,gCACE,cACE,WACF,CACF,CAGA,OACE,
gBAA0B,CAA1B,e
ACF",
"mappings": "AACA,gCACE,cACE,WACF,CACF,CAGA,OACE,
eAA0B,CAA1B,gB
ACF",
"sourcesContent": Array [
"/* this should pass through untransformed */
@media (480px <= width < 768px) {
...
...
@@ -132,7 +132,7 @@ describe('CSS Customization Array', () => {
expect
(
cssFiles
.
length
).
toBe
(
1
)
const
cssContent
=
await
readFile
(
join
(
cssFolder
,
cssFiles
[
0
]),
'
utf8
'
)
expect
(
cssContent
.
replace
(
/
\/\*
.*
?\*\/
/g
,
''
).
trim
()).
toMatchInlineSnapshot
(
`"@media (480px <= width < 768px){a:before{content:\\"\\"}::placeholder{color:green}}.video{max-
height:4800px;max-height:300rem;max-width:6400px;max-width:4
00rem}"`
`"@media (480px <= width < 768px){a:before{content:\\"\\"}::placeholder{color:green}}.video{max-
width:6400px;max-height:4800px;max-width:400rem;max-height:3
00rem}"`
)
// Contains a source map
...
...
@@ -153,7 +153,7 @@ describe('CSS Customization Array', () => {
const
{
version
,
mappings
,
sourcesContent
}
=
JSON
.
parse
(
cssMapContent
)
expect
({
version
,
mappings
,
sourcesContent
}).
toMatchInlineSnapshot
(
`
Object {
"mappings": "AACA,gCACE,SACE,UACF,CACA,cACE,WACF,CACF,CAGA,OACE,
iBAA4B,CAA5B,iBAA4B,CAA5B,gBAA4B,CAA5B,g
BACF",
"mappings": "AACA,gCACE,SACE,UACF,CACA,cACE,WACF,CACF,CAGA,OACE,
gBAA4B,CAA5B,iBAA4B,CAA5B,gBAA4B,CAA5B,i
BACF",
"sourcesContent": Array [
"/* this should pass through untransformed */
@media (480px <= width < 768px) {
...
...
@@ -213,7 +213,7 @@ describe('Bad CSS Customization', () => {
expect
(
cssFiles
.
length
).
toBe
(
1
)
const
cssContent
=
await
readFile
(
join
(
cssFolder
,
cssFiles
[
0
]),
'
utf8
'
)
expect
(
cssContent
.
replace
(
/
\/\*
.*
?\*\/
/g
,
''
).
trim
()).
toMatchInlineSnapshot
(
`".video{max-
height:300px;max-width:4
00px}"`
`".video{max-
width:400px;max-height:3
00px}"`
)
// Contains a source map
...
...
test/integration/css-features/test/index.test.js
浏览文件 @
e837c225
...
...
@@ -35,7 +35,7 @@ describe('Browserslist: Old', () => {
const
cssContent
=
await
readFile
(
join
(
cssFolder
,
cssFiles
[
0
]),
'
utf8
'
)
expect
(
cssContent
.
replace
(
/
\/\*
.*
?\*\/
/g
,
''
).
trim
()).
toMatchInlineSnapshot
(
`"a{
clip:auto;grid-column-gap:normal;all:initial;-webkit-animation:none 0s ease 0s 1 normal none running;animation:none 0s ease 0s 1 normal none running;-webkit-backface-visibility:visible;backface-visibility:visible;background:transparent none repeat 0 0/auto auto padding-box border-box scroll;border:none;border-collapse:separate;-webkit-border-image:none;border-image:none;-webkit-border-radius:0;border-radius:0;border-spacing:0;bottom:auto;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;caption-side:top;clear:none;color:#000;column-fill:balance;-webkit-columns:auto;-webkit-column-count:auto;-webkit-column-fill:balance;-webkit-column-gap:normal;column-gap:normal;-webkit-column-rule:medium none currentColor;column-rule:medium none currentColor;-webkit-column-span:1;column-span:1;-webkit-column-width:auto;columns:auto;content:normal;counter-increment:none;counter-reset:none;cursor:auto;direction:ltr;display:inline;empty-cells:show;float:none;font-family:serif;-webkit-font-feature-settings:normal;font-feature-settings:normal;font-size:medium;font-stretch:normal;font-style:normal;font-variant:normal;font-weight:400;height:auto;-ms-hyphens:none;hyphens:none;left:auto;letter-spacing:normal;line-height:normal;list-style:disc none outside;margin:0;max-height:none;max-width:none;min-height:0;min-width:0;opacity:1;orphans:2;outline:medium none invert;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;-webkit-perspective:none;perspective:none;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%;position:static;right:auto;tab-size:8;table-layout:auto;text-align:left;text-align-last:auto;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;top:auto;-webkit-transform:none;transform:none;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;-webkit-transform-style:flat;transform-style:flat;-webkit-transition:none 0s ease 0s;transition:none 0s ease 0s;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:2;width:auto;word-spacing:normal;z-index:auto
}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.image{background-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}}"`
`"a{
-webkit-animation:none 0s ease 0s 1 normal none running;animation:none 0s ease 0s 1 normal none running;-webkit-backface-visibility:visible;backface-visibility:visible;background:transparent none repeat 0 0/auto auto padding-box border-box scroll;border:none;border-collapse:separate;-webkit-border-image:none;border-image:none;-webkit-border-radius:0;border-radius:0;border-spacing:0;bottom:auto;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;caption-side:top;clear:none;clip:auto;color:#000;-webkit-columns:auto;-webkit-column-count:auto;-webkit-column-fill:balance;column-fill:balance;grid-column-gap:normal;-webkit-column-gap:normal;column-gap:normal;-webkit-column-rule:medium none currentColor;column-rule:medium none currentColor;-webkit-column-span:1;column-span:1;-webkit-column-width:auto;columns:auto;content:normal;counter-increment:none;counter-reset:none;cursor:auto;direction:ltr;display:inline;empty-cells:show;float:none;font-family:serif;font-size:medium;font-style:normal;-webkit-font-feature-settings:normal;font-feature-settings:normal;font-variant:normal;font-weight:400;font-stretch:normal;line-height:normal;height:auto;-ms-hyphens:none;hyphens:none;left:auto;letter-spacing:normal;list-style:disc none outside;margin:0;max-height:none;max-width:none;min-height:0;min-width:0;opacity:1;orphans:2;outline:medium none invert;overflow:visible;overflow-x:visible;overflow-y:visible;padding:0;page-break-after:auto;page-break-before:auto;page-break-inside:auto;-webkit-perspective:none;perspective:none;-webkit-perspective-origin:50% 50%;perspective-origin:50% 50%;position:static;right:auto;tab-size:8;table-layout:auto;text-align:left;text-align-last:auto;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;top:auto;-webkit-transform:none;transform:none;-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;-webkit-transform-style:flat;transform-style:flat;-webkit-transition:none 0s ease 0s;transition:none 0s ease 0s;unicode-bidi:normal;vertical-align:baseline;visibility:visible;white-space:normal;widows:2;width:auto;word-spacing:normal;z-index:auto;all:initial
}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.image{background-image:url(data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}}"`
)
})
})
...
...
test/integration/css-fixtures/next-issue-15468/pages/_app.js
0 → 100644
浏览文件 @
e837c225
import
App
from
'
next/app
'
import
React
from
'
react
'
import
'
../styles/global.css
'
class
MyApp
extends
App
{
render
()
{
const
{
Component
,
pageProps
}
=
this
.
props
return
<
Component
{...
pageProps
}
/
>
}
}
export
default
MyApp
test/integration/css-fixtures/next-issue-15468/pages/index.js
0 → 100644
浏览文件 @
e837c225
export
default
function
Home
()
{
return
(
<
main
>
<
div
className
=
"
test1
"
>
Hello
<
/div
>
<
div
className
=
"
test2
"
>
Hello
<
/div
>
<
/main
>
)
}
test/integration/css-fixtures/next-issue-15468/styles/global.css
0 → 100644
浏览文件 @
e837c225
:root
{
--blk
:
#000000
;
--five
:
5px
;
}
.test1
{
border
:
1px
solid
var
(
--blk
);
border-radius
:
var
(
--five
);
border-width
:
0
;
}
.test2
{
border
:
0px
solid
var
(
--blk
);
border-radius
:
var
(
--five
);
border-width
:
5px
;
}
test/integration/css/test/index.test.js
浏览文件 @
e837c225
...
...
@@ -132,7 +132,7 @@ describe('CSS Support', () => {
expect
(
cssContent
.
replace
(
/
\/\*
.*
?\*\/
/g
,
''
).
trim
()
).
toMatchInlineSnapshot
(
`".red-text{color:purple;
color:red;font-weight:bolder}.blue-text{color:orange;color:#00f;font-weight:bolder
}"`
`".red-text{color:purple;
font-weight:bolder;color:red}.blue-text{color:orange;font-weight:bolder;color:#00f
}"`
)
})
})
...
...
@@ -564,7 +564,7 @@ describe('CSS Support', () => {
expect
(
cssFiles
.
length
).
toBe
(
1
)
const
cssContent
=
await
readFile
(
join
(
cssFolder
,
cssFiles
[
0
]),
'
utf8
'
)
expect
(
cssContent
.
replace
(
/
\/\*
.*
?\*\/
/g
,
''
).
trim
()).
toMatch
(
/^
\.
red-text
\{
background-image:url
\(\/
_next
\/
static
\/
media
\/
dark
\.[
a-z0-9
]{32}\.
svg
\)
url
\(\/
_next
\/
static
\/
media
\/
dark2
\.[
a-z0-9
]{32}\.
svg
\)
;color:red
\}\.
blue-text
\{
background-image:url
\(\/
_next
\/
static
\/
media
\/
light
\.[
a-z0-9
]{32}\.
svg
\)
;color:orange;color:#00f;font-weight:bolder
\}
$/
/^
\.
red-text
\{
color:red;background-image:url
\(\/
_next
\/
static
\/
media
\/
dark
\.[
a-z0-9
]{32}\.
svg
\)
url
\(\/
_next
\/
static
\/
media
\/
dark2
\.[
a-z0-9
]{32}\.
svg
\)\}\.
blue-text
\{
color:orange;font-weight:bolder;background-image:url
\(\/
_next
\/
static
\/
media
\/
light
\.[
a-z0-9
]{32}\.
svg
\)
;color:#00f
\}
$/
)
const
mediaFiles
=
await
readdir
(
mediaFolder
)
...
...
@@ -610,7 +610,7 @@ describe('CSS Support', () => {
expect
(
cssFiles
.
length
).
toBe
(
1
)
const
cssContent
=
await
readFile
(
join
(
cssFolder
,
cssFiles
[
0
]),
'
utf8
'
)
expect
(
cssContent
.
replace
(
/
\/\*
.*
?\*\/
/g
,
''
).
trim
()).
toMatch
(
/^
\.
red-text
\{
background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark
\.[
a-z0-9
]{32}\.
svg
\)
url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark2
\.[
a-z0-9
]{32}\.
svg
\)
;color:red
\}\.
blue-text
\{
background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
light
\.[
a-z0-9
]{32}\.
svg
\)
;color:orange;color:#00f;font-weight:bolder
\}
$/
/^
\.
red-text
\{
color:red;background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark
\.[
a-z0-9
]{32}\.
svg
\)
url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark2
\.[
a-z0-9
]{32}\.
svg
\)\}\.
blue-text
\{
color:orange;font-weight:bolder;background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
light
\.[
a-z0-9
]{32}\.
svg
\)
;color:#00f
\}
$/
)
const
mediaFiles
=
await
readdir
(
mediaFolder
)
...
...
@@ -656,7 +656,7 @@ describe('CSS Support', () => {
expect
(
cssFiles
.
length
).
toBe
(
1
)
const
cssContent
=
await
readFile
(
join
(
cssFolder
,
cssFiles
[
0
]),
'
utf8
'
)
expect
(
cssContent
.
replace
(
/
\/\*
.*
?\*\/
/g
,
''
).
trim
()).
toMatch
(
/^
\.
red-text
\{
background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark
\.[
a-z0-9
]{32}\.
svg
\)
url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark2
\.[
a-z0-9
]{32}\.
svg
\)
;color:red
\}\.
blue-text
\{
background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
light
\.[
a-z0-9
]{32}\.
svg
\)
;color:orange;color:#00f;font-weight:bolder
\}
$/
/^
\.
red-text
\{
color:red;background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark
\.[
a-z0-9
]{32}\.
svg
\)
url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark2
\.[
a-z0-9
]{32}\.
svg
\)\}\.
blue-text
\{
color:orange;font-weight:bolder;background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
light
\.[
a-z0-9
]{32}\.
svg
\)
;color:#00f
\}
$/
)
const
mediaFiles
=
await
readdir
(
mediaFolder
)
...
...
@@ -924,6 +924,46 @@ describe('CSS Support', () => {
})
})
// https://github.com/vercel/next.js/issues/15468
describe
(
'
CSS Property Ordering
'
,
()
=>
{
const
appDir
=
join
(
fixturesDir
,
'
next-issue-15468
'
)
let
appPort
let
app
let
stdout
let
code
beforeAll
(
async
()
=>
{
await
remove
(
join
(
appDir
,
'
.next
'
))
;({
code
,
stdout
}
=
await
nextBuild
(
appDir
,
[],
{
stdout
:
true
,
}))
appPort
=
await
findPort
()
app
=
await
nextStart
(
appDir
,
appPort
)
})
afterAll
(
async
()
=>
{
await
killApp
(
app
)
})
it
(
'
should have compiled successfully
'
,
()
=>
{
expect
(
code
).
toBe
(
0
)
expect
(
stdout
).
toMatch
(
/Compiled successfully/
)
})
it
(
'
should have the border width (property ordering)
'
,
async
()
=>
{
const
browser
=
await
webdriver
(
appPort
,
'
/
'
)
const
width1
=
await
browser
.
eval
(
`window.getComputedStyle(document.querySelector('.test1')).borderWidth`
)
expect
(
width1
).
toMatchInlineSnapshot
(
`"0px"`
)
const
width2
=
await
browser
.
eval
(
`window.getComputedStyle(document.querySelector('.test2')).borderWidth`
)
expect
(
width2
).
toMatchInlineSnapshot
(
`"5px"`
)
})
})
describe
(
'
Basic Tailwind CSS
'
,
()
=>
{
const
appDir
=
join
(
fixturesDir
,
'
with-tailwindcss
'
)
...
...
test/integration/scss/test/index.test.js
浏览文件 @
e837c225
...
...
@@ -217,7 +217,7 @@ describe('SCSS Support', () => {
expect
(
cssContent
.
replace
(
/
\/\*
.*
?\*\/
/g
,
''
).
trim
()
).
toMatchInlineSnapshot
(
`".red-text{color:purple;
color:red;font-weight:bolder}.blue-text{color:orange;color:#00f;font-weight:bolder
}"`
`".red-text{color:purple;
font-weight:bolder;color:red}.blue-text{color:orange;font-weight:bolder;color:#00f
}"`
)
})
})
...
...
@@ -640,7 +640,7 @@ describe('SCSS Support', () => {
expect
(
cssFiles
.
length
).
toBe
(
1
)
const
cssContent
=
await
readFile
(
join
(
cssFolder
,
cssFiles
[
0
]),
'
utf8
'
)
expect
(
cssContent
.
replace
(
/
\/\*
.*
?\*\/
/g
,
''
).
trim
()).
toMatch
(
/^
\.
red-text
\{
background-image:url
\(\/
_next
\/
static
\/
media
\/
dark
\.[
a-z0-9
]{32}\.
svg
\)
url
\(\/
_next
\/
static
\/
media
\/
dark2
\.[
a-z0-9
]{32}\.
svg
\)
;color:red
\}\.
blue-text
\{
background-image:url
\(\/
_next
\/
static
\/
media
\/
light
\.[
a-z0-9
]{32}\.
svg
\)
;color:orange;color:#00f;font-weight:bolder
\}
$/
/^
\.
red-text
\{
color:red;background-image:url
\(\/
_next
\/
static
\/
media
\/
dark
\.[
a-z0-9
]{32}\.
svg
\)
url
\(\/
_next
\/
static
\/
media
\/
dark2
\.[
a-z0-9
]{32}\.
svg
\)\}\.
blue-text
\{
color:orange;font-weight:bolder;background-image:url
\(\/
_next
\/
static
\/
media
\/
light
\.[
a-z0-9
]{32}\.
svg
\)
;color:#00f
\}
$/
)
const
mediaFiles
=
await
readdir
(
mediaFolder
)
...
...
@@ -686,7 +686,7 @@ describe('SCSS Support', () => {
expect
(
cssFiles
.
length
).
toBe
(
1
)
const
cssContent
=
await
readFile
(
join
(
cssFolder
,
cssFiles
[
0
]),
'
utf8
'
)
expect
(
cssContent
.
replace
(
/
\/\*
.*
?\*\/
/g
,
''
).
trim
()).
toMatch
(
/^
\.
red-text
\{
background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark
\.[
a-z0-9
]{32}\.
svg
\)
url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark2
\.[
a-z0-9
]{32}\.
svg
\)
;color:red
\}\.
blue-text
\{
background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
light
\.[
a-z0-9
]{32}\.
svg
\)
;color:orange;color:#00f;font-weight:bolder
\}
$/
/^
\.
red-text
\{
color:red;background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark
\.[
a-z0-9
]{32}\.
svg
\)
url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark2
\.[
a-z0-9
]{32}\.
svg
\)\}\.
blue-text
\{
color:orange;font-weight:bolder;background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
light
\.[
a-z0-9
]{32}\.
svg
\)
;color:#00f
\}
$/
)
const
mediaFiles
=
await
readdir
(
mediaFolder
)
...
...
@@ -732,7 +732,7 @@ describe('SCSS Support', () => {
expect
(
cssFiles
.
length
).
toBe
(
1
)
const
cssContent
=
await
readFile
(
join
(
cssFolder
,
cssFiles
[
0
]),
'
utf8
'
)
expect
(
cssContent
.
replace
(
/
\/\*
.*
?\*\/
/g
,
''
).
trim
()).
toMatch
(
/^
\.
red-text
\{
background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark
\.[
a-z0-9
]{32}\.
svg
\)
url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark2
\.[
a-z0-9
]{32}\.
svg
\)
;color:red
\}\.
blue-text
\{
background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
light
\.[
a-z0-9
]{32}\.
svg
\)
;color:orange;color:#00f;font-weight:bolder
\}
$/
/^
\.
red-text
\{
color:red;background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark
\.[
a-z0-9
]{32}\.
svg
\)
url
\(\/
foo
\/
_next
\/
static
\/
media
\/
dark2
\.[
a-z0-9
]{32}\.
svg
\)\}\.
blue-text
\{
color:orange;font-weight:bolder;background-image:url
\(\/
foo
\/
_next
\/
static
\/
media
\/
light
\.[
a-z0-9
]{32}\.
svg
\)
;color:#00f
\}
$/
)
const
mediaFiles
=
await
readdir
(
mediaFolder
)
...
...
yarn.lock
浏览文件 @
e837c225
...
...
@@ -5561,19 +5561,19 @@ cssnano-preset-default@^4.0.7:
postcss-svgo "^4.0.2"
postcss-unique-selectors "^4.0.1"
cssnano-preset-simple@
^1.1.3
:
version "1.1.
3
"
resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-1.1.
3.tgz#c185f915afcfb803e78e357df48cc77f949eb1d4
"
integrity sha512-
7iDiM+OSkDlTrH/xGw748mr7FdQtFAy6qFRlTjJevAsG536DPOMeaDucJMqWzyAhcem0VQkTGveUk3bo3ux6h
A==
cssnano-preset-simple@
1.1.4
:
version "1.1.
4
"
resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-1.1.
4.tgz#7b287a31df786348565d02342df71af8f758ac82
"
integrity sha512-
EYKDo65W+AxMViUijv/hvhbEnxUjmu3V7omcH1MatPOwjRLrAgVArUOE8wTUyc1ePFEtvV8oCT4/QSRJDorm/
A==
dependencies:
postcss "^7.0.32"
cssnano-simple@1.0.
4
:
version "1.0.
4
"
resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-1.0.
4.tgz#2d56225795f4afbbb9c21df953cb43df6c589ae1
"
integrity sha512-
Em/QujEpiqfjT3wksbyHTYpBF2l7lfYuUiLjtCwurc6NqRFb4N/VZjC3djNuO7poFpO410tTcpJ38Qn8xWadcA
==
cssnano-simple@1.0.
5
:
version "1.0.
5
"
resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-1.0.
5.tgz#66ee528f3a4e60754e2625ea9f51ac315f5f0a92
"
integrity sha512-
NJjx2Er1C3pa75v1GwMKm0w6xAp1GsW2Ql1As4CWPNFxTgYFN5e8wblYeHfna13sANAhyIdSIPqKJjBO4CU5Eg
==
dependencies:
cssnano-preset-simple "
^1.1.3
"
cssnano-preset-simple "
1.1.4
"
postcss "^7.0.32"
cssnano-util-get-arguments@^4.0.0:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录