Skip to content

Commit

Permalink
core: add more node types
Browse files Browse the repository at this point in the history
  • Loading branch information
koush committed Mar 12, 2024
1 parent ebf7063 commit 5bad168
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 75 deletions.
25 changes: 16 additions & 9 deletions common/src/eval/scrypted-eval.ts
Original file line number Diff line number Diff line change
Expand Up @@ -109,11 +109,16 @@ export async function scryptedEval(device: ScryptedDeviceBase, script: string, e
}

export function createMonacoEvalDefaults(extraLibs: { [lib: string]: string }) {
const bufferTypeDefs= readFileAsString('@types/node/buffer.d.ts');

const safeLibs = {
bufferTypeDefs,
};
const safeLibs: any = {};

for (const safeLib of [
'@types/node/globals.d.ts',
'@types/node/buffer.d.ts',
'@types/node/fs.d.ts',
'@types/node/net.d.ts',
]) {
safeLibs[`node_modules/${safeLib}`] = readFileAsString(safeLib)
}

const libs = Object.assign(getTypeDefs(), extraLibs);

Expand Down Expand Up @@ -169,10 +174,12 @@ export function createMonacoEvalDefaults(extraLibs: { [lib: string]: string }) {
"node_modules/@types/scrypted__sdk/index.d.ts"
);

monaco.languages.typescript.typescriptDefaults.addExtraLib(
safeLibs.bufferTypeDefs,
"node_modules/@types/node/buffer.d.ts"
);
for (const lib of Object.keys(safeLibs)) {
monaco.languages.typescript.typescriptDefaults.addExtraLib(
safeLibs[lib],
lib,
);
}
}

return `(function() {
Expand Down
65 changes: 32 additions & 33 deletions plugins/core/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions plugins/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@scrypted/core",
"version": "0.3.8",
"version": "0.3.9",
"description": "Scrypted Core plugin. Provides the UI, websocket, and engine.io APIs.",
"author": "Scrypted",
"license": "Apache-2.0",
Expand Down Expand Up @@ -38,16 +38,16 @@
]
},
"dependencies": {
"@homebridge/node-pty-prebuilt-multiarch": "^0.11.12",
"@homebridge/node-pty-prebuilt-multiarch": "^0.11.13",
"@scrypted/common": "file:../../common",
"@scrypted/sdk": "file:../../sdk",
"mime": "^3.0.0",
"node-pty-prebuilt-multiarch": "^0.10.1-pre.5",
"router": "^1.3.8",
"typescript": "^5.2.2"
"typescript": "^5.4.2"
},
"devDependencies": {
"@types/mime": "^3.0.4",
"@types/node": "^20.9.2"
"@types/node": "^20.11.26"
}
}
29 changes: 0 additions & 29 deletions plugins/core/ui/src/interfaces/automation/Scriptable.vue
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,6 @@

<script>
import RPCInterface from "../RPCInterface.vue";
import types from "!!raw-loader!@scrypted/types/dist/index.d.ts";
import sdk from "!!raw-loader!@scrypted/sdk/dist/src/index.d.ts";
import * as monaco from "monaco-editor";
function monacoEvalDefaults() {
Expand All @@ -63,33 +61,6 @@ function monacoEvalDefaults() {
}
)
);
monaco.languages.typescript.typescriptDefaults.addExtraLib(
`${types}
${sdk}
declare global {
${types.replace("export interface", "interface")}
const log: Logger;
const deviceManager: DeviceManager;
const endpointManager: EndpointManager;
const mediaManager: MediaManager;
const systemManager: SystemManager;
const eventSource: any;
const eventDetails: EventDetails;
const eventData: any;
}
`,
"node_modules/@types/scrypted__sdk/types.d.ts"
);
monaco.languages.typescript.typescriptDefaults.addExtraLib(
sdk,
"node_modules/@types/scrypted__sdk/index.d.ts"
);
}
export default {
Expand Down

0 comments on commit 5bad168

Please sign in to comment.