@rebuildjs/tailwindcss 0.7.5 → 0.8.1
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
CHANGED
|
@@ -1,67 +1,68 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
2
|
+
"name": "@rebuildjs/tailwindcss",
|
|
3
|
+
"version": "0.8.1",
|
|
4
|
+
"description": "Tailwindcss integration with rebuildjs",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"tailwindcss",
|
|
7
|
+
"reactive",
|
|
8
|
+
"multi page apps",
|
|
9
|
+
"web app",
|
|
10
|
+
"web server",
|
|
11
|
+
"esbuild",
|
|
12
|
+
"rmemo",
|
|
13
|
+
"ctx-core"
|
|
14
|
+
],
|
|
15
|
+
"homepage": "https://github.com/rebuildjs/tailwindcss#readme",
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/rebuildjs/tailwindcss/issues"
|
|
18
|
+
},
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "https://github.com/rebuildjs/tailwindcss.git"
|
|
22
|
+
},
|
|
23
|
+
"license": "Apache-2.0",
|
|
24
|
+
"author": "Brian Takita",
|
|
25
|
+
"type": "module",
|
|
26
|
+
"files": [
|
|
27
|
+
"*.d.ts",
|
|
28
|
+
"*.js",
|
|
29
|
+
"*.json",
|
|
30
|
+
"rebuild_tailwind_plugin"
|
|
31
|
+
],
|
|
32
|
+
"types": "./index.d.ts",
|
|
33
|
+
"exports": {
|
|
34
|
+
".": "./index.js",
|
|
35
|
+
"./package.json": "./package.json"
|
|
36
|
+
},
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": ":",
|
|
39
|
+
"clean": ":",
|
|
40
|
+
"exec": "$@",
|
|
41
|
+
"prepublishOnly": "pnpm clean && pnpm build && pnpm test",
|
|
42
|
+
"test": "pnpm test:unit && pnpm test:types",
|
|
43
|
+
"test:types": "check-dts",
|
|
44
|
+
"test:unit": "NODE_OPTIONS=--loader=esmock tsx node_modules/uvu/bin.js . '\\.test\\.(ts|js)$'",
|
|
45
|
+
"test:unit:coverage": "c8 pnpm test:unit"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"ctx-core": "^5.38.1",
|
|
49
|
+
"esbuild": "^0.20.0",
|
|
50
|
+
"postcss": "^8.4.34",
|
|
51
|
+
"rebuildjs": "^0.56.0",
|
|
52
|
+
"tailwindcss": "^3.4.1"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"c8": "^9.1.0",
|
|
56
|
+
"check-dts": "^0.7.2",
|
|
57
|
+
"esmock": "^2.6.3",
|
|
58
|
+
"relementjs": "^0.64.2",
|
|
59
|
+
"tsx": "^4.7.0",
|
|
60
|
+
"typescript": "next",
|
|
61
|
+
"uvu": "^0.5.6"
|
|
62
|
+
},
|
|
63
|
+
"publishConfig": {
|
|
64
|
+
"access": "public",
|
|
65
|
+
"cache": "~/.npm"
|
|
66
|
+
},
|
|
67
|
+
"sideEffects": false
|
|
67
68
|
}
|
|
@@ -21,13 +21,13 @@ import {
|
|
|
21
21
|
browser__metafile__update,
|
|
22
22
|
browser__output_,
|
|
23
23
|
browser__output__relative_path_,
|
|
24
|
-
browser__relative_path_,
|
|
25
24
|
build_id_,
|
|
26
25
|
cssBundle__annotate,
|
|
27
26
|
cwd_,
|
|
28
|
-
|
|
27
|
+
rebuildjs__esbuild__build_id_,
|
|
29
28
|
rebuildjs__ready__add,
|
|
30
|
-
|
|
29
|
+
rebuildjs__esbuild__done_,
|
|
30
|
+
rebuildjs__esbuild__done__wait,
|
|
31
31
|
server__metafile_,
|
|
32
32
|
server__metafile__update,
|
|
33
33
|
server__output_,
|
|
@@ -48,7 +48,7 @@ export const [
|
|
|
48
48
|
] = be_memo_pair_(ctx=>
|
|
49
49
|
!!(
|
|
50
50
|
build_id_(ctx)
|
|
51
|
-
&&
|
|
51
|
+
&& rebuildjs__esbuild__done_(ctx)
|
|
52
52
|
&& build_id_(ctx) === rebuild_tailwind_plugin__build_id_(ctx)),
|
|
53
53
|
{ id: 'rebuildjs_tailwind__ready', ns: 'app' })
|
|
54
54
|
export function rebuildjs_tailwind__ready__wait(timeout) {
|
|
@@ -65,14 +65,14 @@ export function rebuildjs_tailwind__ready__wait(timeout) {
|
|
|
65
65
|
export function rebuild_tailwind_plugin_(config) {
|
|
66
66
|
return { name: 'rebuild_tailwind_plugin', setup: setup_() }
|
|
67
67
|
function setup_() {
|
|
68
|
-
rebuildjs__ready__add(
|
|
68
|
+
rebuildjs__ready__add(rebuildjs_tailwind__ready$_)
|
|
69
69
|
/**
|
|
70
70
|
* @param {import('esbuild').PluginBuild}build
|
|
71
71
|
*/
|
|
72
72
|
const setup = (build)=>{
|
|
73
73
|
build.onEnd(result=>{
|
|
74
74
|
if (result.errors.length) {
|
|
75
|
-
throw
|
|
75
|
+
throw Error('Build errors: ' + result.errors.length + ' errors')
|
|
76
76
|
}
|
|
77
77
|
})
|
|
78
78
|
}
|
|
@@ -84,20 +84,20 @@ export function rebuild_tailwind_plugin_(config) {
|
|
|
84
84
|
r()
|
|
85
85
|
return tailwind__build$
|
|
86
86
|
function r() {
|
|
87
|
-
if (!
|
|
87
|
+
if (!rebuildjs__esbuild__done_(app_ctx)) return
|
|
88
88
|
nullish__none_(tup(
|
|
89
89
|
build_id_(app_ctx),
|
|
90
|
-
|
|
90
|
+
rebuildjs__esbuild__build_id_(app_ctx),
|
|
91
91
|
server__output__relative_path_M_middleware_ctx_(app_ctx),
|
|
92
92
|
), async (
|
|
93
93
|
build_id,
|
|
94
94
|
rebuildjs__build_id,
|
|
95
95
|
server__output__relative_path_M_middleware_ctx,
|
|
96
96
|
)=>{
|
|
97
|
-
let promise_a1 = []
|
|
98
97
|
try {
|
|
99
98
|
let server__metafile_updated
|
|
100
99
|
let browser_metafile_updated
|
|
100
|
+
await rebuildjs__esbuild__done__wait()
|
|
101
101
|
for (const middleware_ctx of server__output__relative_path_M_middleware_ctx.values()) {
|
|
102
102
|
server__metafile_updated = await output__process(
|
|
103
103
|
server__metafile_(middleware_ctx),
|
|
@@ -114,7 +114,6 @@ export function rebuild_tailwind_plugin_(config) {
|
|
|
114
114
|
if (browser_metafile_updated) {
|
|
115
115
|
await cmd(browser__metafile__update(browser__metafile_(app_ctx)))
|
|
116
116
|
}
|
|
117
|
-
await Promise.all(promise_a1)
|
|
118
117
|
if (!server__metafile_updated && !browser_metafile_updated) {
|
|
119
118
|
rebuild_tailwind_plugin__build_id__set(app_ctx, build_id)
|
|
120
119
|
}
|
|
@@ -154,8 +153,10 @@ export function rebuild_tailwind_plugin_(config) {
|
|
|
154
153
|
output.cssBundle = annotated_cssBundle
|
|
155
154
|
if (metafile_updated) {
|
|
156
155
|
metafile.outputs[annotated_cssBundle] = metafile.outputs[cssBundle]
|
|
156
|
+
metafile.outputs[annotated_cssBundle + '.map'] = metafile.outputs[cssBundle + '.map']
|
|
157
157
|
}
|
|
158
158
|
const annotated_cssBundle_path = join(cwd_(app_ctx), annotated_cssBundle)
|
|
159
|
+
const annotated_cssBundle_map_path = join(cwd_(app_ctx), annotated_cssBundle) + '.map'
|
|
159
160
|
const tailwind_instance = tailwind({
|
|
160
161
|
...config?.tailwindcss_config,
|
|
161
162
|
content: [
|
|
@@ -169,22 +170,23 @@ export function rebuild_tailwind_plugin_(config) {
|
|
|
169
170
|
config?.postcss_plugin_a1_?.(tailwind_instance)
|
|
170
171
|
?? [tailwind_instance]
|
|
171
172
|
).process(
|
|
172
|
-
await
|
|
173
|
+
await file_exists__waitfor(()=>
|
|
174
|
+
cmd(readFile(esbuild_cssBundle_path))),
|
|
173
175
|
{
|
|
174
176
|
from: esbuild_cssBundle_path,
|
|
175
177
|
to: join(cwd_(app_ctx), cssBundle),
|
|
176
178
|
map: esbuild_cssBundle_map_exists
|
|
177
179
|
? {
|
|
178
|
-
prev:
|
|
180
|
+
prev: await file_json__parse__wait(esbuild_cssBundle_map_path)
|
|
179
181
|
}
|
|
180
182
|
: false,
|
|
181
183
|
}))
|
|
182
184
|
await cmd(writeFile(annotated_cssBundle_path, result.css))
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
await cmd(writeFile(
|
|
185
|
+
const map_json = result.map ? JSON.stringify(result.map) : null
|
|
186
|
+
if (map_json) {
|
|
187
|
+
await cmd(writeFile(annotated_cssBundle_map_path, map_json))
|
|
186
188
|
await cmd(file_exists__waitfor(()=>
|
|
187
|
-
readFile(
|
|
189
|
+
readFile(annotated_cssBundle_map_path)
|
|
188
190
|
.then(buf=>'' + buf === map_json),
|
|
189
191
|
5_000))
|
|
190
192
|
}
|
|
@@ -192,11 +194,21 @@ export function rebuild_tailwind_plugin_(config) {
|
|
|
192
194
|
readFile(annotated_cssBundle_path)
|
|
193
195
|
.then(buf=>'' + buf === result.css),
|
|
194
196
|
5_000))
|
|
195
|
-
promise_a1.push(file_exists__waitfor(
|
|
196
|
-
join(cwd_(app_ctx), browser__relative_path_(app_ctx), basename(annotated_cssBundle_path))
|
|
197
|
-
))
|
|
198
197
|
return metafile_updated
|
|
199
198
|
}
|
|
199
|
+
async function file_json__parse__wait(path) {
|
|
200
|
+
// eslint-disable-next-line no-constant-condition
|
|
201
|
+
while (1) {
|
|
202
|
+
try {
|
|
203
|
+
return JSON.parse(
|
|
204
|
+
await file_exists__waitfor(()=>
|
|
205
|
+
cmd(readFile(path))))
|
|
206
|
+
} catch (err) {
|
|
207
|
+
if (err.name === 'SyntaxError') continue
|
|
208
|
+
throw err
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
200
212
|
async function cmd(promise) {
|
|
201
213
|
if (cancel_()) promise__cancel__throw(promise)
|
|
202
214
|
const rv = await promise
|
|
@@ -206,7 +218,7 @@ export function rebuild_tailwind_plugin_(config) {
|
|
|
206
218
|
function cancel_() {
|
|
207
219
|
return (
|
|
208
220
|
build_id_(app_ctx) !== build_id
|
|
209
|
-
||
|
|
221
|
+
|| rebuildjs__esbuild__build_id_(app_ctx) !== rebuildjs__build_id
|
|
210
222
|
|| server__output__relative_path_M_middleware_ctx_(
|
|
211
223
|
app_ctx) !== server__output__relative_path_M_middleware_ctx
|
|
212
224
|
)
|
|
@@ -9,14 +9,15 @@ import {
|
|
|
9
9
|
ctx_,
|
|
10
10
|
cwd_,
|
|
11
11
|
cwd__set,
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
rebuildjs__esbuild__build_id__set,
|
|
13
|
+
rebuildjs__esbuild__done_,
|
|
14
|
+
rebuildjs__ready__add__ready$__a1_,
|
|
14
15
|
rebuildjs__ready__wait,
|
|
15
16
|
rebuildjs_browser__build,
|
|
16
17
|
rebuildjs_server__build,
|
|
17
18
|
rmemo__wait,
|
|
18
19
|
server__metafile_,
|
|
19
|
-
server__metafile__set
|
|
20
|
+
server__metafile__set
|
|
20
21
|
} from 'rebuildjs/server'
|
|
21
22
|
import { test } from 'uvu'
|
|
22
23
|
import { equal, throws } from 'uvu/assert'
|
|
@@ -48,23 +49,23 @@ test('rebuild_tailwind_plugin__ready', ()=>{
|
|
|
48
49
|
equal(rebuildjs_tailwind__ready_(app_ctx), false)
|
|
49
50
|
const build_id = server__metafile0.build_id!
|
|
50
51
|
build_id__set(app_ctx, build_id)
|
|
51
|
-
equal(
|
|
52
|
+
equal(rebuildjs__esbuild__done_(app_ctx), false)
|
|
52
53
|
equal(rebuildjs_tailwind__ready$_(app_ctx)(), false)
|
|
53
54
|
equal(rebuildjs_tailwind__ready_(app_ctx), false)
|
|
54
55
|
server__metafile__set(app_ctx, server__metafile0)
|
|
55
|
-
equal(
|
|
56
|
+
equal(rebuildjs__esbuild__done_(app_ctx), false)
|
|
56
57
|
equal(rebuildjs_tailwind__ready$_(app_ctx)(), false)
|
|
57
58
|
equal(rebuildjs_tailwind__ready_(app_ctx), false)
|
|
58
59
|
browser__metafile__set(app_ctx, browser__metafile0)
|
|
59
|
-
equal(
|
|
60
|
+
equal(rebuildjs__esbuild__done_(app_ctx), false)
|
|
60
61
|
equal(rebuildjs_tailwind__ready$_(app_ctx)(), false)
|
|
61
62
|
equal(rebuildjs_tailwind__ready_(app_ctx), false)
|
|
62
|
-
|
|
63
|
-
equal(
|
|
63
|
+
rebuildjs__esbuild__build_id__set(app_ctx, build_id)
|
|
64
|
+
equal(rebuildjs__esbuild__done_(app_ctx), true)
|
|
64
65
|
equal(rebuildjs_tailwind__ready$_(app_ctx)(), false)
|
|
65
66
|
equal(rebuildjs_tailwind__ready_(app_ctx), false)
|
|
66
67
|
rebuild_tailwind_plugin__build_id__set(app_ctx, build_id)
|
|
67
|
-
equal(
|
|
68
|
+
equal(rebuildjs__esbuild__done_(app_ctx), true)
|
|
68
69
|
equal(rebuildjs_tailwind__ready$_(app_ctx)(), true)
|
|
69
70
|
equal(rebuildjs_tailwind__ready_(app_ctx), true)
|
|
70
71
|
})
|
|
@@ -77,7 +78,7 @@ test('rebuild_tailwind_plugin_|default', async ()=>{
|
|
|
77
78
|
let browser__build_context:BuildContext|undefined = undefined
|
|
78
79
|
try {
|
|
79
80
|
const rebuild_tailwind_plugin = rebuild_tailwind_plugin_()
|
|
80
|
-
equal(
|
|
81
|
+
equal(rebuildjs__ready__add__ready$__a1_(app_ctx), [rebuildjs_tailwind__ready$_])
|
|
81
82
|
server__build_context = await rebuildjs_server__build({ plugins: [rebuild_tailwind_plugin] })
|
|
82
83
|
browser__build_context = await rebuildjs_browser__build({ plugins: [rebuild_tailwind_plugin] })
|
|
83
84
|
await rebuildjs__ready__wait()
|
|
@@ -141,7 +142,7 @@ test('rebuild_tailwind_plugin_|tailwindcss_config', async ()=>{
|
|
|
141
142
|
content: []
|
|
142
143
|
}
|
|
143
144
|
})
|
|
144
|
-
equal(
|
|
145
|
+
equal(rebuildjs__ready__add__ready$__a1_(app_ctx), [rebuildjs_tailwind__ready$_])
|
|
145
146
|
server__build_context = await rebuildjs_server__build({ plugins: [rebuild_tailwind_plugin] })
|
|
146
147
|
browser__build_context = await rebuildjs_browser__build({ plugins: [rebuild_tailwind_plugin] })
|
|
147
148
|
await rebuildjs__ready__wait()
|