@stacksjs/stx 0.2.155 → 0.2.157
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/dist/a11y.d.ts +87 -46
- package/dist/animation.d.ts +96 -42
- package/dist/appearance-bootstrap.d.ts +49 -15
- package/dist/asset-roots.d.ts +32 -0
- package/dist/asset-roots.js +7 -0
- package/dist/assets.d.ts +9 -7
- package/dist/async-components.d.ts +78 -56
- package/dist/auth.d.ts +3 -0
- package/dist/build-externalize.d.ts +40 -0
- package/dist/build-externalize.js +63 -0
- package/dist/build-id.d.ts +22 -22
- package/dist/build-message.d.ts +73 -2
- package/dist/build-message.js +47 -8
- package/dist/builtins/attrs.d.ts +14 -0
- package/dist/builtins/drawer.d.ts +22 -0
- package/dist/builtins/icon.d.ts +16 -2
- package/dist/builtins/index.d.ts +5 -15
- package/dist/builtins/modal.d.ts +24 -0
- package/dist/builtins/safe-image.d.ts +42 -0
- package/dist/builtins/stx-image.d.ts +27 -0
- package/dist/builtins/stx-link.d.ts +9 -0
- package/dist/builtins/stx-loading-indicator.d.ts +11 -0
- package/dist/builtins/suspense.d.ts +28 -0
- package/dist/builtins/toast.d.ts +17 -0
- package/dist/builtins/transition-group.d.ts +25 -0
- package/dist/caching.d.ts +12 -15
- package/dist/cli.js +1798 -908
- package/dist/client/directive.d.ts +7 -0
- package/dist/client/index.d.ts +0 -1
- package/dist/client-script-bundler.d.ts +63 -5
- package/dist/client-script-bundler.js +30 -2
- package/dist/client-script.d.ts +102 -47
- package/dist/client-script.js +15 -3
- package/dist/codemod.d.ts +56 -0
- package/dist/codemod.js +192 -0
- package/dist/color-mode-boot.d.ts +83 -65
- package/dist/component-client-factories.d.ts +1 -6
- package/dist/component-processing.d.ts +58 -49
- package/dist/component-processing.js +1 -1
- package/dist/component-registry.d.ts +94 -31
- package/dist/component-renderer.d.ts +18 -0
- package/dist/composable-loader.d.ts +24 -0
- package/dist/composable-loader.js +12 -9
- package/dist/composables/index.d.ts +7 -0
- package/dist/composables/index.js +1 -0
- package/dist/composables/use-fetch.js +30 -2
- package/dist/composables/use-form.d.ts +91 -0
- package/dist/composables/use-form.js +112 -0
- package/dist/composables.d.ts +64 -60
- package/dist/computed.d.ts +86 -92
- package/dist/conditionals.d.ts +24 -8
- package/dist/conditionals.js +16 -0
- package/dist/config.d.ts +34 -21
- package/dist/config.js +35 -14
- package/dist/craft.js +1476 -768
- package/dist/crosswind-config.d.ts +58 -0
- package/dist/crosswind-config.js +40 -0
- package/dist/csp.d.ts +107 -41
- package/dist/defer.d.ts +24 -0
- package/dist/dev-server/crosswind.d.ts +35 -26
- package/dist/dev-server/crosswind.js +2 -18
- package/dist/dev-server/serve-app.js +4 -3
- package/dist/dev-server/terminal-colors.d.ts +32 -32
- package/dist/directive-api.d.ts +86 -43
- package/dist/document-shell.d.ts +54 -41
- package/dist/dynamic-components.d.ts +9 -0
- package/dist/error-boundaries.d.ts +47 -41
- package/dist/error-handling.d.ts +1 -1
- package/dist/errors/codes.d.ts +51 -43
- package/dist/errors/formatter.d.ts +58 -38
- package/dist/errors/index.d.ts +5 -61
- package/dist/errors/logger.d.ts +114 -40
- package/dist/errors/sanitizer.d.ts +53 -23
- package/dist/errors/types.d.ts +44 -31
- package/dist/events.d.ts +86 -25
- package/dist/expressions.d.ts +50 -42
- package/dist/forms-validation.d.ts +138 -123
- package/dist/forms-validation.js +1 -90
- package/dist/forms.d.ts +120 -66
- package/dist/forms.js +31 -11
- package/dist/fragment-container.d.ts +57 -0
- package/dist/fragment-container.js +109 -0
- package/dist/framework-composables.d.ts +32 -0
- package/dist/head.d.ts +156 -114
- package/dist/heatmap.d.ts +152 -72
- package/dist/html-masking.d.ts +40 -34
- package/dist/hydration-runtime.d.ts +20 -24
- package/dist/i18n.d.ts +93 -32
- package/dist/image-optimization/auto-sibling.d.ts +32 -4
- package/dist/includes.d.ts +69 -7
- package/dist/index.d.ts +66 -0
- package/dist/index.js +23 -0
- package/dist/internal-markdown.d.ts +12 -8
- package/dist/island-chunking.d.ts +30 -13
- package/dist/keep-alive.d.ts +72 -52
- package/dist/layout-types.d.ts +45 -0
- package/dist/layout-types.js +56 -0
- package/dist/lazy-module.d.ts +10 -0
- package/dist/loops.d.ts +66 -0
- package/dist/loops.js +47 -6
- package/dist/markdown.d.ts +0 -1
- package/dist/media/image/component.d.ts +25 -9
- package/dist/media/image/directive.d.ts +15 -1
- package/dist/media/image/placeholder.d.ts +20 -9
- package/dist/media/image/processor/cache.d.ts +40 -18
- package/dist/media/image/processor/index.d.ts +1 -10
- package/dist/media/image/processor/optimizer.d.ts +12 -1
- package/dist/media/image/processor/responsive.d.ts +16 -6
- package/dist/media/image/srcset.d.ts +47 -50
- package/dist/media/shared/cache.d.ts +51 -31
- package/dist/media/shared/hash.d.ts +7 -0
- package/dist/media/types.d.ts +1235 -754
- package/dist/media/video/directive.d.ts +15 -1
- package/dist/media/video/index.d.ts +39 -17
- package/dist/media/video/processor/cache.d.ts +42 -19
- package/dist/media/video/processor/index.d.ts +1 -18
- package/dist/media/video/processor/streaming.d.ts +17 -10
- package/dist/media/video/processor/thumbnail.d.ts +21 -15
- package/dist/media/video/processor/transcoder.d.ts +11 -1
- package/dist/method-spoofing.d.ts +7 -0
- package/dist/middleware.d.ts +60 -0
- package/dist/owned-routes.d.ts +42 -0
- package/dist/owned-routes.js +26 -0
- package/dist/page-meta.d.ts +38 -0
- package/dist/page-meta.js +16 -0
- package/dist/parser/directive-parser.d.ts +57 -45
- package/dist/parser/expression-parser.d.ts +33 -35
- package/dist/parser/index.d.ts +4 -39
- package/dist/parser/tokenizer.d.ts +61 -49
- package/dist/partial-hydration.d.ts +82 -50
- package/dist/performance-utils.d.ts +217 -124
- package/dist/placeholder.d.ts +18 -9
- package/dist/plugin-system.d.ts +264 -115
- package/dist/process.d.ts +11 -6
- package/dist/process.js +21 -4
- package/dist/production-builder.js +7 -0
- package/dist/prop-sentinels.d.ts +11 -11
- package/dist/public-env.d.ts +14 -0
- package/dist/pwa/directives.d.ts +12 -3
- package/dist/pwa/inject.d.ts +10 -0
- package/dist/pwa/precache.d.ts +22 -16
- package/dist/pwa/service-worker.d.ts +12 -0
- package/dist/pwa.js +1318 -610
- package/dist/reactive-bindings.d.ts +34 -11
- package/dist/reactive.d.ts +58 -30
- package/dist/reactive.js +56 -31
- package/dist/render.d.ts +0 -14
- package/dist/render.js +17 -0
- package/dist/route-middleware.d.ts +2 -35
- package/dist/route-types.d.ts +134 -0
- package/dist/route-types.js +24 -0
- package/dist/router.d.ts +5 -7
- package/dist/routes.d.ts +1 -3
- package/dist/runtime-globals.d.ts +147 -24
- package/dist/runtime-globals.js +16 -1
- package/dist/runtime-injection.d.ts +8 -0
- package/dist/runtime-injection.js +33 -24
- package/dist/script-emit.d.ts +30 -0
- package/dist/script-json.d.ts +36 -0
- package/dist/script-json.js +6 -0
- package/dist/script-validation.d.ts +21 -4
- package/dist/seo.d.ts +118 -47
- package/dist/server-bindings.d.ts +21 -0
- package/dist/sfc-template.d.ts +8 -8
- package/dist/signal-processing.d.ts +35 -15
- package/dist/signals-api.d.ts +117 -58
- package/dist/signals-api.js +7 -4
- package/dist/signals.d.ts +24 -17
- package/dist/signals.js +765 -60
- package/dist/site-builder/build.js +8 -0
- package/dist/site-url.d.ts +46 -0
- package/dist/site-url.js +70 -0
- package/dist/slots.d.ts +86 -20
- package/dist/source-signature.d.ts +45 -0
- package/dist/source-signature.js +20 -0
- package/dist/ssg.d.ts +285 -142
- package/dist/ssg.js +1268 -556
- package/dist/state-dir.d.ts +4 -4
- package/dist/state-management.d.ts +0 -12
- package/dist/state-management.js +8 -25
- package/dist/store-imports.d.ts +23 -0
- package/dist/store-imports.js +3 -0
- package/dist/store-loader.d.ts +10 -0
- package/dist/store-loader.js +10 -9
- package/dist/story/analytics.d.ts +138 -60
- package/dist/story/bookmarks.d.ts +87 -34
- package/dist/story/cli.d.ts +123 -69
- package/dist/story/collect/scanner.d.ts +4 -0
- package/dist/story/collect/tree.d.ts +8 -1
- package/dist/story/commands/build.d.ts +11 -6
- package/dist/story/commands/dev.d.ts +15 -8
- package/dist/story/commands/preview.d.ts +13 -7
- package/dist/story/config-watcher.d.ts +20 -13
- package/dist/story/config.d.ts +11 -8
- package/dist/story/context.d.ts +14 -8
- package/dist/story/hmr.d.ts +24 -26
- package/dist/story/hot-swap.d.ts +34 -23
- package/dist/story/keyboard-shortcuts.d.ts +23 -18
- package/dist/story/output.d.ts +46 -44
- package/dist/story/performance.d.ts +107 -45
- package/dist/story/presets.d.ts +107 -41
- package/dist/story/renderer.d.ts +41 -27
- package/dist/story/search.d.ts +23 -12
- package/dist/story/server.d.ts +21 -11
- package/dist/story/setup.d.ts +23 -15
- package/dist/story/testing.d.ts +65 -40
- package/dist/story/types.d.ts +262 -160
- package/dist/streaming.d.ts +119 -57
- package/dist/stx-virtual-ts.d.ts +165 -0
- package/dist/stx-virtual-ts.js +372 -0
- package/dist/stx.d.ts +78 -1
- package/dist/style-scoping.d.ts +17 -4
- package/dist/suspense.d.ts +67 -52
- package/dist/teleport.d.ts +22 -0
- package/dist/template-tag-balance.d.ts +22 -6
- package/dist/transitions.d.ts +66 -55
- package/dist/typecheck.d.ts +77 -0
- package/dist/typecheck.js +156 -0
- package/dist/types/component-types.d.ts +187 -122
- package/dist/types/config-types.d.ts +758 -297
- package/dist/types/context-types.d.ts +46 -24
- package/dist/types/csp-types.d.ts +70 -66
- package/dist/types/directive-types.d.ts +211 -155
- package/dist/types/index.d.ts +6 -109
- package/dist/types/pwa-types.d.ts +273 -148
- package/dist/types.d.ts +0 -1
- package/dist/typescript-templates.d.ts +11 -0
- package/dist/unresolved-identifiers.d.ts +24 -22
- package/dist/unresolved-identifiers.js +2 -0
- package/dist/utils.d.ts +24 -21
- package/dist/validator.d.ts +28 -26
- package/dist/variable-extractor.d.ts +48 -13
- package/dist/variable-extractor.js +27 -4
- package/dist/view-composers.d.ts +80 -81
- package/dist/virtual-scrolling.d.ts +101 -81
- package/dist/vue-template.d.ts +23 -0
- package/dist/web-components/css-scoping.d.ts +21 -11
- package/dist/web-components.d.ts +81 -58
- package/dist/x-element.d.ts +0 -1
- package/package.json +5 -5
- package/stx.d.ts +78 -1
package/dist/config.d.ts
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
1
|
import type { StxConfig, StxOptions } from './types';
|
|
2
|
+
export declare const defaultConfig: StxConfig;
|
|
3
|
+
/**
|
|
4
|
+
* Resolve `root`, `pagesDir` and the template directories, in place.
|
|
5
|
+
*
|
|
6
|
+
* This is the ONE resolution pass. It used to live inline in `loadStxConfig`,
|
|
7
|
+
* while `bun-plugin`'s `serve()` read the same config file through bunfig and
|
|
8
|
+
* used the literal strings — so the same key meant two different directories
|
|
9
|
+
* depending on which path rendered the page, and `root` being *inferred* from
|
|
10
|
+
* the filesystem meant an ordinary Stacks layout hit the disagreement without
|
|
11
|
+
* anyone opting into anything (#1851).
|
|
12
|
+
*
|
|
13
|
+
* Prefixing is idempotent: a value that already starts with `root` is left
|
|
14
|
+
* alone. Directory strings stay project-root-relative rather than becoming
|
|
15
|
+
* absolute — see the note in the issue thread; that contract change is
|
|
16
|
+
* separable from this correctness fix.
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveStxDirectories(loaded: StxConfig, cwd: string): StxConfig;
|
|
3
19
|
/**
|
|
4
20
|
* Load the stx config for a project.
|
|
5
21
|
*
|
|
@@ -11,10 +27,27 @@ import type { StxConfig, StxOptions } from './types';
|
|
|
11
27
|
* Results are cached per cwd so repeated calls don't re-read disk.
|
|
12
28
|
*/
|
|
13
29
|
export declare function loadStxConfig(cwd?: string): Promise<StxConfig>;
|
|
30
|
+
export declare const config: StxConfig;
|
|
14
31
|
/**
|
|
15
32
|
* Helper function to define stx configuration
|
|
16
33
|
*/
|
|
17
34
|
export declare function defineStxConfig(config: StxOptions): StxOptions;
|
|
35
|
+
/**
|
|
36
|
+
* Configuration validation error
|
|
37
|
+
*/
|
|
38
|
+
export interface ConfigValidationError {
|
|
39
|
+
path: string;
|
|
40
|
+
message: string;
|
|
41
|
+
severity: 'error' | 'warning';
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Configuration validation result
|
|
45
|
+
*/
|
|
46
|
+
export interface ConfigValidationResult {
|
|
47
|
+
valid: boolean;
|
|
48
|
+
errors: ConfigValidationError[];
|
|
49
|
+
warnings: ConfigValidationError[];
|
|
50
|
+
}
|
|
18
51
|
/**
|
|
19
52
|
* Validate stx configuration
|
|
20
53
|
*
|
|
@@ -30,23 +63,3 @@ export declare function defineStxConfig(config: StxOptions): StxOptions;
|
|
|
30
63
|
* ```
|
|
31
64
|
*/
|
|
32
65
|
export declare function validateConfig(config: StxOptions): ConfigValidationResult;
|
|
33
|
-
export declare const defaultConfig: StxConfig;
|
|
34
|
-
// Export a synchronous getter that returns defaults immediately, then loads async
|
|
35
|
-
// This allows the module to be imported instantly without blocking
|
|
36
|
-
export declare const config: StxConfig;
|
|
37
|
-
/**
|
|
38
|
-
* Configuration validation error
|
|
39
|
-
*/
|
|
40
|
-
export declare interface ConfigValidationError {
|
|
41
|
-
path: string
|
|
42
|
-
message: string
|
|
43
|
-
severity: 'error' | 'warning'
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Configuration validation result
|
|
47
|
-
*/
|
|
48
|
-
export declare interface ConfigValidationResult {
|
|
49
|
-
valid: boolean
|
|
50
|
-
errors: ConfigValidationError[]
|
|
51
|
-
warnings: ConfigValidationError[]
|
|
52
|
-
}
|
package/dist/config.js
CHANGED
|
@@ -372,6 +372,38 @@ function resolveStxRoot(configRoot, configPagesDir, cwd) {
|
|
|
372
372
|
return { root: "resources/views", pagesDir: defaultPagesDir };
|
|
373
373
|
return { root: ".", pagesDir: defaultPagesDir };
|
|
374
374
|
}
|
|
375
|
+
const announcedRoots = new Set;
|
|
376
|
+
function alreadyUnderRoot(value, root) {
|
|
377
|
+
const normalizedRoot = root.replace(/[\\/]+$/, "");
|
|
378
|
+
if (!normalizedRoot || normalizedRoot === ".")
|
|
379
|
+
return !0;
|
|
380
|
+
const normalizedValue = value.replace(/\\/g, "/"), rootAsPosix = normalizedRoot.replace(/\\/g, "/");
|
|
381
|
+
return normalizedValue === rootAsPosix || normalizedValue.startsWith(`${rootAsPosix}/`);
|
|
382
|
+
}
|
|
383
|
+
export function resolveStxDirectories(loaded, cwd) {
|
|
384
|
+
const inferred = !loaded.root, resolved = resolveStxRoot(loaded.root, loaded.pagesDir, cwd);
|
|
385
|
+
loaded.root = resolved.root;
|
|
386
|
+
loaded.pagesDir = resolved.pagesDir;
|
|
387
|
+
if (inferred && resolved.root !== ".") {
|
|
388
|
+
const announceKey = `${cwd}::${resolved.root}`;
|
|
389
|
+
if (!announcedRoots.has(announceKey)) {
|
|
390
|
+
announcedRoots.add(announceKey);
|
|
391
|
+
console.warn(`[stx] No "root" in config \u2014 inferred "${resolved.root}" from the project layout. Template directories are resolved under it; set root explicitly to pin this.`);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
if (loaded.root && loaded.root !== ".") {
|
|
395
|
+
const rootPrefix = loaded.root;
|
|
396
|
+
for (const key of ["partialsDir", "componentsDir", "layoutsDir"]) {
|
|
397
|
+
const value = loaded[key];
|
|
398
|
+
if (typeof value !== "string" || !value)
|
|
399
|
+
continue;
|
|
400
|
+
if (path.isAbsolute(value) || alreadyUnderRoot(value, rootPrefix))
|
|
401
|
+
continue;
|
|
402
|
+
loaded[key] = path.join(rootPrefix, value);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
return loaded;
|
|
406
|
+
}
|
|
375
407
|
function warnMissingDirs(loaded, cwd) {
|
|
376
408
|
const keys = ["componentsDir", "layoutsDir", "partialsDir"];
|
|
377
409
|
for (const key of keys) {
|
|
@@ -381,8 +413,8 @@ function warnMissingDirs(loaded, cwd) {
|
|
|
381
413
|
const abs = path.isAbsolute(value) ? value : path.join(cwd, value);
|
|
382
414
|
if (fs.existsSync(abs))
|
|
383
415
|
continue;
|
|
384
|
-
const
|
|
385
|
-
console.warn(`[stx] ${String(key)} resolves to "${abs}", which does not exist. Configured as "${value}"` + (
|
|
416
|
+
const root = loaded.root, underRoot = !!root && root !== ".";
|
|
417
|
+
console.warn(`[stx] ${String(key)} resolves to "${abs}", which does not exist. Configured as "${value}"` + (underRoot ? `, resolved under root "${root}".` : "."));
|
|
386
418
|
}
|
|
387
419
|
}
|
|
388
420
|
function applyStateDir(loaded) {
|
|
@@ -418,18 +450,7 @@ export async function loadStxConfig(cwd) {
|
|
|
418
450
|
verbose: !1
|
|
419
451
|
})).config;
|
|
420
452
|
applyStateDir(loaded);
|
|
421
|
-
|
|
422
|
-
loaded.root = resolved.root;
|
|
423
|
-
loaded.pagesDir = resolved.pagesDir;
|
|
424
|
-
if (loaded.root && loaded.root !== ".") {
|
|
425
|
-
const rootPrefix = loaded.root;
|
|
426
|
-
if (loaded.partialsDir && !path.isAbsolute(loaded.partialsDir))
|
|
427
|
-
loaded.partialsDir = path.join(rootPrefix, loaded.partialsDir);
|
|
428
|
-
if (loaded.componentsDir && !path.isAbsolute(loaded.componentsDir))
|
|
429
|
-
loaded.componentsDir = path.join(rootPrefix, loaded.componentsDir);
|
|
430
|
-
if (loaded.layoutsDir && !path.isAbsolute(loaded.layoutsDir))
|
|
431
|
-
loaded.layoutsDir = path.join(rootPrefix, loaded.layoutsDir);
|
|
432
|
-
}
|
|
453
|
+
resolveStxDirectories(loaded, effectiveCwd);
|
|
433
454
|
warnMissingDirs(loaded, effectiveCwd);
|
|
434
455
|
if (loaded.plugins && loaded.plugins.length > 0) {
|
|
435
456
|
const { pluginManager } = await import("./plugin-system.js"), pluginComponentDirs = [], pluginPageDirs = [];
|