{"id":28285622,"url":"https://github.com/box3trc/arenaless","last_synced_at":"2026-01-25T11:31:56.488Z","repository":{"id":288870313,"uuid":"841948374","full_name":"Box3TRC/ArenaLess","owner":"Box3TRC","description":"Dao3 Arena TypeScript Programming, but with vscode.dev","archived":false,"fork":false,"pushed_at":"2025-07-20T05:57:33.000Z","size":1868,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-19T03:53:25.858Z","etag":null,"topics":["ai","typescript","vscode","vscode-extension","vscode-web-extension"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Box3TRC.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-13T11:16:16.000Z","updated_at":"2025-07-20T05:57:36.000Z","dependencies_parsed_at":"2025-04-20T05:36:43.304Z","dependency_job_id":null,"html_url":"https://github.com/Box3TRC/ArenaLess","commit_stats":null,"previous_names":["box3trc/arenaless"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Box3TRC/ArenaLess","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Box3TRC%2FArenaLess","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Box3TRC%2FArenaLess/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Box3TRC%2FArenaLess/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Box3TRC%2FArenaLess/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Box3TRC","download_url":"https://codeload.github.com/Box3TRC/ArenaLess/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Box3TRC%2FArenaLess/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28752668,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T10:25:12.305Z","status":"ssl_error","status_checked_at":"2026-01-25T10:25:11.933Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","typescript","vscode","vscode-extension","vscode-web-extension"],"created_at":"2025-05-21T19:17:29.193Z","updated_at":"2026-01-25T11:31:56.483Z","avatar_url":"https://github.com/Box3TRC.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ArenaLess\n\u003e 非官方出品\n\n\u003e 不保证与ArenaPro的完全兼容\n\n\u003e 图标由 @NaHCO3-code（小苏打） 绘制\n\n支持VSCode与TypeScript的神岛游戏制作插件\n告别繁琐，拥抱高效！神岛ArenaLess插件，专为游戏开发者设计，旨在通过无缝集成VSCode本地版、[VSCode在线版](https://vscode.dev)与神岛Arena编辑器，为游戏开发带来前所未有的便捷与效率。本插件不仅解决了Arena编辑器功能单一、开发体验不佳的问题，还引入了TypeScript支持，为游戏开发提供更丰富的功能和体验。\n\n👆 以上文字修改自ArenaPro的介绍\n\n本插件旨在实现神岛实验室的ArenaPro的核心功能，并且可以在[VSCode在线版 vscode.dev](https://vscode.dev)和本地版上运行。使用vscode.dev链接到Github仓库后，您就可畅享在任何设备的`TypeScript`+`Arena`编程体验。\n\n## 文档\n了解使用方法？想了解怎么使用其特性？怎样使用npm包等？查看以下文档：\n\n[岛研所ArenaLess文档](https://trc.box3lab.com/docs/arenaless/)\n\n## 快速上手\n基础操作几乎与ArenaPro一致。\n### 创建项目\n\u003ckbd\u003eCtrl+Shift+P\u003c/kbd\u003e 打开命令面板，输入选中以下命令：\n```\nArenaLess: 创建ArenaLess项目\n```\n创建完项目如果左侧文件夹列表没有更新，请点击一下刷新按钮（vscode.dev的文件更新不灵敏）\n\n### 项目编写\n教程直接使用ArenaPro的：\n[你的一个程序](https://www.yuque.com/box3lab/arenapro/ka7wgn4eeett48nl)\n\n### 登录、打包上传\n\u003e 如果没有出现`AL`按钮，请用命令`ArenaLess: 激活ArenaLess扩展 (WEB版可能不能自动激活)`。\n1. 创建完项目后，你可能会注意到下面的状态栏有一个`AL`按钮，点击它，选择`登录神岛账号`，根据提示进行登录。（请注意：token内容不可以给别人看）\n2. 点击`AL`按钮，点击链接扩展地图，选择你要链接到的地图\n3. 点击`AL`按钮，点击`构建并上传`。\n\n## 常见问题\n### 我想用npm的包，怎么办？\n由于`ArenaLess`是为了兼容`vscode web版(vscode.dev)`设计的，在这种环境里，npm是无法使用的。所以ArenaLess引入了一种新的方法：支持从网络引入库，支持`npm:`前缀。\n\n网络引用库\n```ts\nimport ... from 'https://xxxxx/xxxx';\n```\n那npm怎么办呢？ArenaLess提供了一个npm:前缀，这个前缀就是下面esm.sh链接的缩写\n前缀列表可以在后面看\n```ts\nimport ... from \"npm:xxx\"\nimport ... from \"npm:xxx@1.0.0\"//版本号\nimport ... from \"npm:yyy/路径\"\n```\nesm.sh 是一个将npm/jsr/gh上的包转换为es格式的cdn服务\n以下的用法都可用，在导入的后面你还可以增加路径以导入某个特定的文件。\n```ts\nimport ... from \"https://esm.sh/npm的包名\";\nimport ... from \"https://esm.sh/npm的包名(@版本号)\";// https://esm.sh/PKG@SEMVER[/PATH]\nimport ... from \"https://esm.sh/gh/OWNER/REPO[@TAG]/PATH\"// github的也可以\nimport ... from \"https://esm.sh/jsr/OWNER/REPO[@TAG]/PATH\"// jsr.io的也可以\n```\n比如说我想用JSON5来解析有注释的JSON文件\n```ts\nimport JSON5 from \"https://esm.sh/json5\";\nimport JSON5 from \"npm:json5\";// 也可以\nconst json=JSON5.parse(`{\n    \"foo\":\"bar\"// 注释在这里\n}`);\n```\n目前这个操作还可能存在不稳定。\n\n#### 为什么编辑器提示红色了？\n因为TypeScript语言支持并不支持网络导入，但是ArenaLess修改了打包器的逻辑实现了此功能。如果你看不惯这个红色提示的的话，在这行之上加一行`// @ts-ignore`即可。\n- 现在还可以安装Deno插件，这样就不会报红了\n```typescript\n// @ts-ignore\nimport JSON5 from \"https://esm.sh/json5\";\n```\n\n### 网络导入/前缀导入没法兼容ArenaPro怎么办？！\n细心的用户可以发现，根目录下有一个`importMap.arenaless.json`，这是用来指定ArenaLess专属导入库的别名的。\n通过它我们就可以实现兼容。\n```json\n{\n    \"imports\":{\n        \"包名\":\"导入的地址/带前缀符号的包\",\n        \"json5\":\"npm:json5\"\n    }\n}\n```\n```typescript\n// 例子\nimport JSON5 from \"json5\";// 由于你上面制定了了json5的别名，所以可以直接用json5\n// 你在桌面环境用npm install json5 --save 安装json5，然后你会发现代码在ArenaPro中也能运行了。\n```\n这样指定以后arenaless中就可以直接写`import ... from \"包名\"`了，你可以更改一下`package.json`，用`npm install xxx`安装相应的包。\n\n## 前缀列表\n1. `npm:xxx` -\u003e `https://esm.sh/xxx`\n2. `jsr:xxx` -\u003e `https://esm.sh/jsr/xxx`\n\n## 其他说明\n1. ArenaLess并非官方出品\n2. ArenaLess的API请求会经过ArenaLess-Server服务器进行中转(原API在web存在cors跨域问题，只好使用中转)。\n    ArenaLess-Server是一个神岛API的简单封装，由岛研所托管。我们不会收集用户数据，仅包含API封装。\n### 鸣谢\n- 感谢@冷鱼闲风大佬的指点。\n- 感谢@NaHCO3-code（小苏打）绘制的logo\n- 感谢原ArenaPro项目。\n- 感谢神岛实验室。\n- 感谢神奇代码岛。\n- 感谢岛研所。\n\n### 以下项目对本项目的实现有很大帮助\n- @rollup/browser及其virtual,alias插件。这是本插件打包器的实现。\n- esbuild-wasm 用于压缩js代码(已改用terser)\n- terser 用于压缩js代码\n- pako 用来解压缩gzip (模板是gzip压缩过的)\n- esm.sh AL使用它来获取npm,jsr,gh模块。\n- hono API中转服务器","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbox3trc%2Farenaless","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbox3trc%2Farenaless","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbox3trc%2Farenaless/lists"}