tywrap 0.2.1 → 0.3.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/README.md +65 -31
- package/dist/cli.js +49 -2
- package/dist/cli.js.map +1 -1
- package/dist/config/index.d.ts +11 -7
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +43 -7
- package/dist/config/index.js.map +1 -1
- package/dist/core/analyzer.d.ts +1 -0
- package/dist/core/analyzer.d.ts.map +1 -1
- package/dist/core/analyzer.js +47 -12
- package/dist/core/analyzer.js.map +1 -1
- package/dist/core/annotation-parser.d.ts +8 -0
- package/dist/core/annotation-parser.d.ts.map +1 -0
- package/dist/core/annotation-parser.js +409 -0
- package/dist/core/annotation-parser.js.map +1 -0
- package/dist/core/discovery.d.ts +1 -0
- package/dist/core/discovery.d.ts.map +1 -1
- package/dist/core/discovery.js +9 -9
- package/dist/core/discovery.js.map +1 -1
- package/dist/core/generator.d.ts +9 -1
- package/dist/core/generator.d.ts.map +1 -1
- package/dist/core/generator.js +738 -104
- package/dist/core/generator.js.map +1 -1
- package/dist/core/mapper.d.ts +9 -7
- package/dist/core/mapper.d.ts.map +1 -1
- package/dist/core/mapper.js +129 -44
- package/dist/core/mapper.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/runtime/bridge-core.d.ts +1 -0
- package/dist/runtime/bridge-core.d.ts.map +1 -1
- package/dist/runtime/bridge-core.js +52 -17
- package/dist/runtime/bridge-core.js.map +1 -1
- package/dist/runtime/bridge-protocol.d.ts +17 -0
- package/dist/runtime/bridge-protocol.d.ts.map +1 -1
- package/dist/runtime/bridge-protocol.js +97 -0
- package/dist/runtime/bridge-protocol.js.map +1 -1
- package/dist/runtime/errors.d.ts +10 -0
- package/dist/runtime/errors.d.ts.map +1 -1
- package/dist/runtime/errors.js +9 -0
- package/dist/runtime/errors.js.map +1 -1
- package/dist/runtime/http-io.d.ts.map +1 -1
- package/dist/runtime/http-io.js.map +1 -1
- package/dist/runtime/http.d.ts +1 -0
- package/dist/runtime/http.d.ts.map +1 -1
- package/dist/runtime/http.js +6 -0
- package/dist/runtime/http.js.map +1 -1
- package/dist/runtime/node.d.ts.map +1 -1
- package/dist/runtime/node.js +170 -32
- package/dist/runtime/node.js.map +1 -1
- package/dist/runtime/optimized-node.d.ts +1 -1
- package/dist/runtime/optimized-node.d.ts.map +1 -1
- package/dist/runtime/optimized-node.js +1 -1
- package/dist/runtime/optimized-node.js.map +1 -1
- package/dist/runtime/pooled-transport.d.ts +4 -0
- package/dist/runtime/pooled-transport.d.ts.map +1 -1
- package/dist/runtime/pooled-transport.js +2 -0
- package/dist/runtime/pooled-transport.js.map +1 -1
- package/dist/runtime/process-io.d.ts +5 -0
- package/dist/runtime/process-io.d.ts.map +1 -1
- package/dist/runtime/process-io.js +64 -30
- package/dist/runtime/process-io.js.map +1 -1
- package/dist/runtime/pyodide-io.d.ts +4 -5
- package/dist/runtime/pyodide-io.d.ts.map +1 -1
- package/dist/runtime/pyodide-io.js +99 -37
- package/dist/runtime/pyodide-io.js.map +1 -1
- package/dist/runtime/safe-codec.d.ts +25 -3
- package/dist/runtime/safe-codec.d.ts.map +1 -1
- package/dist/runtime/safe-codec.js +231 -57
- package/dist/runtime/safe-codec.js.map +1 -1
- package/dist/runtime/transport.d.ts +6 -1
- package/dist/runtime/transport.d.ts.map +1 -1
- package/dist/runtime/transport.js.map +1 -1
- package/dist/runtime/validators.d.ts +0 -11
- package/dist/runtime/validators.d.ts.map +1 -1
- package/dist/runtime/validators.js +13 -3
- package/dist/runtime/validators.js.map +1 -1
- package/dist/runtime/worker-pool.d.ts +12 -0
- package/dist/runtime/worker-pool.d.ts.map +1 -1
- package/dist/runtime/worker-pool.js +53 -5
- package/dist/runtime/worker-pool.js.map +1 -1
- package/dist/types/index.d.ts +51 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/tywrap.d.ts.map +1 -1
- package/dist/tywrap.js +227 -328
- package/dist/tywrap.js.map +1 -1
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/cache.js +53 -5
- package/dist/utils/cache.js.map +1 -1
- package/dist/utils/codec.d.ts.map +1 -1
- package/dist/utils/codec.js +10 -16
- package/dist/utils/codec.js.map +1 -1
- package/dist/utils/ir-cache.d.ts +28 -0
- package/dist/utils/ir-cache.d.ts.map +1 -0
- package/dist/utils/ir-cache.js +29 -0
- package/dist/utils/ir-cache.js.map +1 -0
- package/dist/utils/parallel-processor.d.ts +1 -1
- package/dist/utils/parallel-processor.d.ts.map +1 -1
- package/dist/utils/parallel-processor.js +111 -40
- package/dist/utils/parallel-processor.js.map +1 -1
- package/dist/utils/runtime.d.ts +5 -1
- package/dist/utils/runtime.d.ts.map +1 -1
- package/dist/utils/runtime.js +112 -18
- package/dist/utils/runtime.js.map +1 -1
- package/package.json +40 -18
- package/runtime/python_bridge.py +78 -12
- package/src/cli.ts +61 -2
- package/src/config/index.ts +63 -17
- package/src/core/analyzer.ts +52 -15
- package/src/core/annotation-parser.ts +500 -0
- package/src/core/discovery.ts +26 -12
- package/src/core/generator.ts +956 -116
- package/src/core/mapper.ts +158 -51
- package/src/index.ts +34 -5
- package/src/runtime/bridge-core.ts +58 -18
- package/src/runtime/bridge-protocol.ts +164 -0
- package/src/runtime/errors.ts +14 -0
- package/src/runtime/http-io.ts +2 -1
- package/src/runtime/http.ts +7 -0
- package/src/runtime/node.ts +264 -44
- package/src/runtime/optimized-node.ts +4 -1
- package/src/runtime/pooled-transport.ts +12 -1
- package/src/runtime/process-io.ts +83 -55
- package/src/runtime/pyodide-io.ts +110 -44
- package/src/runtime/safe-codec.ts +290 -82
- package/src/runtime/transport.ts +6 -1
- package/src/runtime/validators.ts +14 -3
- package/src/runtime/worker-pool.ts +67 -6
- package/src/types/global.d.ts +11 -1
- package/src/types/index.ts +63 -0
- package/src/tywrap.ts +279 -358
- package/src/utils/cache.ts +59 -5
- package/src/utils/codec.ts +11 -15
- package/src/utils/ir-cache.ts +51 -0
- package/src/utils/parallel-processor.ts +119 -43
- package/src/utils/runtime.ts +129 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/utils/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/utils/runtime.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tywrap",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "TypeScript
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Generate type-safe TypeScript wrappers for any Python library — Node.js, Deno, Bun, and browsers via Pyodide.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -71,7 +71,11 @@
|
|
|
71
71
|
"act": "node scripts/act.mjs",
|
|
72
72
|
"act:clean": "node scripts/act.mjs --clean",
|
|
73
73
|
"act:serial": "node scripts/act-matrix.mjs",
|
|
74
|
-
"docker:npm": "node scripts/node-docker.mjs npm"
|
|
74
|
+
"docker:npm": "node scripts/node-docker.mjs npm",
|
|
75
|
+
"docs:sync-llms": "node scripts/generate-llms-full.mjs",
|
|
76
|
+
"docs:dev": "vitepress dev docs",
|
|
77
|
+
"docs:build": "npm run docs:sync-llms && vitepress build docs",
|
|
78
|
+
"docs:preview": "vitepress preview docs"
|
|
75
79
|
},
|
|
76
80
|
"keywords": [
|
|
77
81
|
"typescript",
|
|
@@ -84,7 +88,17 @@
|
|
|
84
88
|
"code-generation",
|
|
85
89
|
"node",
|
|
86
90
|
"deno",
|
|
87
|
-
"bun"
|
|
91
|
+
"bun",
|
|
92
|
+
"codegen",
|
|
93
|
+
"ffi",
|
|
94
|
+
"bindings",
|
|
95
|
+
"wrapper",
|
|
96
|
+
"numpy",
|
|
97
|
+
"pandas",
|
|
98
|
+
"scipy",
|
|
99
|
+
"python-wrapper",
|
|
100
|
+
"rpc",
|
|
101
|
+
"subprocess"
|
|
88
102
|
],
|
|
89
103
|
"author": "tywrap contributors",
|
|
90
104
|
"license": "MIT",
|
|
@@ -95,7 +109,7 @@
|
|
|
95
109
|
"bugs": {
|
|
96
110
|
"url": "https://github.com/bbopen/tywrap/issues"
|
|
97
111
|
},
|
|
98
|
-
"homepage": "https://github.
|
|
112
|
+
"homepage": "https://bbopen.github.io/tywrap",
|
|
99
113
|
"publishConfig": {
|
|
100
114
|
"access": "public",
|
|
101
115
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -103,30 +117,34 @@
|
|
|
103
117
|
"dependencies": {
|
|
104
118
|
"@babel/parser": "^7.25.6",
|
|
105
119
|
"@babel/types": "^7.25.6",
|
|
106
|
-
"tree-sitter": "^0.
|
|
107
|
-
"tree-sitter-python": "^0.
|
|
120
|
+
"tree-sitter": "^0.25.0",
|
|
121
|
+
"tree-sitter-python": "^0.25.0",
|
|
108
122
|
"typescript": "^5.6.2",
|
|
109
123
|
"web-tree-sitter": "^0.21.0",
|
|
110
|
-
"yargs": "^
|
|
124
|
+
"yargs": "^18.0.0"
|
|
111
125
|
},
|
|
112
126
|
"devDependencies": {
|
|
113
|
-
"@types/bun": "^1.
|
|
114
|
-
"@types/node": "^
|
|
115
|
-
"@types/
|
|
116
|
-
"@
|
|
127
|
+
"@types/bun": "^1.3.10",
|
|
128
|
+
"@types/node": "^25.5.0",
|
|
129
|
+
"@types/three": "^0.183.1",
|
|
130
|
+
"@types/yargs": "^17.0.35",
|
|
131
|
+
"@typescript-eslint/eslint-plugin": "^8.57.1",
|
|
117
132
|
"@typescript-eslint/parser": "^8.5.0",
|
|
118
|
-
"@vitest/coverage-v8": "^4.0
|
|
119
|
-
"@vitest/eslint-plugin": "^1.6.
|
|
133
|
+
"@vitest/coverage-v8": "^4.1.0",
|
|
134
|
+
"@vitest/eslint-plugin": "^1.6.12",
|
|
120
135
|
"apache-arrow": "^21.1.0",
|
|
121
136
|
"eslint": "^9.10.0",
|
|
122
|
-
"eslint-import-resolver-typescript": "^
|
|
137
|
+
"eslint-import-resolver-typescript": "^4.4.4",
|
|
123
138
|
"eslint-plugin-import": "^2.29.1",
|
|
124
139
|
"eslint-plugin-security": "^3.0.1",
|
|
125
|
-
"fast-check": "^4.
|
|
126
|
-
"prettier": "^3.
|
|
140
|
+
"fast-check": "^4.6.0",
|
|
141
|
+
"prettier": "^3.8.1",
|
|
127
142
|
"tsd": "^0.33.0",
|
|
128
143
|
"vite": "^7.3.0",
|
|
129
|
-
"
|
|
144
|
+
"vitepress": "^1.6.4",
|
|
145
|
+
"vitest": "^4.0.16",
|
|
146
|
+
"three": "^0.183.2",
|
|
147
|
+
"postprocessing": "^6.38.3"
|
|
130
148
|
},
|
|
131
149
|
"peerDependencies": {
|
|
132
150
|
"pyodide": ">=0.28.0"
|
|
@@ -139,6 +157,10 @@
|
|
|
139
157
|
"trustedDependencies": [
|
|
140
158
|
"pyodide"
|
|
141
159
|
],
|
|
160
|
+
"overrides": {
|
|
161
|
+
"@types/react": "^18.3.0",
|
|
162
|
+
"@types/prop-types": "^15.7.0"
|
|
163
|
+
},
|
|
142
164
|
"bin": {
|
|
143
165
|
"tywrap": "dist/cli.js"
|
|
144
166
|
}
|
package/runtime/python_bridge.py
CHANGED
|
@@ -138,6 +138,69 @@ class ProtocolError(Exception):
|
|
|
138
138
|
pass
|
|
139
139
|
|
|
140
140
|
|
|
141
|
+
class InstanceHandleError(ValueError):
|
|
142
|
+
"""Raised when an instance handle is unknown or no longer valid."""
|
|
143
|
+
|
|
144
|
+
_NO_DESERIALIZE = object()
|
|
145
|
+
_ERR_BYTES_MISSING_B64 = 'Invalid bytes envelope: missing b64'
|
|
146
|
+
_ERR_BYTES_MISSING_DATA = 'Invalid bytes envelope: missing data'
|
|
147
|
+
_ERR_BYTES_INVALID_BASE64 = 'Invalid bytes envelope: invalid base64'
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
def _deserialize_bytes_envelope(value) -> object:
|
|
151
|
+
"""
|
|
152
|
+
Decode base64-encoded bytes envelopes from JS into Python bytes.
|
|
153
|
+
|
|
154
|
+
Supported shapes:
|
|
155
|
+
- { "__tywrap_bytes__": true, "b64": "..." } (JS SafeCodec.encodeRequest)
|
|
156
|
+
- { "__type__": "bytes", "encoding": "base64", "data": "..." } (legacy/compat)
|
|
157
|
+
|
|
158
|
+
Why: TS SafeCodec encodes Uint8Array/ArrayBuffer as base64 objects, but
|
|
159
|
+
Python handlers expect real bytes/bytearray to preserve behavior (e.g., len()).
|
|
160
|
+
"""
|
|
161
|
+
if not isinstance(value, dict):
|
|
162
|
+
return _NO_DESERIALIZE
|
|
163
|
+
|
|
164
|
+
if value.get('__tywrap_bytes__') is True:
|
|
165
|
+
b64 = value.get('b64')
|
|
166
|
+
if not isinstance(b64, str):
|
|
167
|
+
raise ProtocolError(_ERR_BYTES_MISSING_B64)
|
|
168
|
+
try:
|
|
169
|
+
return base64.b64decode(b64, validate=True)
|
|
170
|
+
except Exception as exc:
|
|
171
|
+
raise ProtocolError(_ERR_BYTES_INVALID_BASE64) from exc
|
|
172
|
+
|
|
173
|
+
if value.get('__type__') == 'bytes' and value.get('encoding') == 'base64':
|
|
174
|
+
data = value.get('data')
|
|
175
|
+
if not isinstance(data, str):
|
|
176
|
+
raise ProtocolError(_ERR_BYTES_MISSING_DATA)
|
|
177
|
+
try:
|
|
178
|
+
return base64.b64decode(data, validate=True)
|
|
179
|
+
except Exception as exc:
|
|
180
|
+
raise ProtocolError(_ERR_BYTES_INVALID_BASE64) from exc
|
|
181
|
+
|
|
182
|
+
return _NO_DESERIALIZE
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
def deserialize(value):
|
|
186
|
+
"""
|
|
187
|
+
Recursively deserialize request values into Python-native types.
|
|
188
|
+
|
|
189
|
+
Why: requests are JSON-only; we need a small set of explicit decoders
|
|
190
|
+
(currently bytes) to restore Python semantics at the boundary.
|
|
191
|
+
"""
|
|
192
|
+
decoded = _deserialize_bytes_envelope(value)
|
|
193
|
+
if decoded is not _NO_DESERIALIZE:
|
|
194
|
+
return decoded
|
|
195
|
+
|
|
196
|
+
if isinstance(value, list):
|
|
197
|
+
return [deserialize(item) for item in value]
|
|
198
|
+
if isinstance(value, dict):
|
|
199
|
+
# Preserve dict shape while decoding nested values.
|
|
200
|
+
return {k: deserialize(v) for k, v in value.items()}
|
|
201
|
+
return value
|
|
202
|
+
|
|
203
|
+
|
|
141
204
|
_PROTOCOL_DIAGNOSTIC_MAX = 2048
|
|
142
205
|
|
|
143
206
|
|
|
@@ -593,10 +656,13 @@ def serialize_pydantic(obj):
|
|
|
593
656
|
if not callable(model_dump):
|
|
594
657
|
return _NO_PYDANTIC
|
|
595
658
|
try:
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
659
|
+
try:
|
|
660
|
+
return model_dump(by_alias=True, mode='json')
|
|
661
|
+
except TypeError:
|
|
662
|
+
# Older Pydantic versions may not support `mode=...`.
|
|
663
|
+
return model_dump(by_alias=True)
|
|
664
|
+
except Exception as exc:
|
|
665
|
+
raise RuntimeError(f'model_dump failed: {exc}') from exc
|
|
600
666
|
|
|
601
667
|
def serialize(obj):
|
|
602
668
|
if is_numpy_array(obj):
|
|
@@ -641,8 +707,8 @@ def serialize_stdlib(obj):
|
|
|
641
707
|
def handle_call(params):
|
|
642
708
|
module_name = require_str(params, 'module')
|
|
643
709
|
function_name = require_str(params, 'functionName')
|
|
644
|
-
args = coerce_list(params.get('args'), 'args')
|
|
645
|
-
kwargs = coerce_dict(params.get('kwargs'), 'kwargs')
|
|
710
|
+
args = deserialize(coerce_list(params.get('args'), 'args'))
|
|
711
|
+
kwargs = deserialize(coerce_dict(params.get('kwargs'), 'kwargs'))
|
|
646
712
|
mod = importlib.import_module(module_name)
|
|
647
713
|
func = getattr(mod, function_name)
|
|
648
714
|
res = func(*args, **kwargs)
|
|
@@ -652,8 +718,8 @@ def handle_call(params):
|
|
|
652
718
|
def handle_instantiate(params):
|
|
653
719
|
module_name = require_str(params, 'module')
|
|
654
720
|
class_name = require_str(params, 'className')
|
|
655
|
-
args = coerce_list(params.get('args'), 'args')
|
|
656
|
-
kwargs = coerce_dict(params.get('kwargs'), 'kwargs')
|
|
721
|
+
args = deserialize(coerce_list(params.get('args'), 'args'))
|
|
722
|
+
kwargs = deserialize(coerce_dict(params.get('kwargs'), 'kwargs'))
|
|
657
723
|
mod = importlib.import_module(module_name)
|
|
658
724
|
cls = getattr(mod, class_name)
|
|
659
725
|
obj = cls(*args, **kwargs)
|
|
@@ -665,10 +731,10 @@ def handle_instantiate(params):
|
|
|
665
731
|
def handle_call_method(params):
|
|
666
732
|
handle_id = require_str(params, 'handle')
|
|
667
733
|
method_name = require_str(params, 'methodName')
|
|
668
|
-
args = coerce_list(params.get('args'), 'args')
|
|
669
|
-
kwargs = coerce_dict(params.get('kwargs'), 'kwargs')
|
|
734
|
+
args = deserialize(coerce_list(params.get('args'), 'args'))
|
|
735
|
+
kwargs = deserialize(coerce_dict(params.get('kwargs'), 'kwargs'))
|
|
670
736
|
if handle_id not in instances:
|
|
671
|
-
raise
|
|
737
|
+
raise InstanceHandleError(f'Unknown instance handle: {handle_id}')
|
|
672
738
|
obj = instances[handle_id]
|
|
673
739
|
func = getattr(obj, method_name)
|
|
674
740
|
res = func(*args, **kwargs)
|
|
@@ -678,7 +744,7 @@ def handle_call_method(params):
|
|
|
678
744
|
def handle_dispose_instance(params):
|
|
679
745
|
handle_id = require_str(params, 'handle')
|
|
680
746
|
if handle_id not in instances:
|
|
681
|
-
|
|
747
|
+
return False
|
|
682
748
|
del instances[handle_id]
|
|
683
749
|
return True
|
|
684
750
|
|
package/src/cli.ts
CHANGED
|
@@ -192,6 +192,11 @@ async function main(): Promise<void> {
|
|
|
192
192
|
type: 'boolean',
|
|
193
193
|
describe: 'Enable debug logging',
|
|
194
194
|
})
|
|
195
|
+
.option('verbose', {
|
|
196
|
+
alias: 'v',
|
|
197
|
+
type: 'boolean',
|
|
198
|
+
describe: 'Alias for --debug',
|
|
199
|
+
})
|
|
195
200
|
.option('fail-on-warn', {
|
|
196
201
|
type: 'boolean',
|
|
197
202
|
default: false,
|
|
@@ -215,6 +220,7 @@ async function main(): Promise<void> {
|
|
|
215
220
|
sourceMap?: boolean;
|
|
216
221
|
useCache?: boolean;
|
|
217
222
|
debug?: boolean;
|
|
223
|
+
verbose?: boolean;
|
|
218
224
|
failOnWarn: boolean;
|
|
219
225
|
check: boolean;
|
|
220
226
|
}>
|
|
@@ -253,7 +259,9 @@ async function main(): Promise<void> {
|
|
|
253
259
|
};
|
|
254
260
|
}
|
|
255
261
|
|
|
256
|
-
if (
|
|
262
|
+
if (argv.verbose === true) {
|
|
263
|
+
overrides.debug = true;
|
|
264
|
+
} else if (typeof argv.debug === 'boolean') {
|
|
257
265
|
overrides.debug = argv.debug;
|
|
258
266
|
}
|
|
259
267
|
|
|
@@ -279,11 +287,27 @@ async function main(): Promise<void> {
|
|
|
279
287
|
}
|
|
280
288
|
|
|
281
289
|
const res = await generate(options, { check: argv.check });
|
|
290
|
+
const warnings = res.warnings ?? [];
|
|
291
|
+
const moduleCount = Object.keys(options.pythonModules ?? {}).length;
|
|
292
|
+
|
|
293
|
+
const emitWarnings = (): void => {
|
|
294
|
+
if (warnings.length === 0) {
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
process.stderr.write(`Warnings (count ${warnings.length}):\n`);
|
|
298
|
+
for (const w of warnings) {
|
|
299
|
+
process.stderr.write(`- ${w}\n`);
|
|
300
|
+
}
|
|
301
|
+
process.stderr.write('\n');
|
|
302
|
+
};
|
|
303
|
+
|
|
282
304
|
if (argv.check) {
|
|
283
305
|
const outOfDate = res.outOfDate ?? [];
|
|
284
306
|
if (outOfDate.length === 0) {
|
|
307
|
+
emitWarnings();
|
|
285
308
|
process.stdout.write('Generated wrappers are up to date.\n');
|
|
286
309
|
} else {
|
|
310
|
+
emitWarnings();
|
|
287
311
|
process.stderr.write('Generated wrappers are out of date:\n');
|
|
288
312
|
for (const file of outOfDate) {
|
|
289
313
|
process.stderr.write(`- ${file}\n`);
|
|
@@ -294,7 +318,42 @@ async function main(): Promise<void> {
|
|
|
294
318
|
}
|
|
295
319
|
}
|
|
296
320
|
} else {
|
|
297
|
-
|
|
321
|
+
emitWarnings();
|
|
322
|
+
|
|
323
|
+
const written = res.written ?? [];
|
|
324
|
+
if (written.length === 0) {
|
|
325
|
+
process.stderr.write(
|
|
326
|
+
`No files were generated. This usually means Python failed to import one or more modules.\n`
|
|
327
|
+
);
|
|
328
|
+
const modulesConfigured = Object.keys(options.pythonModules ?? {});
|
|
329
|
+
if (modulesConfigured.length > 0) {
|
|
330
|
+
process.stderr.write(`Modules: ${modulesConfigured.join(', ')}\n`);
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
const pythonImportPath = options.pythonImportPath ?? [];
|
|
334
|
+
if (pythonImportPath.length > 0) {
|
|
335
|
+
process.stderr.write(`pythonImportPath: ${pythonImportPath.join(', ')}\n`);
|
|
336
|
+
} else {
|
|
337
|
+
process.stderr.write(
|
|
338
|
+
`Tip: set "pythonImportPath" in your tywrap config to include your local module directories.\n`
|
|
339
|
+
);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
const pyPath = process.env.PYTHONPATH;
|
|
343
|
+
if (typeof pyPath === 'string' && pyPath.trim().length > 0) {
|
|
344
|
+
process.stderr.write(`PYTHONPATH: ${pyPath}\n`);
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
process.stderr.write(`Tip: re-run with --debug for more context.\n`);
|
|
348
|
+
process.exit(1);
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
process.stdout.write(
|
|
352
|
+
`Generated: ${written.length} files from ${moduleCount} modules (warnings: ${warnings.length}).\n`
|
|
353
|
+
);
|
|
354
|
+
for (const file of written) {
|
|
355
|
+
process.stdout.write(`- ${file}\n`);
|
|
356
|
+
}
|
|
298
357
|
}
|
|
299
358
|
if (argv.failOnWarn && res.warnings.length > 0) {
|
|
300
359
|
log.error(
|
package/src/config/index.ts
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
import { randomUUID } from 'node:crypto';
|
|
9
9
|
import { existsSync } from 'node:fs';
|
|
10
|
-
import {
|
|
10
|
+
import { tmpdir } from 'node:os';
|
|
11
|
+
import { readFile, rm, writeFile, mkdtemp, symlink } from 'node:fs/promises';
|
|
11
12
|
import { createRequire } from 'node:module';
|
|
12
13
|
import { dirname, extname, resolve } from 'node:path';
|
|
13
14
|
import { pathToFileURL } from 'node:url';
|
|
@@ -20,11 +21,6 @@ import type {
|
|
|
20
21
|
} from '../types/index.js';
|
|
21
22
|
import { getDefaultPythonPath } from '../utils/python.js';
|
|
22
23
|
|
|
23
|
-
/**
|
|
24
|
-
* Public configuration type. Currently identical to {@link TywrapOptions}.
|
|
25
|
-
*/
|
|
26
|
-
export type TywrapConfig = TywrapOptions;
|
|
27
|
-
|
|
28
24
|
type DeepPartial<T> = {
|
|
29
25
|
[K in keyof T]?: T[K] extends Array<infer U>
|
|
30
26
|
? Array<U>
|
|
@@ -33,11 +29,22 @@ type DeepPartial<T> = {
|
|
|
33
29
|
: T[K];
|
|
34
30
|
};
|
|
35
31
|
|
|
32
|
+
/**
|
|
33
|
+
* User-authored configuration shape accepted by defineConfig() and config files.
|
|
34
|
+
*/
|
|
35
|
+
export type TywrapConfig = DeepPartial<TywrapOptions>;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Fully resolved configuration shape returned by createConfig() and resolveConfig().
|
|
39
|
+
*/
|
|
40
|
+
export type ResolvedTywrapConfig = TywrapOptions;
|
|
41
|
+
|
|
36
42
|
/**
|
|
37
43
|
* Default configuration values used when options are not supplied.
|
|
38
44
|
*/
|
|
39
|
-
const DEFAULT_CONFIG:
|
|
45
|
+
const DEFAULT_CONFIG: ResolvedTywrapConfig = {
|
|
40
46
|
pythonModules: {},
|
|
47
|
+
pythonImportPath: [],
|
|
41
48
|
output: { dir: './generated', format: 'esm', declaration: false, sourceMap: false },
|
|
42
49
|
runtime: { node: { pythonPath: getDefaultPythonPath(), timeout: 30000 } },
|
|
43
50
|
performance: { caching: false, batching: false, compression: 'none' },
|
|
@@ -85,9 +92,10 @@ function safeExists(path: string): boolean {
|
|
|
85
92
|
/**
|
|
86
93
|
* Validate configuration values and throw user-friendly errors when invalid.
|
|
87
94
|
*/
|
|
88
|
-
function validateConfig(config:
|
|
95
|
+
function validateConfig(config: ResolvedTywrapConfig): void {
|
|
89
96
|
const allowedTopLevel = new Set([
|
|
90
97
|
'pythonModules',
|
|
98
|
+
'pythonImportPath',
|
|
91
99
|
'output',
|
|
92
100
|
'runtime',
|
|
93
101
|
'performance',
|
|
@@ -105,6 +113,15 @@ function validateConfig(config: TywrapConfig): void {
|
|
|
105
113
|
if (typeof out.dir !== 'string') {
|
|
106
114
|
throw new Error('output.dir must be a string');
|
|
107
115
|
}
|
|
116
|
+
|
|
117
|
+
if (config.pythonImportPath !== undefined) {
|
|
118
|
+
if (
|
|
119
|
+
!Array.isArray(config.pythonImportPath) ||
|
|
120
|
+
config.pythonImportPath.some(p => typeof p !== 'string')
|
|
121
|
+
) {
|
|
122
|
+
throw new Error('pythonImportPath must be an array of strings');
|
|
123
|
+
}
|
|
124
|
+
}
|
|
108
125
|
if (!['esm', 'cjs', 'both'].includes(out.format)) {
|
|
109
126
|
throw new Error('output.format must be one of "esm", "cjs" or "both"');
|
|
110
127
|
}
|
|
@@ -183,7 +200,7 @@ function validateConfig(config: TywrapConfig): void {
|
|
|
183
200
|
*
|
|
184
201
|
* @param overrides CLI or programmatic overrides
|
|
185
202
|
*/
|
|
186
|
-
export function createConfig(overrides: DeepPartial<TywrapOptions> = {}):
|
|
203
|
+
export function createConfig(overrides: DeepPartial<TywrapOptions> = {}): ResolvedTywrapConfig {
|
|
187
204
|
const merged = merge(DEFAULT_CONFIG, overrides);
|
|
188
205
|
validateConfig(merged);
|
|
189
206
|
return merged;
|
|
@@ -200,7 +217,9 @@ export interface ResolveConfigOptions {
|
|
|
200
217
|
* Resolve configuration by loading a config file (JSON/JS/TS) and merging
|
|
201
218
|
* defaults with any overrides.
|
|
202
219
|
*/
|
|
203
|
-
export async function resolveConfig(
|
|
220
|
+
export async function resolveConfig(
|
|
221
|
+
options: ResolveConfigOptions = {}
|
|
222
|
+
): Promise<ResolvedTywrapConfig> {
|
|
204
223
|
const cwd = options.cwd ?? process.cwd();
|
|
205
224
|
const overrides = options.overrides ?? {};
|
|
206
225
|
const configFile = options.configFile ? resolve(cwd, options.configFile) : undefined;
|
|
@@ -272,6 +291,20 @@ export async function loadConfigFile(configFile: string): Promise<Partial<Tywrap
|
|
|
272
291
|
fileName: resolved,
|
|
273
292
|
});
|
|
274
293
|
|
|
294
|
+
let transpiledOutput = output.outputText;
|
|
295
|
+
if (!emitCommonJs) {
|
|
296
|
+
try {
|
|
297
|
+
// Preserve support for `import { defineConfig } from 'tywrap'` when ESM config
|
|
298
|
+
// is evaluated from an OS temp directory outside the package scope.
|
|
299
|
+
const tywrapEntryHref = await import.meta.resolve('tywrap');
|
|
300
|
+
transpiledOutput = transpiledOutput
|
|
301
|
+
.replaceAll("'tywrap'", `'${tywrapEntryHref}'`)
|
|
302
|
+
.replaceAll('\"tywrap\"', `\"${tywrapEntryHref}\"`);
|
|
303
|
+
} catch {
|
|
304
|
+
// Best-effort: leave source as-is when tywrap cannot be resolved.
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
|
|
275
308
|
if (emitCommonJs) {
|
|
276
309
|
// Why: `.cts` is explicitly CommonJS. We evaluate the transpiled output in-memory using
|
|
277
310
|
// Node's Module internals (`Module._compile` / `_nodeModulePaths`) to avoid writing an extra
|
|
@@ -309,18 +342,31 @@ export async function loadConfigFile(configFile: string): Promise<Partial<Tywrap
|
|
|
309
342
|
return ensureConfigObject(loaded ?? {}, resolved);
|
|
310
343
|
}
|
|
311
344
|
|
|
312
|
-
// Why: Node can't import ESM from a string without a custom loader. We write
|
|
313
|
-
// output to a temporary `.mjs` file
|
|
314
|
-
//
|
|
315
|
-
const
|
|
345
|
+
// Why: Node can't import ESM from a string without a custom loader. We write transpiled
|
|
346
|
+
// output to a temporary `.mjs` file under the OS temp directory (not next to user config),
|
|
347
|
+
// then clean up both file and temporary directory after loading.
|
|
348
|
+
const tempDir = await mkdtemp(resolve(tmpdir(), 'tywrap-config-'));
|
|
349
|
+
const tmpPath = resolve(tempDir, `.tywrap.config.${randomUUID()}.mjs`);
|
|
316
350
|
try {
|
|
317
|
-
|
|
318
|
-
|
|
351
|
+
const localNodeModules = resolve(process.cwd(), 'node_modules');
|
|
352
|
+
if (safeExists(localNodeModules)) {
|
|
353
|
+
const tempNodeModules = resolve(tempDir, 'node_modules');
|
|
354
|
+
try {
|
|
355
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- temp path is derived from OS temp directory
|
|
356
|
+
await symlink(localNodeModules, tempNodeModules, 'dir');
|
|
357
|
+
} catch {
|
|
358
|
+
// Best-effort only; regular resolution may still succeed without a symlink.
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- temp path is derived from OS temp directory
|
|
363
|
+
await writeFile(tmpPath, transpiledOutput, 'utf-8');
|
|
319
364
|
const mod = (await import(pathToFileURL(tmpPath).href)) as Record<string, unknown>;
|
|
320
365
|
const loaded = mod.default ?? mod;
|
|
321
366
|
return ensureConfigObject(loaded ?? {}, resolved);
|
|
322
367
|
} finally {
|
|
323
368
|
await rm(tmpPath, { force: true });
|
|
369
|
+
await rm(tempDir, { recursive: true, force: true });
|
|
324
370
|
}
|
|
325
371
|
}
|
|
326
372
|
|
|
@@ -335,6 +381,6 @@ async function safeReadFileAsync(path: string): Promise<string> {
|
|
|
335
381
|
/**
|
|
336
382
|
* Type helper for authoring tywrap configs with full type inference.
|
|
337
383
|
*/
|
|
338
|
-
export function defineConfig(config:
|
|
384
|
+
export function defineConfig<T extends TywrapConfig>(config: T): T {
|
|
339
385
|
return config;
|
|
340
386
|
}
|