@foro-sh/foro 0.12.2 → 0.15.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.
@@ -1,27 +1,8 @@
1
- /**
2
- * The shared project-config validation table.
3
- *
4
- * foro's `_manifest.py` is a port of foro-sh/platform's
5
- * `apps/api/src/services/manifest.ts`, and the two can never be allowed to
6
- * silently disagree about what a valid manifest is - if they do, `foro check`
7
- * passes locally and the deploy fails, which is the exact gap this SDK exists
8
- * to close. Both sides therefore run the same table: the Python package
9
- * through `tests/test_manifest_cases.py`, the platform by importing
10
- * `manifestCases` from here (foro-sh/foro#5).
11
- *
12
- * The cases assert only accept/reject and the rejection reason - the resolved
13
- * defaults each implementation produces stay covered by its own tests.
14
- */
15
- /** Mirrors `ManifestRejectionReason` in foro-sh/platform's `@foro/types`.
16
- * Kept in sync deliberately: it is what makes a reason added on one side a
17
- * compile error on the other. */
1
+ /** Shared project-config validation table. Imported by foro-sh/platform. */
2
+ /** Mirrors `ManifestRejectionReason` in foro-sh/platform's `@foro/types`. */
18
3
  export type ManifestRejectionReason = 'missing_manifest' | 'unsupported_language' | 'invalid_yaml' | 'invalid_shape' | 'invalid_name' | 'invalid_entrypoint' | 'invalid_build_path' | 'invalid_runtime' | 'invalid_runtime_version' | 'invalid_port' | 'invalid_dependency_manager' | 'unsupported_project' | 'unknown_field' | 'invalid_egress';
19
4
  export interface ManifestCase {
20
- /** Stable identifier, unique across the table - use it as the test name. */
21
5
  readonly name: string;
22
- /** Files to write into an empty directory before validating it, keyed by
23
- * repo-relative path. Always the config file under test, plus whatever the
24
- * entry-file inference has to find on disk. */
25
6
  readonly files: Readonly<Record<string, string>>;
26
7
  readonly expect: {
27
8
  readonly ok: true;
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-cases.d.ts","sourceRoot":"","sources":["../src/manifest-cases.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH;;kCAEkC;AAClC,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,sBAAsB,GACtB,cAAc,GACd,eAAe,GACf,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,iBAAiB,GACjB,yBAAyB,GACzB,cAAc,GACd,4BAA4B,GAC5B,qBAAqB,GACrB,eAAe,GACf,gBAAgB,CAAA;AAEpB,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;oDAEgD;IAChD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAChD,QAAQ,CAAC,MAAM,EACX;QAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;KAAE,GACrB;QAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAA;KAAE,CAAA;CACrE;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,YAAY,EAAqB,CAAA"}
1
+ {"version":3,"file":"manifest-cases.d.ts","sourceRoot":"","sources":["../src/manifest-cases.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAI5E,6EAA6E;AAC7E,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,sBAAsB,GACtB,cAAc,GACd,eAAe,GACf,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,iBAAiB,GACjB,yBAAyB,GACzB,cAAc,GACd,4BAA4B,GAC5B,qBAAqB,GACrB,eAAe,GACf,gBAAgB,CAAA;AAEpB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAChD,QAAQ,CAAC,MAAM,EACX;QAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;KAAE,GACrB;QAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAA;KAAE,CAAA;CACrE;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,YAAY,EAAqB,CAAA"}
@@ -1,16 +1,3 @@
1
- /**
2
- * The shared project-config validation table.
3
- *
4
- * foro's `_manifest.py` is a port of foro-sh/platform's
5
- * `apps/api/src/services/manifest.ts`, and the two can never be allowed to
6
- * silently disagree about what a valid manifest is - if they do, `foro check`
7
- * passes locally and the deploy fails, which is the exact gap this SDK exists
8
- * to close. Both sides therefore run the same table: the Python package
9
- * through `tests/test_manifest_cases.py`, the platform by importing
10
- * `manifestCases` from here (foro-sh/foro#5).
11
- *
12
- * The cases assert only accept/reject and the rejection reason - the resolved
13
- * defaults each implementation produces stay covered by its own tests.
14
- */
1
+ /** Shared project-config validation table. Imported by foro-sh/platform. */
15
2
  import { rawManifestCases } from './_generated-manifest-cases.js';
16
3
  export const manifestCases = rawManifestCases;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foro-sh/foro",
3
- "version": "0.12.2",
3
+ "version": "0.15.1",
4
4
  "description": "TypeScript SDK for Foro",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",