@lls/vitescripts 2.0.16 → 2.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/index.mjs +1 -1
- package/src/llsCssSsrCollectPlugin.mjs +25 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lls/vitescripts",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.18",
|
|
4
4
|
"description": "lls vite plugins",
|
|
5
5
|
"main": "src/index.mjs",
|
|
6
6
|
"files": [
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"license": "ISC",
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@lls/eslint-config-lls": "1.1.12",
|
|
23
|
-
"@lls/lls-kit": "
|
|
23
|
+
"@lls/lls-kit": "21.0.0",
|
|
24
24
|
"husky": "8.0.3",
|
|
25
25
|
"vitest": "0.34.6"
|
|
26
26
|
},
|
package/src/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { default as llsAssetsPlugin } from './llsAssetsPlugin.mjs'
|
|
2
2
|
export { default as llsLinariaImportsPlugin } from './llsLinariaImportsPlugin.mjs'
|
|
3
|
-
export { default as
|
|
3
|
+
export { default as llsCssSsrCollectPlugin } from './llsCssSsrCollectPlugin.mjs'
|
|
4
4
|
export { default as llsRequirePlugin } from './llsRequirePlugin.mjs'
|
|
5
5
|
export { default as llsSideRefreshMetaPlugin } from './llsSideRefreshMetaPlugin.mjs'
|
|
6
6
|
export { default as llsVitestMockPlugin } from './llsVitestMockPlugin.mjs'
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* flushStyles() method that generates and return <style> tag with refreshed style
|
|
3
|
+
*/
|
|
4
|
+
import { transform } from 'lightningcss'
|
|
5
|
+
const llsCssSsrCollectPlugin = () => {
|
|
6
|
+
const cssIds = new Map()
|
|
7
|
+
return {
|
|
8
|
+
name: 'lls:llsCssSsrCollectPlugin',
|
|
9
|
+
transform(src, id) {
|
|
10
|
+
if (/module\.css$/.test(id)) {
|
|
11
|
+
cssIds.set(id, src)
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
flushStyles() {
|
|
15
|
+
const css = [...cssIds.values()].join('\n')
|
|
16
|
+
|
|
17
|
+
// when hmr, id changes but not css-selector so we get two rules with the same css-selector
|
|
18
|
+
// we dedupe the rules so old rule is now stripped.
|
|
19
|
+
const { code } = transform({ code: Buffer.from(css) })
|
|
20
|
+
return `<style id="cssmodule-ssr-collect-plugin">${code.toString()}</style>`
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default llsCssSsrCollectPlugin
|