diff --git a/.changeset/remove-deno-kernel.md b/.changeset/remove-deno-kernel.md
new file mode 100644
index 00000000..6de7819d
--- /dev/null
+++ b/.changeset/remove-deno-kernel.md
@@ -0,0 +1,5 @@
+---
+'@e2b/code-interpreter-template': minor
+---
+
+remove Deno kernel
diff --git a/js/tests/languages/deno.test.ts b/js/tests/languages/deno.test.ts
deleted file mode 100644
index a595f7a9..00000000
--- a/js/tests/languages/deno.test.ts
+++ /dev/null
@@ -1,99 +0,0 @@
-import { expect } from 'vitest'
-
-import { sandboxTest } from '../setup'
-
-sandboxTest.skip('js simple', async ({ sandbox }) => {
- const result = await sandbox.runCode('console.log("Hello, World!")', {
- language: 'deno',
- })
-
- expect(result.logs.stdout.join().trim()).toEqual('Hello, World!')
-})
-
-sandboxTest.skip('js import', async ({ sandbox }) => {
- const result = await sandbox.runCode(
- 'import isOdd from "npm:is-odd"\nisOdd(3)',
- { language: 'deno' }
- )
-
- expect(result.results[0].text).toEqual('true')
-})
-
-sandboxTest.skip('js top level await', async ({ sandbox }) => {
- const result = await sandbox.runCode(
- `
- async function main() {
- return 'Hello, World!'
- }
-
- await main()
- `,
- { language: 'deno' }
- )
- expect(result.results[0].text).toEqual('Hello, World!')
-})
-
-sandboxTest.skip('js es6', async ({ sandbox }) => {
- const result = await sandbox.runCode(
- `
- const add = (x, y) => x + y;
- add(1, 2)`,
- { language: 'deno' }
- )
- expect(result.results[0].text).toEqual('3')
-})
-
-sandboxTest.skip('js context', async ({ sandbox }) => {
- await sandbox.runCode('const z = 1', { language: 'deno' })
- const result = await sandbox.runCode('z', { language: 'deno' })
- expect(result.results[0].text).toEqual('1')
-})
-
-sandboxTest.skip('js cwd', async ({ sandbox }) => {
- const result = await sandbox.runCode('process.cwd()', { language: 'deno' })
- expect(result.results[0].text).toEqual('/home/user')
-
- const ctx = await sandbox.createCodeContext({
- cwd: '/home',
- language: 'deno',
- })
- const result2 = await sandbox.runCode('process.cwd()', { context: ctx })
- expect(result2.results[0].text).toEqual('/home')
-})
-
-sandboxTest.skip('ts simple', async ({ sandbox }) => {
- const result = await sandbox.runCode(
- `
-function subtract(x: number, y: number): number {
- return x - y;
-}
-
-subtract(1, 2)
-`,
- { language: 'deno' }
- )
-
- expect(result.results[0].text).toEqual('-1')
-})
-
-sandboxTest.skip('test display', async ({ sandbox }) => {
- const result = await sandbox.runCode(
- `
- {
- [Symbol.for("Jupyter.display")]() {
- return {
- // Plain text content
- "text/plain": "Hello world!",
-
- // HTML output
- "text/html": "
Hello world!
",
- }
- }
-}
-`,
- { language: 'deno' }
- )
-
- expect(result.results[0].html).toBe('Hello world!
')
- expect(result.results[0].text).toBe('Hello world!')
-})
diff --git a/python/tests/languages/test_deno.py b/python/tests/languages/test_deno.py
deleted file mode 100644
index 74c3e57b..00000000
--- a/python/tests/languages/test_deno.py
+++ /dev/null
@@ -1,97 +0,0 @@
-import pytest
-
-from e2b_code_interpreter import AsyncSandbox
-
-
-@pytest.mark.skip(reason="Deno is not supported yet")
-async def test_javascript(async_sandbox: AsyncSandbox):
- code = """
- console.log('Hello, World!')
- """
- execution = await async_sandbox.run_code(code, language="deno")
- assert execution.logs.stdout == ["Hello, World!\n"]
-
-
-@pytest.mark.skip(reason="Deno is not supported yet")
-async def test_import(async_sandbox: AsyncSandbox):
- code = """
- import isOdd from 'npm:is-odd'
- isOdd(3)
- """
- execution = await async_sandbox.run_code(code, language="deno")
- assert execution.results[0].text == "true"
-
-
-@pytest.mark.skip(reason="Deno is not supported yet")
-async def test_toplevel_await(async_sandbox: AsyncSandbox):
- code = """
- async function main() {
- return 'Hello, World!'
- }
-
- await main()
- """
- execution = await async_sandbox.run_code(code, language="deno")
- assert execution.results[0].text == "Hello, World!"
-
-
-@pytest.mark.skip(reason="Deno is not supported yet")
-async def test_es6(async_sandbox: AsyncSandbox):
- code = """
-const add = (x, y) => x + y;
-add(1, 2);
- """
- execution = await async_sandbox.run_code(code, language="deno")
- assert execution.results[0].text == "3"
-
-
-@pytest.mark.skip(reason="Deno is not supported yet")
-async def test_context(async_sandbox: AsyncSandbox):
- await async_sandbox.run_code("const x = 1", language="deno")
- execution = await async_sandbox.run_code("x", language="deno")
- assert execution.results[0].text == "1"
-
-
-@pytest.mark.skip(reason="Deno is not supported yet")
-async def test_cwd(async_sandbox: AsyncSandbox):
- execution = await async_sandbox.run_code("process.cwd()", language="deno")
- assert execution.results[0].text == "/home/user"
-
- ctx = await async_sandbox.create_code_context("/home", language="deno")
- execution = await async_sandbox.run_code("process.cwd()", context=ctx)
- assert execution.results[0].text == "/home"
-
-
-@pytest.mark.skip(reason="Deno is not supported yet")
-async def test_typescript(async_sandbox: AsyncSandbox):
- execution = await async_sandbox.run_code(
- """
-function subtract(x: number, y: number): number {
- return x - y;
-}
-
-subtract(1, 2);
-""",
- language="deno",
- )
- assert execution.results[0].text == "-1"
-
-
-@pytest.mark.skip(reason="Deno is not supported yet")
-async def test_display(async_sandbox: AsyncSandbox):
- code = """
-{
- [Symbol.for("Jupyter.display")]() {
- return {
- // Plain text content
- "text/plain": "Hello world!",
-
- // HTML output
- "text/html": "Hello world!
",
- }
- }
-}
- """
- execution = await async_sandbox.run_code(code, language="deno")
- assert execution.results[0].text == "Hello world!"
- assert execution.results[0].html == "Hello world!
"
diff --git a/template/deno.json b/template/deno.json
deleted file mode 100644
index 3c491e44..00000000
--- a/template/deno.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "argv": [
- "/usr/bin/deno",
- "jupyter",
- "--kernel",
- "--conn",
- "{connection_file}"
- ],
- "display_name": "Deno",
- "env": {
- "NO_COLOR": "1"
- },
- "language": "typescript"
-}
diff --git a/template/server/messaging.py b/template/server/messaging.py
index d5fdb270..0db59af0 100644
--- a/template/server/messaging.py
+++ b/template/server/messaging.py
@@ -154,8 +154,6 @@ def _set_env_var_snippet(self, key: str, value: str) -> str:
return f"import os; os.environ['{key}'] = '{value}'"
elif self.language in ["javascript", "typescript"]:
return f"process.env['{key}'] = '{value}'"
- elif self.language == "deno":
- return f"Deno.env.set('{key}', '{value}')"
elif self.language == "r":
return f'Sys.setenv({key} = "{value}")'
elif self.language == "java":
@@ -170,8 +168,6 @@ def _delete_env_var_snippet(self, key: str) -> str:
return f"import os; del os.environ['{key}']"
elif self.language in ["javascript", "typescript"]:
return f"delete process.env['{key}']"
- elif self.language == "deno":
- return f"Deno.env.delete('{key}')"
elif self.language == "r":
return f"Sys.unsetenv('{key}')"
elif self.language == "java":
@@ -297,10 +293,6 @@ async def change_current_directory(
self._executions[message_id] = Execution(in_background=True)
if language == "python":
request = self._get_execute_request(message_id, f"%cd {path}", True)
- elif language == "deno":
- request = self._get_execute_request(
- message_id, f"Deno.chdir('{path}')", True
- )
elif language in ("javascript", "typescript"):
request = self._get_execute_request(
message_id, f"process.chdir('{path}')", True
diff --git a/template/template.py b/template/template.py
index 9101636a..62fec9e2 100644
--- a/template/template.py
+++ b/template/template.py
@@ -2,7 +2,7 @@
def make_template(
- kernels: list[str] = ["python", "r", "javascript", "deno", "bash", "java"],
+ kernels: list[str] = ["python", "r", "javascript", "bash", "java"],
is_docker: bool = False,
):
enabled_kernels = set(["python", "javascript"] + kernels)
@@ -20,8 +20,6 @@ def make_template(
"JAVA_VERSION": "11",
"JAVA_HOME": "/usr/lib/jvm/jdk-${JAVA_VERSION}",
"IJAVA_VERSION": "1.3.0",
- "DENO_INSTALL": "/opt/deno",
- "DENO_VERSION": "v2.4.0",
"R_VERSION": "4.5.*",
}
)
@@ -62,16 +60,6 @@ def make_template(
g=True,
).run_cmd("ijsinstall --install=global")
- # Install Deno Kernel if requested
- if "deno" in enabled_kernels:
- template = template.run_cmd(
- [
- "curl -fsSL https://deno.land/install.sh | sh -s ${DENO_VERSION}",
- "PATH=$DENO_INSTALL/bin:$PATH",
- "deno jupyter --unstable --install",
- ]
- ).copy("deno.json", ".local/share/jupyter/kernels/deno/kernel.json")
-
# Install Bash Kernel if requested
if "bash" in enabled_kernels:
template = template.pip_install("bash_kernel").run_cmd(