@intentius/chant-lexicon-gitlab 0.0.12 → 0.0.13

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
@@ -2,7 +2,7 @@
2
2
 
3
3
  GitLab CI lexicon for [chant](https://intentius.io/chant/) — declare CI/CD pipelines as typed TypeScript that serializes to `.gitlab-ci.yml`.
4
4
 
5
- This package provides typed constructors for all GitLab CI keywords (Jobs, Workflows, Defaults, and property types like Artifacts, Cache, Image, Rule, Environment, and Trigger), the `CI` pseudo-parameter object for predefined variables, the `reference()` intrinsic for YAML `!reference` tags, and GitLab-specific lint rules. It also includes LSP and MCP server support for editor completions and hover.
5
+ This package provides typed constructors for all GitLab CI keywords (Jobs, Workflows, Default, and property types like Artifacts, Cache, Image, Rule, Environment, and Trigger), the `CI` pseudo-parameter object for predefined variables, the `reference()` intrinsic for YAML `!reference` tags, and GitLab-specific lint rules. It also includes LSP and MCP server support for editor completions and hover.
6
6
 
7
7
  ```bash
8
8
  npm install --save-dev @intentius/chant @intentius/chant-lexicon-gitlab
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "algorithm": "xxhash64",
3
3
  "artifacts": {
4
- "manifest.json": "6bd0f9deb20b8705",
4
+ "manifest.json": "2a9ab90e8dd88933",
5
5
  "meta.json": "c663c6c63748a9d0",
6
6
  "types/index.d.ts": "64e65524615be023",
7
7
  "rules/missing-stage.ts": "6d5379e74209a735",
@@ -17,5 +17,5 @@
17
17
  "rules/wgl013.ts": "3519c933e23fc605",
18
18
  "skills/chant-gitlab.md": "4393eb63e0b84b7f"
19
19
  },
20
- "composite": "95f5813f9d4b37c7"
20
+ "composite": "9af2adcc06f56cf1"
21
21
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitlab",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "chantVersion": ">=0.1.0",
5
5
  "namespace": "GitLab",
6
6
  "intrinsics": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/chant-lexicon-gitlab",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "files": ["src/", "dist/"],
@@ -18,10 +18,11 @@
18
18
  "generate": "bun run src/codegen/generate-cli.ts",
19
19
  "bundle": "bun run src/package-cli.ts",
20
20
  "validate": "bun run src/validate-cli.ts",
21
+ "docs": "bun run src/codegen/docs-cli.ts",
21
22
  "prepack": "bun run bundle && bun run validate"
22
23
  },
23
24
  "dependencies": {
24
- "@intentius/chant": "0.0.11"
25
+ "@intentius/chant": "0.0.12"
25
26
  },
26
27
  "devDependencies": {
27
28
  "typescript": "^5.9.3"
@@ -0,0 +1,24 @@
1
+ import { describe, test, expect } from "bun:test";
2
+ import { typecheckDTS } from "./typecheck";
3
+
4
+ describe("typecheckDTS", () => {
5
+ test("passes valid .d.ts content", async () => {
6
+ const result = await typecheckDTS("export declare class Foo { bar: string; }");
7
+ expect(result.ok).toBe(true);
8
+ expect(result.diagnostics).toHaveLength(0);
9
+ });
10
+
11
+ test("fails on syntax errors", async () => {
12
+ const result = await typecheckDTS("export declare class { }"); // missing class name
13
+ expect(result.ok).toBe(false);
14
+ expect(result.diagnostics.length).toBeGreaterThan(0);
15
+ });
16
+
17
+ test("fails on undefined type references", async () => {
18
+ const result = await typecheckDTS(
19
+ "export declare class Foo { bar: UndefinedType; }",
20
+ );
21
+ expect(result.ok).toBe(false);
22
+ expect(result.diagnostics.length).toBeGreaterThan(0);
23
+ });
24
+ });
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Re-export from core — typecheck is lexicon-agnostic.
3
+ */
4
+ export { typecheckDTS, type TypeCheckResult } from "@intentius/chant/codegen/typecheck";