UNPKG

intelligen

Version:

Generate VS Code intellisense from Service Now Instance data

73 lines (65 loc) 2.33 kB
import { Console } from "console"; import fs, { mkdir } from 'fs'; import path from "path"; import directory from "./data.cjs"; const settings = { "compilerOptions": { "target": "ES6", "allowJs": true, "outDir": "build" } } const dir = directory + '\\..\\..\\..\\' const settingsFile = fs.createWriteStream(dir + '\\tsconfig.json') const readmeFile = fs.readFileSync(directory + '\\help\\rd.txt','utf-8'); const readmeFileWriter = fs.createWriteStream(dir + '\\README.md'); const intelligenPlg = fs.readFileSync(directory + '\\help\\intelligen.txt','utf-8'); const intelligenPlgWriter = fs.createWriteStream(dir + '\\intelligen.xml'); const intelligenCons = new Console(intelligenPlgWriter); intelligenCons.log(intelligenPlg); const configWriter = new Console(settingsFile); configWriter.log(JSON.stringify(settings)); const readMeCons = new Console(readmeFileWriter); readMeCons.log(readmeFile); fs.mkdir(path.join(dir, '.vscode'), {recursive: true}, () => cb()); const updSettings = { "files.exclude": { "autocomplete":true, ".vscode": true, "*/system": true, "node_modules": true, "system": true, "tsconfig.json": true, "lib": true }, "search.exclude": { "**/node_modules": false, "*/system": true, "lib":true } } const vcodeDir = dir + '\\.vscode\\settings.json' const cb = () => { try { const vCodeSett = fs.readFileSync(vcodeDir,'utf-8'); let orgData = {}; if(vCodeSett) { orgData = JSON.parse(vCodeSett); }; orgData['search.exclude'] = { ...orgData["search.exclude"], ...updSettings["search.exclude"] }; orgData['files.exclude'] = { ...orgData["files.exclude"], ...updSettings['files.exclude'] }; const newSettingsWrite = fs.createWriteStream(vcodeDir, 'utf-8'); const newConsole = new Console(newSettingsWrite); newConsole.log(JSON.stringify(orgData)) } catch (err) { const newSettingsWrite = fs.createWriteStream(vcodeDir, 'utf-8'); const newConsole = new Console(newSettingsWrite); newConsole.log(JSON.stringify(updSettings)); } }