# JS Wrapper DevExp ## Proposed Changes 1. Introduce a new wrapper type named "script" - This can be used for any scripting language that requires a runtime engine (interpreter). For example: python, javascript. - The runtime engine would be bundled as a wasm wrapper. ## DevExp 1. Create a new project `polywrap create script typescript name-of-project` ``` src/ index.ts schema.graphql polywrap.yaml package.json tsconfig.json ``` `polywrap.yaml` ```yaml= project: name: foo type: script/javascript source: module: ./src/index.ts schema: ./schema.graphql engine: wrap://ens/wrappers.polywrap.eth:js-engine@1.0.0 ``` 2. Define your schema ```graphql! #import { Module } into Namespace from "wrapper" type Module { foo( arg: String! ): Boolean! } type Object { prop: UInt32! } ``` 3. Run codegen `polywrap codegen` ``` src/ wrap/ index.ts ```