tjs-lang 0.8.6 → 0.9.0
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/CLAUDE.md +12 -4
- package/bin/docs.js +3 -2
- package/demo/docs.json +2 -2
- package/dist/experiments/ambient/probe.d.ts +52 -0
- package/dist/index.js +115 -171
- package/dist/index.js.map +4 -4
- package/dist/scripts/build-editors.d.ts +19 -0
- package/dist/src/css/dimensions.d.ts +23 -0
- package/dist/src/css/index.d.ts +85 -0
- package/dist/src/css/predicates.d.ts +38 -0
- package/dist/src/css/shorthands.d.ts +31 -0
- package/dist/src/css/style.d.ts +48 -0
- package/dist/src/lang/emitters/js.d.ts +9 -1
- package/dist/src/lang/index.d.ts +2 -2
- package/dist/src/lang/parser-transforms.d.ts +9 -5
- package/dist/src/lang/parser.d.ts +2 -0
- package/dist/src/lang/predicate.d.ts +60 -0
- package/dist/src/lang/transpiler.d.ts +3 -2
- package/dist/src/lang/types.d.ts +16 -0
- package/dist/src/schema/index.d.ts +12 -0
- package/dist/tjs-browser-from-ts.js +20 -20
- package/dist/tjs-browser-from-ts.js.map +3 -3
- package/dist/tjs-browser.js +100 -90
- package/dist/tjs-browser.js.map +4 -4
- package/dist/tjs-css.js +193 -0
- package/dist/tjs-css.js.map +7 -0
- package/dist/tjs-eval.js +43 -42
- package/dist/tjs-eval.js.map +4 -4
- package/dist/tjs-from-ts.js +13 -13
- package/dist/tjs-from-ts.js.map +2 -2
- package/dist/tjs-lang.js +102 -92
- package/dist/tjs-lang.js.map +4 -4
- package/dist/tjs-runtime.js +10 -0
- package/dist/tjs-runtime.js.map +7 -0
- package/dist/tjs-schema.js +6 -0
- package/dist/tjs-schema.js.map +7 -0
- package/dist/tjs-vm.js +55 -54
- package/dist/tjs-vm.js.map +4 -4
- package/docs/ambient-contracts.md +261 -0
- package/editors/ace/ajs-mode.js +214 -233
- package/editors/codemirror/ajs-language.js +1570 -233
- package/editors/editors-build.test.ts +29 -0
- package/editors/monaco/ajs-monarch.js +239 -195
- package/llms.txt +4 -0
- package/package.json +35 -4
- package/src/css/css.test.ts +122 -0
- package/src/css/dimensions.test.ts +112 -0
- package/src/css/dimensions.ts +146 -0
- package/src/css/index.ts +243 -0
- package/src/css/perf.bench.test.ts +109 -0
- package/src/css/predicates.ts +232 -0
- package/src/css/property-aware.test.ts +84 -0
- package/src/css/shorthands.test.ts +90 -0
- package/src/css/shorthands.ts +113 -0
- package/src/css/style.test.ts +125 -0
- package/src/css/style.ts +134 -0
- package/src/index-tsfree.test.ts +58 -0
- package/src/lang/bare-assignments.test.ts +48 -0
- package/src/lang/doc-comment-position.test.ts +32 -0
- package/src/lang/docs.ts +6 -2
- package/src/lang/emit-verified-predicate.test.ts +95 -0
- package/src/lang/emitters/dts.test.ts +31 -0
- package/src/lang/emitters/dts.ts +23 -4
- package/src/lang/emitters/from-ts.ts +4 -1
- package/src/lang/emitters/js.ts +33 -1
- package/src/lang/from-ts.test.ts +1 -1
- package/src/lang/generic-verified-predicate.test.ts +39 -0
- package/src/lang/index.ts +14 -5
- package/src/lang/parser-transforms.ts +120 -18
- package/src/lang/parser.ts +22 -6
- package/src/lang/predicate-evaluator.test.ts +49 -0
- package/src/lang/predicate-report.test.ts +54 -0
- package/src/lang/predicate.ts +268 -0
- package/src/lang/redos-lint.test.ts +81 -0
- package/src/lang/transpiler.ts +13 -0
- package/src/lang/type-verified-predicate.test.ts +83 -0
- package/src/lang/types.ts +17 -0
- package/src/lang/typescript-syntax.test.ts +2 -1
- package/src/schema/index.ts +62 -0
- package/src/schema/schema.test.ts +66 -0
- package/src/use-cases/bootstrap.test.ts +14 -4
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import { describe, it, expect } from 'bun:test'
|
|
15
15
|
import { fromTS } from '../lang/emitters/from-ts'
|
|
16
16
|
import { tjs } from '../lang'
|
|
17
|
+
import { emitVerifiedPredicate } from '../lang/predicate'
|
|
17
18
|
import * as fs from 'fs'
|
|
18
19
|
import * as path from 'path'
|
|
19
20
|
|
|
@@ -528,10 +529,16 @@ describe('Bootstrap Canary', () => {
|
|
|
528
529
|
// Step 2: Execute the combined transpiled parser modules
|
|
529
530
|
const execStart = performance.now()
|
|
530
531
|
|
|
531
|
-
|
|
532
|
+
// parser-transforms.ts calls emitVerifiedPredicate (from predicate.ts, an
|
|
533
|
+
// acorn-backed engine module not in this parser-only bundle) — inject the
|
|
534
|
+
// native one so the self-hosted preprocess can verify Type/Generic predicates.
|
|
535
|
+
const parserModule = new Function(
|
|
536
|
+
'emitVerifiedPredicate',
|
|
537
|
+
`
|
|
532
538
|
${combinedCode}
|
|
533
539
|
return { preprocess };
|
|
534
|
-
`
|
|
540
|
+
`
|
|
541
|
+
)(emitVerifiedPredicate)
|
|
535
542
|
const execTime = performance.now() - execStart
|
|
536
543
|
|
|
537
544
|
expect(typeof parserModule.preprocess).toBe('function')
|
|
@@ -639,10 +646,13 @@ describe('Bootstrap Canary', () => {
|
|
|
639
646
|
combinedCode += stripped + '\n'
|
|
640
647
|
}
|
|
641
648
|
|
|
642
|
-
const bootstrappedParser = new Function(
|
|
649
|
+
const bootstrappedParser = new Function(
|
|
650
|
+
'emitVerifiedPredicate',
|
|
651
|
+
`
|
|
643
652
|
${combinedCode}
|
|
644
653
|
return { preprocess };
|
|
645
|
-
`
|
|
654
|
+
`
|
|
655
|
+
)(emitVerifiedPredicate)
|
|
646
656
|
|
|
647
657
|
// Import native parser
|
|
648
658
|
const nativeParser = require('../lang/parser')
|