Skip to content

Commit

Permalink
feat: update grit guide
Browse files Browse the repository at this point in the history
  • Loading branch information
morgante authored Oct 16, 2024
1 parent 62bf1a0 commit 9950629
Showing 1 changed file with 4 additions and 119 deletions.
123 changes: 4 additions & 119 deletions apps/web/src/app/(docs)/docs/quickstart/migrating-from-v0/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,135 +28,20 @@ git add .
git commit -m "Last changes made"
```

## Step 3: Add Custom Migration Patterns
## Step 3: Run Grit with the Custom Pattern

You can paste the following content into the appropriate files for JavaScript/TypeScript and Python.

### JavaScript/TypeScript Pattern (e2b_v0_to_v1_js.grit)

Create or edit the file `.grit/patterns/e2b_v0_to_v1_js.grit` and paste the following:

```bash
engine marzano(0.1)
language js

pattern e2b_v0_to_v1_js() {
or {
`Sandbox.create({$params})` where {
$params <: contains `template: $name` => ., // `timeoutMs: 300_000`,
$params <: contains `cwd: $cwd` => .
} => `Sandbox.create($name, {$params}) // TODO: cwd $cwd was removed, it can't be set on sbx anymore`,
`Sandbox.create({$params})` where {
$params <: contains `template: $name` => . // `timeoutMs: 300_000`
} => `Sandbox.create($name, {$params})`,
`Sandbox.create({$params})` where {
$params <: contains `cwd: $cwd` => ., // `timeoutMs: 300_000`,
} => `Sandbox.create({$params}) // TODO: cwd $cwd was removed, it can't be set on sbx anymore`,
`$sbx.keepAlive($time)` => `$sbx.setTimeout($time)`,
`Sandbox.reconnect($x)` => `Sandbox.connect($x)`,
`$sbx.filesystem.write($path, $text)` => `$sbx.files.write($path, $text)`,
`$sbx.uploadFile($file, $path)` => `$sbx.files.write($path, $file)`,
`$sbx.downloadFile($path)` => `$sbx.files.read($path)`,
`$sbx.process.startAndWait({$params})` where {
$params <: contains `cmd: $cmd` => .,
} => `$sbx.commands.run($cmd, {$params)`,
`$sbx.process.startAndWait` => `$sbx.commands.run`,
`$sbx.process.start({$params})` where {
$params <: contains `cmd: $cmd` => .,
} => `$sbx.commands.run($cmd, {$params})` where $params += `backgrund: true`,
`const $watcher = $sbx.filesystem.watchDir($path)` => `` where {
$program <: contains `$watcher.addEventListener($body)` => .,
$program <: contains `await $watcher.start()` => `await $sbx.files.watchDir($path, $body)`
},
`let $watcher = $sbx.filesystem.watchDir($path)` => `` where {
$program <: contains `$watcher.addEventListener($body)` => .,
$program <: contains `await $watcher.start()` => `await $sbx.files.watchDir($path, $body)`
},
`var $watcher = $sbx.filesystem.watchDir($path)` => `` where {
$program <: contains `$watcher.addEventListener($body)` => .,
$program <: contains `await $watcher.start()` => `await $sbx.files.watchDir($path, $body)`
},
`$watcher = $sbx.filesystem.watchDir($path)` => `` where {
$program <: contains `$watcher.addEventListener($body)` => .,
$program <: contains `await $watcher.start()` => `await $sbx.files.watchDir($path, $body)`
},
`$sbx.id` => `$sbx.sandboxId`,
`$sbx.fileURL` => `$sbx.uploadUrl()`,
`$sbx.getHostname` => `$sbx.getHost()`,
`$sbx.close()` => `$sbx.kill()`,
$msg => `Sandbox` where { $msg <: "CodeInterpreter", $msg <: imported_from(`"@e2b/code-interpreter"`) },
`$sbx.notebook.execCell($params)` => `$sbx.runCode($params)`,
`ProcessMessage` => `OutputMessage`,
} where or {
$program <: contains `import $_ from "@e2b/code-interpreter"`,
$program <: contains `import $_ from "@e2b"`
}
}
```
### Python Pattern (e2b_v0_to_v1_py.grit)
Create or edit the file `.grit/patterns/e2b_v0_to_v1_py.grit` and paste the following:
```bash
engine marzano(0.1)
language python
pattern e2b_v0_to_v1_py() {
or {
`Sandbox.create($params)` where {
$params <: contains `template="$name"` => ., // `timeout_ms=300_000`,
$params <: contains `cwd="$cwd"` => .
} => `Sandbox.create(template="$name", $params) # TODO: cwd "$cwd" was removed, it can't be set on sbx anymore`,
`Sandbox.create($params)` where {
$params <: contains `template="$name"` => . // `timeout_ms=300_000`
} => `Sandbox.create(template="$name", $params)`,
`Sandbox.create($params)` where {
$params <: contains `cwd="$cwd"` => ., // `timeout_ms=300_000`,
} => `Sandbox.create($params) # TODO: cwd "$cwd" was removed, it can't be set on sbx anymore`,
`$sbx.keep_alive($time)` => `$sbx.set_timeout($time)`,
`Sandbox.reconnect($x)` => `Sandbox.connect($x)`,
`$sbx.filesystem.write($path, $text)` => `$sbx.files.write($path, $text)`,
`$sbx.upload_file($file)` => `$sbx.files.write($file)`,
`$sbx.download_file($path)` => `$sbx.files.read($path)`,
`$sbx.process.start_and_wait($params)` where {
$params <: contains `cmd="$cmd"` => .,
} => `$sbx.commands.run($cmd, $params)`,
`$sbx.process.start_and_wait` => `$sbx.commands.run`,
`$sbx.process.start($params)` where {
$params <: contains `cmd="$cmd"` => .,
} => `$sbx.commands.run($cmd, $params, background=True)`,
`watcher = $sbx.filesystem.watch_dir($path)` => `` where {
$program <: contains `watcher.add_event_listener($body)` => .,
$program <: contains `await watcher.start()` => `await $sbx.files.watch_dir($path, $body)`
},
`$sbx.id` => `$sbx.sandbox_id`,
`$sbx.file_url` => `$sbx.upload_url`,
`$sbx.get_hostname` => `$sbx.getHost`,
`$sbx.close()` => `$sbx.kill()`,
$msg => `Sandbox` where { $msg <: "CodeInterpreter", $msg <: imported_from(`e2b_code_interpreter`) },
`$sbx.notebook.exec_cell($params)` => `$sbx.run_code($params)`,
} where or {
$program <: contains `from e2b import $_`,
$program <: contains `from e2b_code_interpreter import $_`
}
}
```
## Step 4: Run Grit with the Custom Pattern
To apply the custom migration pattern, run the following command for your project.
To apply the custom migration pattern, run the following command for your project. The `--interactive` flag allows you to review each change as it is made.

### For JavaScript/TypeScript:

```bash
grit apply github.com/e2b-dev/e2b-cookbook#e2b_v0_to_v1_js
grit apply github.com/e2b-dev/e2b-cookbook#e2b_v0_to_v1_js --interactive
```

### For Python:

```bash
grit apply github.com/e2b-dev/e2b-cookbook#e2b_v0_to_v1_py
grit apply github.com/e2b-dev/e2b-cookbook#e2b_v0_to_v1_py --interactive
```

## Step 5: Review changes
Expand Down

0 comments on commit 9950629

Please sign in to comment.