Compare commits
No commits in common. "9ab9ca96398094b3ee7604c21fc28a2d14970500" and "c72ab0cd3c504003c96e1cc8fcda2f545f5ac5b7" have entirely different histories.
9ab9ca9639
...
c72ab0cd3c
133
.gitignore
vendored
133
.gitignore
vendored
@ -1,133 +0,0 @@
|
|||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
lerna-debug.log*
|
|
||||||
.pnpm-debug.log*
|
|
||||||
|
|
||||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
|
||||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
|
||||||
|
|
||||||
# Runtime data
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
*.pid.lock
|
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
||||||
lib-cov
|
|
||||||
|
|
||||||
# Coverage directory used by tools like istanbul
|
|
||||||
coverage
|
|
||||||
*.lcov
|
|
||||||
|
|
||||||
# nyc test coverage
|
|
||||||
.nyc_output
|
|
||||||
|
|
||||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
|
||||||
.grunt
|
|
||||||
|
|
||||||
# Bower dependency directory (https://bower.io/)
|
|
||||||
bower_components
|
|
||||||
|
|
||||||
# node-waf configuration
|
|
||||||
.lock-wscript
|
|
||||||
|
|
||||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
|
||||||
build/Release
|
|
||||||
|
|
||||||
# Dependency directories
|
|
||||||
node_modules/
|
|
||||||
jspm_packages/
|
|
||||||
|
|
||||||
# Snowpack dependency directory (https://snowpack.dev/)
|
|
||||||
web_modules/
|
|
||||||
|
|
||||||
# TypeScript cache
|
|
||||||
*.tsbuildinfo
|
|
||||||
|
|
||||||
# Optional npm cache directory
|
|
||||||
.npm
|
|
||||||
|
|
||||||
# Optional eslint cache
|
|
||||||
.eslintcache
|
|
||||||
|
|
||||||
# Optional stylelint cache
|
|
||||||
.stylelintcache
|
|
||||||
|
|
||||||
# Microbundle cache
|
|
||||||
.rpt2_cache/
|
|
||||||
.rts2_cache_cjs/
|
|
||||||
.rts2_cache_es/
|
|
||||||
.rts2_cache_umd/
|
|
||||||
|
|
||||||
# Optional REPL history
|
|
||||||
.node_repl_history
|
|
||||||
|
|
||||||
# Output of 'npm pack'
|
|
||||||
*.tgz
|
|
||||||
|
|
||||||
# Yarn Integrity file
|
|
||||||
.yarn-integrity
|
|
||||||
|
|
||||||
# dotenv environment variable files
|
|
||||||
.env
|
|
||||||
.env.development.local
|
|
||||||
.env.test.local
|
|
||||||
.env.production.local
|
|
||||||
.env.local
|
|
||||||
|
|
||||||
# parcel-bundler cache (https://parceljs.org/)
|
|
||||||
.cache
|
|
||||||
.parcel-cache
|
|
||||||
|
|
||||||
# Next.js build output
|
|
||||||
.next
|
|
||||||
out
|
|
||||||
|
|
||||||
# Nuxt.js build / generate output
|
|
||||||
.nuxt
|
|
||||||
dist
|
|
||||||
|
|
||||||
# Gatsby files
|
|
||||||
.cache/
|
|
||||||
# Comment in the public line in if your project uses Gatsby and not Next.js
|
|
||||||
# https://nextjs.org/blog/next-9-1#public-directory-support
|
|
||||||
# public
|
|
||||||
|
|
||||||
# vuepress build output
|
|
||||||
.vuepress/dist
|
|
||||||
|
|
||||||
# vuepress v2.x temp and cache directory
|
|
||||||
.temp
|
|
||||||
.cache
|
|
||||||
|
|
||||||
# Docusaurus cache and generated files
|
|
||||||
.docusaurus
|
|
||||||
|
|
||||||
# Serverless directories
|
|
||||||
.serverless/
|
|
||||||
|
|
||||||
# FuseBox cache
|
|
||||||
.fusebox/
|
|
||||||
|
|
||||||
# DynamoDB Local files
|
|
||||||
.dynamodb/
|
|
||||||
|
|
||||||
# TernJS port file
|
|
||||||
.tern-port
|
|
||||||
|
|
||||||
# Stores VSCode versions used for testing VSCode extensions
|
|
||||||
.vscode-test
|
|
||||||
|
|
||||||
# yarn v2
|
|
||||||
.yarn/cache
|
|
||||||
.yarn/unplugged
|
|
||||||
.yarn/build-state.yml
|
|
||||||
.yarn/install-state.gz
|
|
||||||
.pnp.*
|
|
||||||
|
|
||||||
# Netscript Type Definitions. These are pulled from the game
|
|
||||||
NetscriptDefinitions.d.ts
|
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "typescript-template"]
|
||||||
|
path = typescript-template
|
||||||
|
url = https://github.com/bitburner-official/typescript-template
|
21
LICENSE
21
LICENSE
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2023 Nils Ramstoeck
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
27
README.md
27
README.md
@ -1,27 +0,0 @@
|
|||||||
# bb-external-editor
|
|
||||||
|
|
||||||
This is a template for using any external editor for Bitburner. This Template supports JSX, TS and TSX out of the box.
|
|
||||||
|
|
||||||
## How to use
|
|
||||||
|
|
||||||
1. If you dont already have it installed, install [NodeJS](https://nodejs.org)
|
|
||||||
1. Clone this repository
|
|
||||||
1. navigate to the template (`cd path/to/the/template`) inside your console
|
|
||||||
1. run `npm install` in your console to install all dependencies
|
|
||||||
1. run `npm start` in your console to start the RemoteAPI server
|
|
||||||
1. open Bitburner and navigate to the settings
|
|
||||||
1. open the tab labeled 'Remote API' and enter the port '12525'
|
|
||||||
1. press connect
|
|
||||||
|
|
||||||
Now any changes made to scripts inside the server folders will automatically be uploaded to Bitburner.
|
|
||||||
|
|
||||||
## Using React
|
|
||||||
|
|
||||||
The React and ReactDOM instance from the game can simply be imported as ESModules
|
|
||||||
|
|
||||||
```js
|
|
||||||
import React from 'react' //and
|
|
||||||
import ReactDOM from 'react-dom'
|
|
||||||
```
|
|
||||||
|
|
||||||
For more in-depth details have a look at the [plugin](https://github.com/NilsRamstoeck/esbuild-bitburner-plugin) powering this template!
|
|
26
build.mjs
26
build.mjs
@ -1,26 +0,0 @@
|
|||||||
import { context } from 'esbuild';
|
|
||||||
import { BitburnerPlugin } from 'esbuild-bitburner-plugin';
|
|
||||||
|
|
||||||
const createContext = async () => await context({
|
|
||||||
entryPoints: [
|
|
||||||
'servers/**/*.js',
|
|
||||||
'servers/**/*.jsx',
|
|
||||||
'servers/**/*.ts',
|
|
||||||
'servers/**/*.tsx',
|
|
||||||
],
|
|
||||||
outbase: "./servers",
|
|
||||||
outdir: "./dist",
|
|
||||||
plugins: [
|
|
||||||
BitburnerPlugin({
|
|
||||||
port: 12525,
|
|
||||||
types: 'NetscriptDefinitions.d.ts'
|
|
||||||
})
|
|
||||||
],
|
|
||||||
bundle: true,
|
|
||||||
format: 'esm',
|
|
||||||
platform: 'browser',
|
|
||||||
logLevel: 'info'
|
|
||||||
});
|
|
||||||
|
|
||||||
let ctx = await createContext();
|
|
||||||
ctx.watch();
|
|
BIN
package-lock.json
generated
BIN
package-lock.json
generated
Binary file not shown.
26
package.json
26
package.json
@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "bb-external-editor",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "template for external editors for the game bitburner",
|
|
||||||
"main": "index.js",
|
|
||||||
"scripts": {
|
|
||||||
"start": "node ./build.mjs"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/NilsRamstoeck/bb-external-editor.git"
|
|
||||||
},
|
|
||||||
"author": "Nils Ramstöck",
|
|
||||||
"license": "MIT",
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/NilsRamstoeck/bb-external-editor/issues"
|
|
||||||
},
|
|
||||||
"homepage": "https://github.com/NilsRamstoeck/bb-external-editor#readme",
|
|
||||||
"dependencies": {
|
|
||||||
"@types/react": "^18.2.25",
|
|
||||||
"@types/react-dom": "^18.2.10",
|
|
||||||
"esbuild": "^0.19.4",
|
|
||||||
"esbuild-bitburner-plugin": "^1.0.1",
|
|
||||||
"glob": "^10.3.10"
|
|
||||||
}
|
|
||||||
}
|
|
38
setup.ps1
Normal file
38
setup.ps1
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]'Administrator'))
|
||||||
|
{
|
||||||
|
$CommandLine = "-c cd '$pwd'; & `"" + $MyInvocation.MyCommand.Path + "`""
|
||||||
|
Start-Process powershell -Verb runas -ArgumentList $CommandLine
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
# Folder handle for the submodule src folder
|
||||||
|
$srcFolder = "typescript-template\src\"
|
||||||
|
|
||||||
|
# Init git submodules
|
||||||
|
git submodule update --init --recursive
|
||||||
|
# Check if submodule src folder exists
|
||||||
|
if (!(Test-Path $srcFolder))
|
||||||
|
{
|
||||||
|
Write-Host "No submodule src folder found"
|
||||||
|
# Make a link from the src folder to the submodule src folder
|
||||||
|
New-Item -ItemType SymbolicLink -Path $srcFolder -Target src
|
||||||
|
}
|
||||||
|
elseif ((Get-Item $srcFolder).Attributes -match 'ReparsePoint')
|
||||||
|
{
|
||||||
|
Write-Host "Submodule src folder is a soft link"
|
||||||
|
# Remove the soft link
|
||||||
|
Remove-Item $srcFolder -Recurse
|
||||||
|
|
||||||
|
# Make a link from the src folder to the submodule src folder
|
||||||
|
New-Item -ItemType SymbolicLink -Path $srcFolder -Target src
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Write-Host "Submodule src folder is newly created"
|
||||||
|
# Remove the src folder
|
||||||
|
Remove-Item $srcFolder -Recurse
|
||||||
|
|
||||||
|
# Make a link from the src folder to the submodule src folder
|
||||||
|
New-Item -ItemType SymbolicLink -Path $srcFolder -Target src
|
||||||
|
}
|
||||||
|
# Add Read-Host to see the output
|
10
src/lib/react.ts
Normal file
10
src/lib/react.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import ReactNamespace from 'react/index';
|
||||||
|
import ReactDomNamespace from 'react-dom';
|
||||||
|
|
||||||
|
const React = window.React as typeof ReactNamespace;
|
||||||
|
const ReactDOM = window.ReactDOM as typeof ReactDomNamespace;
|
||||||
|
|
||||||
|
export default React;
|
||||||
|
export {
|
||||||
|
ReactDOM
|
||||||
|
}
|
@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"target": "esnext",
|
|
||||||
"useDefineForClassFields": true,
|
|
||||||
"module": "ESNext",
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"esModuleInterop": true,
|
|
||||||
"lib": [
|
|
||||||
"esnext",
|
|
||||||
"dom",
|
|
||||||
"dom.iterable"
|
|
||||||
],
|
|
||||||
"baseUrl": "./",
|
|
||||||
"jsx": "react",
|
|
||||||
"paths": {
|
|
||||||
"@/*": [
|
|
||||||
"src/*"
|
|
||||||
],
|
|
||||||
"NetscriptDefinitions" : ["NetscriptDefinitions.d.ts"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"include": [
|
|
||||||
"servers/**/*.ts*"
|
|
||||||
]
|
|
||||||
}
|
|
1
typescript-template
Submodule
1
typescript-template
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 4136ab7107b75cf381acb21d1da7aa9e5e5b80fa
|
Loading…
Reference in New Issue
Block a user