@jay-framework/compiler-shared 0.24.1 → 0.24.3

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/index.d.ts CHANGED
@@ -658,19 +658,25 @@ interface PluginManifest {
658
658
  /**
659
659
  * Action entry in plugin.yaml.
660
660
  * - `string`: export name only, no metadata (not exposed to AI agents)
661
- * - `{ name, action }`: export name + path to .jay-action metadata file
661
+ * - `{ name, action, devOnly }`: export name + path to .jay-action metadata file
662
+ *
663
+ * `devOnly` (DL#180): the action is a dev/tools-only surface — its handler lives in the plugin's
664
+ * `./tools` entry (compiler-allowed), it is registered by the dev server, and it is excluded from
665
+ * production builds/serve. Regular (non-devOnly) actions must be compiler-free on `.` (DL#179).
662
666
  */
663
667
  type ActionManifestEntry = string | {
664
668
  name: string;
665
- action: string;
669
+ action?: string;
670
+ devOnly?: boolean;
666
671
  };
667
672
  /**
668
- * Normalizes an action manifest entry to { name, action? }.
669
- * Strings become { name: string, action: undefined }.
673
+ * Normalizes an action manifest entry to { name, action?, devOnly? }.
674
+ * Strings become { name: string }.
670
675
  */
671
676
  declare function normalizeActionEntry(entry: ActionManifestEntry): {
672
677
  name: string;
673
678
  action?: string;
679
+ devOnly?: boolean;
674
680
  };
675
681
  /**
676
682
  * Result of resolving a plugin component
@@ -771,6 +777,8 @@ interface JayHtmlValidationContext {
771
777
  projectRoot: string;
772
778
  css?: string;
773
779
  head?: JayHtmlHeadMeta;
780
+ /** Per-page validation overrides from <script type="application/jay-validations">. Keyed by plugin name. */
781
+ validationOverrides?: Record<string, Record<string, boolean | string[]>>;
774
782
  contract?: {
775
783
  name: string;
776
784
  tags: Array<{
package/dist/index.js CHANGED
@@ -1319,7 +1319,7 @@ function normalizeActionEntry(entry) {
1319
1319
  if (typeof entry === "string") {
1320
1320
  return { name: entry };
1321
1321
  }
1322
- return { name: entry.name, action: entry.action };
1322
+ return { name: entry.name, action: entry.action, devOnly: entry.devOnly };
1323
1323
  }
1324
1324
  function loadPluginManifest(pluginDir) {
1325
1325
  const pluginYamlPath = path.join(pluginDir, "plugin.yaml");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jay-framework/compiler-shared",
3
- "version": "0.24.1",
3
+ "version": "0.24.3",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "license": "Apache-2.0",
@@ -25,10 +25,10 @@
25
25
  },
26
26
  "author": "",
27
27
  "dependencies": {
28
- "@jay-framework/component": "^0.24.1",
29
- "@jay-framework/runtime": "^0.24.1",
30
- "@jay-framework/secure": "^0.24.1",
31
- "@jay-framework/typescript-bridge": "^0.24.1",
28
+ "@jay-framework/component": "^0.24.3",
29
+ "@jay-framework/runtime": "^0.24.3",
30
+ "@jay-framework/secure": "^0.24.3",
31
+ "@jay-framework/typescript-bridge": "^0.24.3",
32
32
  "@types/js-yaml": "^4.0.9",
33
33
  "change-case": "^4.1.2",
34
34
  "js-beautify": "^1.14.11",
@@ -41,7 +41,7 @@
41
41
  },
42
42
  "devDependencies": {
43
43
  "@caiogondim/strip-margin": "^1.0.0",
44
- "@jay-framework/dev-environment": "^0.24.1",
44
+ "@jay-framework/dev-environment": "^0.24.3",
45
45
  "@testing-library/jest-dom": "^6.2.0",
46
46
  "@types/js-beautify": "^1",
47
47
  "@types/node": "^20.11.5",