@fastkit/plugboy 1.1.0 → 1.2.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/README.md CHANGED
@@ -16,7 +16,7 @@ A monorepo-compatible module bundler and project management tool. Provides a hig
16
16
  - **CSS Integration**: Sass, Vanilla Extract, and CSS optimization support
17
17
  - **Development Efficiency**: Fast development cycle with stub functionality
18
18
  - **Automation**: Automatic generation of package.json and exports
19
- - **Env Constants**: `__PLUGBOY_DEV__` / `__PLUGBOY_STUB__` for guarding dev-only code ([docs](./docs/env-constants.md))
19
+ - **Env & Module Types**: `__PLUGBOY_DEV__` / `__PLUGBOY_STUB__` dev guards, plus Vite-compatible ambient types for asset, CSS, and `?raw` imports ([docs](./docs/env-constants.md))
20
20
 
21
21
  ## Installation
22
22
 
package/dist/cli.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { i as getWorkspace, t as generateWorkspace } from "./workspace-DLEx84dZ.mjs";
2
2
  import { cac } from "cac";
3
3
  //#region package.json
4
- var version = "1.1.0";
4
+ var version = "1.2.1";
5
5
  //#endregion
6
6
  //#region src/cli.ts
7
7
  async function main() {
package/env.d.ts CHANGED
@@ -1,22 +1,238 @@
1
- declare global {
2
- /**
3
- * Whether the code is running in a development context.
4
- *
5
- * @remarks
6
- * - `stub`: always `true`.
7
- * - published `build`: replaced with a runtime check of the consumer's
8
- * environment (`process.env.NODE_ENV === 'development'` or
9
- * `import.meta.env.DEV === true`), so the branch is evaluated at the
10
- * consumer's runtime rather than eliminated.
11
- */
12
- const __PLUGBOY_DEV__: boolean;
13
-
14
- /**
15
- * The bundle is in stub mode.
16
- *
17
- * @remarks In stub mode, source code is executed in the source directory. This flag is available because of the different way of loading files in relative paths.
18
- */
19
- const __PLUGBOY_STUB__: boolean;
20
- }
21
-
22
- export {};
1
+ // This file must remain a SCRIPT (no top-level `import`/`export`). A trailing
2
+ // `export {}` would make it a module, and top-level wildcard `declare module
3
+ // '*.svg'` declarations in a module file are NOT registered as global ambient
4
+ // modules — they would silently fail to apply on the consumer side. Keeping the
5
+ // file a script (plain top-level `declare const` / `declare module`) is what
6
+ // makes both the constants and the module declarations below globally visible.
7
+
8
+ /**
9
+ * Whether the code is running in a development context.
10
+ *
11
+ * @remarks
12
+ * - `stub`: always `true`.
13
+ * - published `build`: replaced with a runtime check of the consumer's
14
+ * environment (`process.env.NODE_ENV === 'development'` or
15
+ * `import.meta.env.DEV === true`), so the branch is evaluated at the
16
+ * consumer's runtime rather than eliminated.
17
+ */
18
+ declare const __PLUGBOY_DEV__: boolean;
19
+
20
+ /**
21
+ * The bundle is in stub mode.
22
+ *
23
+ * @remarks In stub mode, source code is executed in the source directory. This flag is available because of the different way of loading files in relative paths.
24
+ */
25
+ declare const __PLUGBOY_STUB__: boolean;
26
+
27
+ // The declarations below mirror the subset of Vite's `vite/client` module
28
+ // declarations that Plugboy is compatible with, so that source that already
29
+ // targets Vite type-checks the same way under Plugboy. Only imports Plugboy
30
+ // actually handles are declared here:
31
+ // - CSS is processed via `@tsdown/css` (side-effect imports and CSS Modules).
32
+ // - Static assets resolve to a `string` default export (rolldown default).
33
+ // - `?raw` resolves to the file contents as a `string` (Plugboy's raw loader).
34
+ //
35
+ // Vite-only features without a Plugboy loader are intentionally omitted so the
36
+ // types never imply support that does not exist: `?url` / `?inline`,
37
+ // `?worker` / `?sharedworker`, `*.wasm?init`, `vite/modulepreload-polyfill`,
38
+ // and the `vite:preloadError` event. Use `__PLUGBOY_DEV__` instead of
39
+ // `import.meta.env`, which Plugboy does not type on the source side.
40
+
41
+ // CSS modules
42
+ type CSSModuleClasses = { readonly [key: string]: string };
43
+
44
+ declare module '*.module.css' {
45
+ const classes: CSSModuleClasses;
46
+ export default classes;
47
+ }
48
+ declare module '*.module.scss' {
49
+ const classes: CSSModuleClasses;
50
+ export default classes;
51
+ }
52
+ declare module '*.module.sass' {
53
+ const classes: CSSModuleClasses;
54
+ export default classes;
55
+ }
56
+ declare module '*.module.less' {
57
+ const classes: CSSModuleClasses;
58
+ export default classes;
59
+ }
60
+ declare module '*.module.styl' {
61
+ const classes: CSSModuleClasses;
62
+ export default classes;
63
+ }
64
+ declare module '*.module.stylus' {
65
+ const classes: CSSModuleClasses;
66
+ export default classes;
67
+ }
68
+ declare module '*.module.pcss' {
69
+ const classes: CSSModuleClasses;
70
+ export default classes;
71
+ }
72
+ declare module '*.module.sss' {
73
+ const classes: CSSModuleClasses;
74
+ export default classes;
75
+ }
76
+
77
+ // CSS
78
+ declare module '*.css' {}
79
+ declare module '*.scss' {}
80
+ declare module '*.sass' {}
81
+ declare module '*.less' {}
82
+ declare module '*.styl' {}
83
+ declare module '*.stylus' {}
84
+ declare module '*.pcss' {}
85
+ declare module '*.sss' {}
86
+
87
+ // Built-in asset types
88
+ // see `src/node/constants.ts`
89
+
90
+ // images
91
+ declare module '*.apng' {
92
+ const src: string;
93
+ export default src;
94
+ }
95
+ declare module '*.bmp' {
96
+ const src: string;
97
+ export default src;
98
+ }
99
+ declare module '*.png' {
100
+ const src: string;
101
+ export default src;
102
+ }
103
+ declare module '*.jpg' {
104
+ const src: string;
105
+ export default src;
106
+ }
107
+ declare module '*.jpeg' {
108
+ const src: string;
109
+ export default src;
110
+ }
111
+ declare module '*.jfif' {
112
+ const src: string;
113
+ export default src;
114
+ }
115
+ declare module '*.pjpeg' {
116
+ const src: string;
117
+ export default src;
118
+ }
119
+ declare module '*.pjp' {
120
+ const src: string;
121
+ export default src;
122
+ }
123
+ declare module '*.gif' {
124
+ const src: string;
125
+ export default src;
126
+ }
127
+ declare module '*.svg' {
128
+ const src: string;
129
+ export default src;
130
+ }
131
+ declare module '*.ico' {
132
+ const src: string;
133
+ export default src;
134
+ }
135
+ declare module '*.webp' {
136
+ const src: string;
137
+ export default src;
138
+ }
139
+ declare module '*.avif' {
140
+ const src: string;
141
+ export default src;
142
+ }
143
+ declare module '*.cur' {
144
+ const src: string;
145
+ export default src;
146
+ }
147
+ declare module '*.jxl' {
148
+ const src: string;
149
+ export default src;
150
+ }
151
+
152
+ // media
153
+ declare module '*.mp4' {
154
+ const src: string;
155
+ export default src;
156
+ }
157
+ declare module '*.webm' {
158
+ const src: string;
159
+ export default src;
160
+ }
161
+ declare module '*.ogg' {
162
+ const src: string;
163
+ export default src;
164
+ }
165
+ declare module '*.mp3' {
166
+ const src: string;
167
+ export default src;
168
+ }
169
+ declare module '*.wav' {
170
+ const src: string;
171
+ export default src;
172
+ }
173
+ declare module '*.flac' {
174
+ const src: string;
175
+ export default src;
176
+ }
177
+ declare module '*.aac' {
178
+ const src: string;
179
+ export default src;
180
+ }
181
+ declare module '*.opus' {
182
+ const src: string;
183
+ export default src;
184
+ }
185
+ declare module '*.mov' {
186
+ const src: string;
187
+ export default src;
188
+ }
189
+ declare module '*.m4a' {
190
+ const src: string;
191
+ export default src;
192
+ }
193
+ declare module '*.vtt' {
194
+ const src: string;
195
+ export default src;
196
+ }
197
+
198
+ // fonts
199
+ declare module '*.woff' {
200
+ const src: string;
201
+ export default src;
202
+ }
203
+ declare module '*.woff2' {
204
+ const src: string;
205
+ export default src;
206
+ }
207
+ declare module '*.eot' {
208
+ const src: string;
209
+ export default src;
210
+ }
211
+ declare module '*.ttf' {
212
+ const src: string;
213
+ export default src;
214
+ }
215
+ declare module '*.otf' {
216
+ const src: string;
217
+ export default src;
218
+ }
219
+
220
+ // other
221
+ declare module '*.webmanifest' {
222
+ const src: string;
223
+ export default src;
224
+ }
225
+ declare module '*.pdf' {
226
+ const src: string;
227
+ export default src;
228
+ }
229
+ declare module '*.txt' {
230
+ const src: string;
231
+ export default src;
232
+ }
233
+
234
+ // `?raw` — file contents as a string (Plugboy raw loader)
235
+ declare module '*?raw' {
236
+ const src: string;
237
+ export default src;
238
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fastkit/plugboy",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "repository": {