@rebuildjs/tailwindcss 0.4.0 → 0.5.0
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
|
@@ -4,7 +4,7 @@ import type { Config } from 'tailwindcss'
|
|
|
4
4
|
export declare const rebuild_tailwind_plugin__build_id$_:ctx__be_T<sig_T<string|undefined>, 'app'>
|
|
5
5
|
export declare const rebuild_tailwind_plugin__build_id_:ctx__get_T<string|undefined, 'app'>
|
|
6
6
|
export declare const rebuild_tailwind_plugin__build_id__set:ctx__set_T<string|undefined, 'app'>
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
9
|
-
export declare function
|
|
7
|
+
export declare const rebuildjs_tailwind__ready$_:ctx__be_T<sig_T<boolean>, 'app'>
|
|
8
|
+
export declare const rebuildjs_tailwind__ready_:ctx__get_T<boolean, 'app'>
|
|
9
|
+
export declare function rebuildjs_tailwind__ready(timeout?:number):Promise<boolean>
|
|
10
10
|
export declare function rebuild_tailwind_plugin_(config?:Config):Plugin
|
|
@@ -41,17 +41,17 @@ export const [
|
|
|
41
41
|
()=>undefined,
|
|
42
42
|
{ id: 'rebuild_tailwind_plugin__build_id', ns: 'app' })
|
|
43
43
|
export const [
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
rebuildjs_tailwind__ready$_,
|
|
45
|
+
rebuildjs_tailwind__ready_,
|
|
46
46
|
] = be_memo_pair_(ctx=>
|
|
47
47
|
!!(
|
|
48
48
|
build_id_(ctx)
|
|
49
49
|
&& rebuildjs__ready_(ctx)
|
|
50
50
|
&& build_id_(ctx) === rebuild_tailwind_plugin__build_id_(ctx)),
|
|
51
|
-
{ id: '
|
|
52
|
-
export function
|
|
51
|
+
{ id: 'rebuildjs_tailwind__ready', ns: 'app' })
|
|
52
|
+
export function rebuildjs_tailwind__ready__wait(timeout) {
|
|
53
53
|
return rmemo__wait(
|
|
54
|
-
|
|
54
|
+
rebuildjs_tailwind__ready$_(app_ctx),
|
|
55
55
|
ready=>ready,
|
|
56
56
|
timeout ?? 10_000)
|
|
57
57
|
}
|
|
@@ -87,19 +87,27 @@ export function rebuild_tailwind_plugin_(config) {
|
|
|
87
87
|
server__output__relative_path_M_middleware_ctx,
|
|
88
88
|
)=>{
|
|
89
89
|
try {
|
|
90
|
+
let server__metafile_updated
|
|
91
|
+
let browser_metafile_updated
|
|
90
92
|
for (const middleware_ctx of server__output__relative_path_M_middleware_ctx.values()) {
|
|
91
|
-
await output__process(
|
|
93
|
+
server__metafile_updated = await output__process(
|
|
92
94
|
server__metafile_(middleware_ctx),
|
|
93
95
|
server__output__relative_path_(middleware_ctx),
|
|
94
96
|
server__output_(middleware_ctx))
|
|
95
|
-
await output__process(
|
|
97
|
+
browser_metafile_updated = await output__process(
|
|
96
98
|
browser__metafile_(middleware_ctx),
|
|
97
99
|
browser__output__relative_path_(middleware_ctx),
|
|
98
100
|
browser__output_(middleware_ctx))
|
|
99
101
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
102
|
+
if (server__metafile_updated) {
|
|
103
|
+
await cmd(server__metafile__update(server__metafile_(app_ctx)))
|
|
104
|
+
}
|
|
105
|
+
if (browser_metafile_updated) {
|
|
106
|
+
await cmd(browser__metafile__update(browser__metafile_(app_ctx)))
|
|
107
|
+
}
|
|
108
|
+
if (!server__metafile_updated && !browser_metafile_updated) {
|
|
109
|
+
rebuild_tailwind_plugin__build_id__set(app_ctx, build_id)
|
|
110
|
+
}
|
|
103
111
|
} catch (err) {
|
|
104
112
|
if (err instanceof Cancel) return
|
|
105
113
|
throw err
|
|
@@ -113,25 +121,30 @@ export function rebuild_tailwind_plugin_(config) {
|
|
|
113
121
|
output__relative_path,
|
|
114
122
|
output,
|
|
115
123
|
) {
|
|
124
|
+
let metafile_updated = false
|
|
116
125
|
const cssBundle = output?.cssBundle
|
|
117
|
-
if (!cssBundle) return
|
|
126
|
+
if (!cssBundle) return metafile_updated
|
|
118
127
|
const esbuild_cssBundle = output.esbuild_cssBundle ?? cssBundle
|
|
119
128
|
const esbuild_cssBundle_path = join(cwd_(app_ctx), esbuild_cssBundle)
|
|
120
|
-
await file_exists__waitfor(
|
|
129
|
+
await cmd(file_exists__waitfor(
|
|
121
130
|
esbuild_cssBundle_path,
|
|
122
131
|
1000,
|
|
123
|
-
()=>cmd(sleep(0)))
|
|
132
|
+
()=>cmd(sleep(0))))
|
|
124
133
|
const esbuild_cssBundle_map_path = esbuild_cssBundle_path + '.map'
|
|
125
134
|
const esbuild_cssBundle_map_exists = await cmd(file_exists_(esbuild_cssBundle_map_path))
|
|
126
135
|
const output_hash =
|
|
127
136
|
basename(output__relative_path, '.js')
|
|
128
137
|
.split('-')
|
|
129
138
|
.slice(-1)[0]
|
|
139
|
+
metafile_updated = !cssBundle.includes('_' + output_hash)
|
|
130
140
|
const annotated_cssBundle =
|
|
131
|
-
|
|
132
|
-
? cssBundle
|
|
133
|
-
:
|
|
141
|
+
metafile_updated
|
|
142
|
+
? cssBundle__annotate(cssBundle, '_' + output_hash)
|
|
143
|
+
: cssBundle
|
|
134
144
|
output.cssBundle = annotated_cssBundle
|
|
145
|
+
if (metafile_updated) {
|
|
146
|
+
metafile.outputs[annotated_cssBundle] = metafile.outputs[cssBundle]
|
|
147
|
+
}
|
|
135
148
|
const annotated_cssBundle_path = join(cwd_(app_ctx), annotated_cssBundle)
|
|
136
149
|
const result = await cmd(postcss([
|
|
137
150
|
tailwind({
|
|
@@ -155,8 +168,18 @@ export function rebuild_tailwind_plugin_(config) {
|
|
|
155
168
|
}))
|
|
156
169
|
await cmd(writeFile(annotated_cssBundle_path, result.css))
|
|
157
170
|
if (result.map) {
|
|
158
|
-
|
|
171
|
+
const map_json = JSON.stringify(result.map)
|
|
172
|
+
await cmd(writeFile(annotated_cssBundle_path + '.map', map_json))
|
|
173
|
+
await cmd(file_exists__waitfor(()=>
|
|
174
|
+
readFile(annotated_cssBundle_path + '.map')
|
|
175
|
+
.then(buf=>'' + buf === map_json),
|
|
176
|
+
5_000))
|
|
159
177
|
}
|
|
178
|
+
await cmd(file_exists__waitfor(()=>
|
|
179
|
+
readFile(annotated_cssBundle_path)
|
|
180
|
+
.then(buf=>'' + buf === result.css),
|
|
181
|
+
5_000))
|
|
182
|
+
return metafile_updated
|
|
160
183
|
}
|
|
161
184
|
async function cmd(promise) {
|
|
162
185
|
if (cancel_()) promise__cancel__throw(promise)
|
|
@@ -26,8 +26,8 @@ import {
|
|
|
26
26
|
rebuild_tailwind_plugin__build_id$_,
|
|
27
27
|
rebuild_tailwind_plugin__build_id_,
|
|
28
28
|
rebuild_tailwind_plugin__build_id__set,
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
rebuildjs_tailwind__ready$_,
|
|
30
|
+
rebuildjs_tailwind__ready_
|
|
31
31
|
} from './index.js'
|
|
32
32
|
test.after.each(()=>{
|
|
33
33
|
app_ctx.s.app.clear()
|
|
@@ -44,29 +44,29 @@ test('rebuild_tailwind_plugin__build_id', ()=>{
|
|
|
44
44
|
throws(()=>rebuild_tailwind_plugin__build_id_(ctx_()))
|
|
45
45
|
})
|
|
46
46
|
test('rebuild_tailwind_plugin__ready', ()=>{
|
|
47
|
-
equal(
|
|
48
|
-
equal(
|
|
47
|
+
equal(rebuildjs_tailwind__ready$_(app_ctx)(), false)
|
|
48
|
+
equal(rebuildjs_tailwind__ready_(app_ctx), false)
|
|
49
49
|
const build_id = server__metafile0.build_id!
|
|
50
50
|
build_id__set(app_ctx, build_id)
|
|
51
51
|
equal(rebuildjs__ready_(app_ctx), false)
|
|
52
|
-
equal(
|
|
53
|
-
equal(
|
|
52
|
+
equal(rebuildjs_tailwind__ready$_(app_ctx)(), false)
|
|
53
|
+
equal(rebuildjs_tailwind__ready_(app_ctx), false)
|
|
54
54
|
server__metafile__set(app_ctx, server__metafile0)
|
|
55
55
|
equal(rebuildjs__ready_(app_ctx), false)
|
|
56
|
-
equal(
|
|
57
|
-
equal(
|
|
56
|
+
equal(rebuildjs_tailwind__ready$_(app_ctx)(), false)
|
|
57
|
+
equal(rebuildjs_tailwind__ready_(app_ctx), false)
|
|
58
58
|
browser__metafile__set(app_ctx, browser__metafile0)
|
|
59
59
|
equal(rebuildjs__ready_(app_ctx), false)
|
|
60
|
-
equal(
|
|
61
|
-
equal(
|
|
60
|
+
equal(rebuildjs_tailwind__ready$_(app_ctx)(), false)
|
|
61
|
+
equal(rebuildjs_tailwind__ready_(app_ctx), false)
|
|
62
62
|
rebuildjs__build_id__set(app_ctx, build_id)
|
|
63
63
|
equal(rebuildjs__ready_(app_ctx), true)
|
|
64
|
-
equal(
|
|
65
|
-
equal(
|
|
64
|
+
equal(rebuildjs_tailwind__ready$_(app_ctx)(), false)
|
|
65
|
+
equal(rebuildjs_tailwind__ready_(app_ctx), false)
|
|
66
66
|
rebuild_tailwind_plugin__build_id__set(app_ctx, build_id)
|
|
67
67
|
equal(rebuildjs__ready_(app_ctx), true)
|
|
68
|
-
equal(
|
|
69
|
-
equal(
|
|
68
|
+
equal(rebuildjs_tailwind__ready$_(app_ctx)(), true)
|
|
69
|
+
equal(rebuildjs_tailwind__ready_(app_ctx), true)
|
|
70
70
|
})
|
|
71
71
|
test('rebuild_tailwind_plugin_', async ()=>{
|
|
72
72
|
const test_dir = dirname(new URL(import.meta.url).pathname)
|
|
@@ -100,7 +100,7 @@ test('rebuild_tailwind_plugin_', async ()=>{
|
|
|
100
100
|
equal(typeof browser__entryPoint__output.esbuild_cssBundle, 'string')
|
|
101
101
|
equal(server__entryPoint__output.cssBundle !== server__entryPoint__output.esbuild_cssBundle, true)
|
|
102
102
|
equal(browser__entryPoint__output.cssBundle !== browser__entryPoint__output.esbuild_cssBundle, true)
|
|
103
|
-
await rmemo__wait(
|
|
103
|
+
await rmemo__wait(rebuildjs_tailwind__ready$_(app_ctx), $=>$, 2000)
|
|
104
104
|
const cssBundle_text =
|
|
105
105
|
await readFile(join(cwd_(app_ctx), server__entryPoint__output.cssBundle!))
|
|
106
106
|
.then(buf=>buf + '')
|