# 1.3.13
- Fixes: - `cli/runNopeBackend`: Fixing parameter `preventVarifiedNames` no works correctly. # 1.3.14 - Fixes: - `helpers/ui/helpers.nodejs`: Adding the option `upload-ui` - `helpers/ui/helpers.nodejs`: Adding the option `upload-ui` # 1.4.0 - Modified: - asyncified all ui-related services. - Adapted ui-defintion of functions: - `autoGenBySchema` Helper to enable auto generating a configuration - `requiresProviderForRendering` Flag to indicate, that rendering the service configuration requires a provider itself. This for instance is the case, if some needs to be called. - `types/ui/editor/IServiceEditPage.ts`: Asnycify the Calls - `types/ui/editor/render.callbacks.ts`: Asnycify the Calls # 1.4.1 - Modified: - loading all files related to `*.functions.js` - Adapted the following files to implement that behavior: - `getCentralDecoratedContainer` in `lib\decorators\container.ts` -> now provides services as Map - `exportFunctionAsNopeService` in `lib\decorators\functionDecorators.ts` to work with the map. - `loadFunctions` in `lib\loader\loadPackages.ts` to match the interface of `loadPackages` and add the functions to the package-loader. - added the function `addDecoratedElements` in the package-loader and the interface.
This commit is contained in:
parent
21688fb1fe
commit
02f951aa7d
28
CHANGELOG.md
28
CHANGELOG.md
@ -232,3 +232,31 @@ Inital commit, which is working with the browser
|
|||||||
# 1.3.12
|
# 1.3.12
|
||||||
- Modified:
|
- Modified:
|
||||||
- `helpers/limit`: added the option `minDelay`. If provided, the calles are ensured to be delayed with this options. If `0` or smaller -> no delay is added.
|
- `helpers/limit`: added the option `minDelay`. If provided, the calles are ensured to be delayed with this options. If `0` or smaller -> no delay is added.
|
||||||
|
|
||||||
|
# 1.3.13
|
||||||
|
- Fixes:
|
||||||
|
- `cli/runNopeBackend`: Fixing parameter `preventVarifiedNames` no works correctly.
|
||||||
|
|
||||||
|
# 1.3.14
|
||||||
|
- Fixes:
|
||||||
|
- `helpers/ui/helpers.nodejs`: Adding the option `upload-ui`
|
||||||
|
- `helpers/ui/helpers.nodejs`: Adding the option `upload-ui`
|
||||||
|
|
||||||
|
# 1.4.0
|
||||||
|
- Modified:
|
||||||
|
- asyncified all ui-related services.
|
||||||
|
- Adapted ui-defintion of functions:
|
||||||
|
- `autoGenBySchema` Helper to enable auto generating a configuration
|
||||||
|
- `requiresProviderForRendering` Flag to indicate, that rendering the service configuration requires a provider itself. This for instance is the case, if some needs to be called.
|
||||||
|
- `types/ui/editor/IServiceEditPage.ts`: Asnycify the Calls
|
||||||
|
- `types/ui/editor/render.callbacks.ts`: Asnycify the Calls
|
||||||
|
|
||||||
|
# 1.4.1
|
||||||
|
- Modified:
|
||||||
|
- loading all files related to `*.functions.js`
|
||||||
|
- Adapted the following files to implement that behavior:
|
||||||
|
- `getCentralDecoratedContainer` in `lib\decorators\container.ts` -> now provides services as Map
|
||||||
|
- `exportFunctionAsNopeService` in `lib\decorators\functionDecorators.ts` to work with the map.
|
||||||
|
- `loadFunctions` in `lib\loader\loadPackages.ts` to match the interface of `loadPackages` and add the functions to the package-loader.
|
||||||
|
- added the function `addDecoratedElements` in the package-loader and the interface.
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
1.3.12
|
1.4.1
|
@ -4,13 +4,17 @@
|
|||||||
* @desc [description]
|
* @desc [description]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { readInwriteUiFileArgs, writeUiFile } from "../ui/helpers.nodejs";
|
import {
|
||||||
|
readInWriteUiFileArgs,
|
||||||
|
writeUiFile,
|
||||||
|
main as uploadUi,
|
||||||
|
} from "../ui/helpers.nodejs";
|
||||||
import { createService } from "./createService";
|
import { createService } from "./createService";
|
||||||
import { generateDefaultConfig } from "./generateDefaultConfig";
|
import { generateDefaultConfig } from "./generateDefaultConfig";
|
||||||
import { generateDefaultPackageConfig } from "./generateDefaultPackageConfig";
|
import { generateDefaultPackageConfig } from "./generateDefaultPackageConfig";
|
||||||
import { generateFolderStructure } from "./generateFolderStructure";
|
import { generateFolderStructure } from "./generateFolderStructure";
|
||||||
import { repl } from "./repl";
|
import { repl } from "./repl";
|
||||||
import run from "./runNopeBackend";
|
import { main as runMain } from "./runNopeBackend";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Main Function.
|
* Main Function.
|
||||||
@ -27,7 +31,8 @@ export async function main() {
|
|||||||
| "help"
|
| "help"
|
||||||
| "service"
|
| "service"
|
||||||
| "repl"
|
| "repl"
|
||||||
| "scan-ui";
|
| "scan-ui"
|
||||||
|
| "upload-ui";
|
||||||
params: string[];
|
params: string[];
|
||||||
} = {
|
} = {
|
||||||
mode: (process.argv[2] as any) || "none",
|
mode: (process.argv[2] as any) || "none",
|
||||||
@ -49,6 +54,7 @@ Please select the option you want. Therefore add one of the following options:
|
|||||||
\x1b[4minit\x1b[0m Initialize a new project. This project is empty.
|
\x1b[4minit\x1b[0m Initialize a new project. This project is empty.
|
||||||
\x1b[4mconf\x1b[0m Trys to update the configuration file.
|
\x1b[4mconf\x1b[0m Trys to update the configuration file.
|
||||||
\x1b[4mscan-ui\x1b[0m Scans and extracts the provided uis.
|
\x1b[4mscan-ui\x1b[0m Scans and extracts the provided uis.
|
||||||
|
\x1b[4mupload-ui\x1b[0m Uploads the determined ui-file
|
||||||
\x1b[4mservice\x1b[0m Generate Helper Files to provide services
|
\x1b[4mservice\x1b[0m Generate Helper Files to provide services
|
||||||
\x1b[4mrepl\x1b[0m Opens an interactive console.
|
\x1b[4mrepl\x1b[0m Opens an interactive console.
|
||||||
|
|
||||||
@ -83,7 +89,8 @@ Have fun using NoPE :)
|
|||||||
showLog();
|
showLog();
|
||||||
break;
|
break;
|
||||||
case "run":
|
case "run":
|
||||||
await run([additionalArg]);
|
additionalArg.help = "Command to run the backend";
|
||||||
|
await runMain([additionalArg]);
|
||||||
break;
|
break;
|
||||||
case "init":
|
case "init":
|
||||||
additionalArg.help = "Command to run init";
|
additionalArg.help = "Command to run init";
|
||||||
@ -105,7 +112,11 @@ Have fun using NoPE :)
|
|||||||
case "scan-ui":
|
case "scan-ui":
|
||||||
additionalArg.help =
|
additionalArg.help =
|
||||||
"Command to readin the UI-Files and store them in a config";
|
"Command to readin the UI-Files and store them in a config";
|
||||||
await writeUiFile(readInwriteUiFileArgs([additionalArg]));
|
await writeUiFile(readInWriteUiFileArgs([additionalArg]));
|
||||||
|
break;
|
||||||
|
case "upload-ui":
|
||||||
|
additionalArg.help = "to upload the determined ui-config.";
|
||||||
|
await uploadUi([additionalArg]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { start } from "repl";
|
import { start } from "repl";
|
||||||
import run from "./runNopeBackend";
|
import main from "./runNopeBackend";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Starts an interactive console with the loaded dispatcher.
|
* Starts an interactive console with the loaded dispatcher.
|
||||||
@ -20,7 +20,7 @@ export async function repl(
|
|||||||
defaultValue?: any;
|
defaultValue?: any;
|
||||||
}[] = []
|
}[] = []
|
||||||
) {
|
) {
|
||||||
const loader = await run(
|
const loader = await main(
|
||||||
additionalArguments,
|
additionalArguments,
|
||||||
{
|
{
|
||||||
// skipLoadingConfig: true
|
// skipLoadingConfig: true
|
||||||
|
@ -257,7 +257,7 @@ export async function readInArgs(
|
|||||||
args.logToFile = Array.isArray(args.logToFile);
|
args.logToFile = Array.isArray(args.logToFile);
|
||||||
args.forceUsingSelectors = Array.isArray(args.forceUsingSelectors);
|
args.forceUsingSelectors = Array.isArray(args.forceUsingSelectors);
|
||||||
args.useBaseServices = !Array.isArray(args.useBaseServices);
|
args.useBaseServices = !Array.isArray(args.useBaseServices);
|
||||||
args.preventVarifiedNames = !Array.isArray(args.preventVarifiedNames);
|
args.preventVarifiedNames = Array.isArray(args.preventVarifiedNames);
|
||||||
|
|
||||||
return Object.assign(args, forcedArgs);
|
return Object.assign(args, forcedArgs);
|
||||||
}
|
}
|
||||||
@ -403,19 +403,6 @@ export async function runNopeBackend(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If required load all Packages.
|
|
||||||
if (!args.skipLoadingConfig) {
|
|
||||||
// Try to load the Modules.
|
|
||||||
try {
|
|
||||||
logger.info("loading Functions");
|
|
||||||
await loadFunctions(args.file);
|
|
||||||
} catch (e) {
|
|
||||||
logger.error("Unable to load the Packages defined in " + args.file);
|
|
||||||
logger.error("Returning without config. ");
|
|
||||||
args.skipLoadingConfig = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let loader: INopePackageLoader;
|
let loader: INopePackageLoader;
|
||||||
try {
|
try {
|
||||||
loader = getPackageLoader(
|
loader = getPackageLoader(
|
||||||
@ -452,6 +439,14 @@ export async function runNopeBackend(
|
|||||||
await sleep(args.delay * 1000);
|
await sleep(args.delay * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If required load all Packages.
|
||||||
|
try {
|
||||||
|
logger.info("loading Functions");
|
||||||
|
await loadFunctions(loader, args.file, args.delay);
|
||||||
|
} catch (e) {
|
||||||
|
logger.error("Unable to load the Functions defined in " + args.file);
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
logger.info("loading Packages");
|
logger.info("loading Packages");
|
||||||
await loadPackages(loader, args.file, args.delay);
|
await loadPackages(loader, args.file, args.delay);
|
||||||
@ -473,7 +468,7 @@ export async function runNopeBackend(
|
|||||||
*
|
*
|
||||||
* @export
|
* @export
|
||||||
*/
|
*/
|
||||||
export async function run(
|
export async function main(
|
||||||
additionalArguments: {
|
additionalArguments: {
|
||||||
help: string;
|
help: string;
|
||||||
type: "string" | "number";
|
type: "string" | "number";
|
||||||
@ -492,9 +487,9 @@ export async function run(
|
|||||||
return await runNopeBackend(args);
|
return await runNopeBackend(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default run;
|
|
||||||
|
|
||||||
// If requested As Main => Perform the Operation.
|
// If requested As Main => Perform the Operation.
|
||||||
if (require.main === module) {
|
if (require.main === module) {
|
||||||
run();
|
main();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default main;
|
||||||
|
@ -17,7 +17,7 @@ export type IexportFunctionAsNopeServiceParameters = IFunctionOptions;
|
|||||||
* @return {NopeLogger} A Returns the Logger {@link NopeLogger}
|
* @return {NopeLogger} A Returns the Logger {@link NopeLogger}
|
||||||
*/
|
*/
|
||||||
export function getCentralDecoratedContainer(): {
|
export function getCentralDecoratedContainer(): {
|
||||||
methods: Map<
|
services: Map<
|
||||||
string,
|
string,
|
||||||
{
|
{
|
||||||
uri: string;
|
uri: string;
|
||||||
@ -29,7 +29,7 @@ export function getCentralDecoratedContainer(): {
|
|||||||
} {
|
} {
|
||||||
const container = getSingleton("nope.decorated.elements", () => {
|
const container = getSingleton("nope.decorated.elements", () => {
|
||||||
return {
|
return {
|
||||||
methods: new Map(),
|
services: new Map(),
|
||||||
classes: new Map(),
|
classes: new Map(),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
@ -28,8 +28,8 @@ export function exportFunctionAsNopeService<T>(
|
|||||||
options: IexportFunctionAsNopeServiceParameters
|
options: IexportFunctionAsNopeServiceParameters
|
||||||
) {
|
) {
|
||||||
// Only add the element if it doesnt exists.
|
// Only add the element if it doesnt exists.
|
||||||
if (!CONTAINER.methods.has(options.id)) {
|
if (!CONTAINER.services.has(options.id)) {
|
||||||
CONTAINER.methods.set(options.id, {
|
CONTAINER.services.set(options.id, {
|
||||||
callback: async (...args) => {
|
callback: async (...args) => {
|
||||||
return await (func as any)(...args);
|
return await (func as any)(...args);
|
||||||
},
|
},
|
||||||
|
@ -26,12 +26,20 @@ export function stringifyWithFunctions(obj, ...args) {
|
|||||||
// 3) (a, b) => (a + b);
|
// 3) (a, b) => (a + b);
|
||||||
// 4) (name, description) => ({name: name, description: description})
|
// 4) (name, description) => ({name: name, description: description})
|
||||||
// ....
|
// ....
|
||||||
|
const isAsync = str.startsWith("async ");
|
||||||
|
|
||||||
|
if (isAsync) {
|
||||||
|
str = str.slice("async ".length);
|
||||||
|
}
|
||||||
|
|
||||||
if (!str.startsWith("function") && !str.startsWith("(")) {
|
if (!str.startsWith("function") && !str.startsWith("(")) {
|
||||||
const name = str.slice(0, str.indexOf("=>"));
|
const name = str.slice(0, str.indexOf("=>"));
|
||||||
const func = str.slice(str.indexOf("=>(") + 3, str.length - 2);
|
const func = str.slice(str.indexOf("=>(") + 3, str.length - 2);
|
||||||
const adaptedFunc = "function(" + name + "){ return " + func + "; }";
|
str = "function(" + name + "){ return " + func + "; }";
|
||||||
str = adaptedFunc;
|
}
|
||||||
|
|
||||||
|
if (isAsync) {
|
||||||
|
return BEGIN_STR + "async " + str + END_STR;
|
||||||
}
|
}
|
||||||
|
|
||||||
return BEGIN_STR + str + END_STR;
|
return BEGIN_STR + str + END_STR;
|
||||||
@ -65,7 +73,8 @@ export function parseWithFunctions(
|
|||||||
try {
|
try {
|
||||||
return eval("(" + _value + ")").bind(scope);
|
return eval("(" + _value + ")").bind(scope);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("FAILED PARSING", value, _value);
|
console.log("Failed Parsing function", "\n" + _value);
|
||||||
|
console.error(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return value;
|
return value;
|
||||||
|
@ -9,11 +9,18 @@ import { join, resolve } from "path";
|
|||||||
import "reflect-metadata";
|
import "reflect-metadata";
|
||||||
import { sleep } from "../helpers/async";
|
import { sleep } from "../helpers/async";
|
||||||
import { createFile, listFiles } from "../helpers/fileMethods";
|
import { createFile, listFiles } from "../helpers/fileMethods";
|
||||||
import { parseWithFunctions, stringifyWithFunctions } from "../index.browser";
|
import { determineDifference } from "../helpers/setMethods";
|
||||||
|
import {
|
||||||
|
getCentralDecoratedContainer,
|
||||||
|
parseWithFunctions,
|
||||||
|
stringifyWithFunctions,
|
||||||
|
} from "../index.browser";
|
||||||
import { getNopeLogger } from "../logger/getLogger";
|
import { getNopeLogger } from "../logger/getLogger";
|
||||||
import { IPackageDescription } from "../types/nope/nopePackage.interface";
|
import { IPackageDescription } from "../types/nope/nopePackage.interface";
|
||||||
import { INopePackageLoader } from "../types/nope/nopePackageLoader.interface";
|
import { INopePackageLoader } from "../types/nope/nopePackageLoader.interface";
|
||||||
|
|
||||||
|
const logger = getNopeLogger("helper-load-packages");
|
||||||
|
|
||||||
export interface IPackageConfig extends Partial<IPackageDescription<any>> {
|
export interface IPackageConfig extends Partial<IPackageDescription<any>> {
|
||||||
// File Path of the element.
|
// File Path of the element.
|
||||||
path: string;
|
path: string;
|
||||||
@ -46,16 +53,16 @@ export async function listPackages(dir = "./modules") {
|
|||||||
for (const fileName of await listFiles(dir, ".package.js")) {
|
for (const fileName of await listFiles(dir, ".package.js")) {
|
||||||
// Now Try to load a Package, to test whether is is an assembly.
|
// Now Try to load a Package, to test whether is is an assembly.
|
||||||
try {
|
try {
|
||||||
|
logger.info("found ", fileName);
|
||||||
|
|
||||||
ret.push({
|
ret.push({
|
||||||
package: (await import(resolve(fileName)))
|
package: (await import(resolve(fileName)))
|
||||||
.DESCRIPTION as IPackageDescription<any>,
|
.DESCRIPTION as IPackageDescription<any>,
|
||||||
path: fileName,
|
path: fileName,
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
getNopeLogger("helper-list-packages").error(
|
logger.error("Failed Loading the Package " + fileName);
|
||||||
"Failed Loading the Package " + fileName
|
logger.error(e);
|
||||||
);
|
|
||||||
getNopeLogger("helper-list-packages").error(e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,15 +81,15 @@ export async function listFunctions(dir = "./modules") {
|
|||||||
for (const fileName of await listFiles(dir, ".functions.js")) {
|
for (const fileName of await listFiles(dir, ".functions.js")) {
|
||||||
// Now Try to load a Package, to test whether is is an assembly.
|
// Now Try to load a Package, to test whether is is an assembly.
|
||||||
try {
|
try {
|
||||||
|
logger.info("found ", fileName);
|
||||||
|
|
||||||
ret.push({
|
ret.push({
|
||||||
content: (await import(resolve(fileName))).DESCRIPTION,
|
content: (await import(resolve(fileName))).DESCRIPTION,
|
||||||
path: fileName,
|
path: fileName,
|
||||||
});
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
getNopeLogger("helper-list-functions").error(
|
logger.error("Failed Loading the functions in file: " + fileName);
|
||||||
"Failed Loading the functions in file: " + fileName
|
logger.error(e);
|
||||||
);
|
|
||||||
getNopeLogger("helper-list-functions").error(e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -154,7 +161,7 @@ export async function loadPackages(
|
|||||||
await writeDefaultConfig(filename);
|
await writeDefaultConfig(filename);
|
||||||
|
|
||||||
// Show an Hint
|
// Show an Hint
|
||||||
getNopeLogger("helper-load-packages").warn(
|
logger.warn(
|
||||||
"No configuration was present. Created a new config file in " + filename
|
"No configuration was present. Created a new config file in " + filename
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -180,10 +187,8 @@ export async function loadPackages(
|
|||||||
loadedPackage.defaultInstances = item.defaultInstances;
|
loadedPackage.defaultInstances = item.defaultInstances;
|
||||||
packages.push(loadedPackage);
|
packages.push(loadedPackage);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
getNopeLogger("helper-load-packages").error(
|
logger.error("Failed Loading the Package " + item.nameOfPackage);
|
||||||
"Failed Loading the Package " + item.nameOfPackage
|
logger.error(e);
|
||||||
);
|
|
||||||
getNopeLogger("helper-load-packages").error(e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -194,7 +199,7 @@ export async function loadPackages(
|
|||||||
try {
|
try {
|
||||||
await loader.addPackage(thePackageToLoad);
|
await loader.addPackage(thePackageToLoad);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
getNopeLogger("helper-load-packages").error(
|
logger.error(
|
||||||
'Failed Add the Package "' +
|
'Failed Add the Package "' +
|
||||||
thePackageToLoad.nameOfPackage +
|
thePackageToLoad.nameOfPackage +
|
||||||
'" to the PackageLoader',
|
'" to the PackageLoader',
|
||||||
@ -204,9 +209,7 @@ export async function loadPackages(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (delay > 0) {
|
if (delay > 0) {
|
||||||
getNopeLogger("helper-load-packages").info(
|
logger.info(`Waiting ${delay} [s] before creating instances.`);
|
||||||
`Waiting ${delay} [s] before creating instances.`
|
|
||||||
);
|
|
||||||
await sleep(delay * 1000);
|
await sleep(delay * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -223,7 +226,9 @@ export async function loadPackages(
|
|||||||
* @return {*}
|
* @return {*}
|
||||||
*/
|
*/
|
||||||
export async function loadFunctions(
|
export async function loadFunctions(
|
||||||
filename: string = join(resolve(process.cwd()), "config", "assembly.json")
|
loader: INopePackageLoader,
|
||||||
|
filename: string = join(resolve(process.cwd()), "config", "settings.json"),
|
||||||
|
delay = 2
|
||||||
) {
|
) {
|
||||||
let data: IConfigFile = {
|
let data: IConfigFile = {
|
||||||
functions: [],
|
functions: [],
|
||||||
@ -238,7 +243,7 @@ export async function loadFunctions(
|
|||||||
await writeDefaultConfig(filename);
|
await writeDefaultConfig(filename);
|
||||||
|
|
||||||
// Show an Hint
|
// Show an Hint
|
||||||
getNopeLogger("helper-load-packages").warn(
|
logger.warn(
|
||||||
"No configuration was present. Created a new config file in " + filename
|
"No configuration was present. Created a new config file in " + filename
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -251,23 +256,46 @@ export async function loadFunctions(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Define the Return Array.
|
// Define the Return Array.
|
||||||
const functionPackages = new Array<any>();
|
const successfull = new Array<any>();
|
||||||
|
|
||||||
|
// Get the container containing all registered Services and Classes.
|
||||||
|
const CONTAINER = getCentralDecoratedContainer();
|
||||||
|
|
||||||
// Scan for the Package-Files
|
// Scan for the Package-Files
|
||||||
// And iterate over them.
|
// And iterate over them.
|
||||||
for (const item of data.functions) {
|
for (const item of data.functions) {
|
||||||
// Now Try to load a Package, to test whether is is an assembly.
|
// Now Try to load a Package, to test whether is is an assembly.
|
||||||
try {
|
try {
|
||||||
const loadedFunction = (await import(resolve(item.path)))
|
// Load the Function:
|
||||||
.DESCRIPTION as IPackageDescription<any>;
|
const before = new Set<string>(CONTAINER.services.keys());
|
||||||
functionPackages.push(loadedFunction);
|
await import(resolve(item.path));
|
||||||
|
const after = new Set<string>(CONTAINER.services.keys());
|
||||||
|
|
||||||
|
const diff = determineDifference(before, after);
|
||||||
|
if (diff.added.size > 0) {
|
||||||
|
logger.info(
|
||||||
|
"loaded services of file",
|
||||||
|
'"' + item.path + '"',
|
||||||
|
"found:" + JSON.stringify(Array.from(diff.added), undefined, 4)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mark the file as sucessfully loaded.
|
||||||
|
successfull.push(item.path);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
getNopeLogger("helper-load-packages").error(
|
logger.error("Failed Loading function-file at " + item.path);
|
||||||
"Failed Loading function-file at " + item.path
|
logger.error(e);
|
||||||
);
|
|
||||||
getNopeLogger("helper-load-packages").error(e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return functionPackages;
|
await loader.addDecoratedElements({
|
||||||
|
consider: ["services"],
|
||||||
|
});
|
||||||
|
|
||||||
|
if (delay > 0) {
|
||||||
|
logger.info(`Waiting ${delay} [s] before creating instances.`);
|
||||||
|
await sleep(delay * 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
return successfull;
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { Container, injectable, interfaces } from "inversify";
|
import { Container, injectable, interfaces } from "inversify";
|
||||||
import { flatten } from "lodash";
|
import { flatten, isArguments } from "lodash";
|
||||||
import "reflect-metadata";
|
import "reflect-metadata";
|
||||||
|
import {
|
||||||
|
getCentralDecoratedContainer,
|
||||||
|
IexportFunctionAsNopeServiceParameters,
|
||||||
|
} from "../decorators";
|
||||||
import { arraysEqual } from "../helpers/arrayMethods";
|
import { arraysEqual } from "../helpers/arrayMethods";
|
||||||
import { sleep } from "../helpers/async";
|
import { sleep } from "../helpers/async";
|
||||||
import { RUNNINGINNODE } from "../helpers/runtimeMethods";
|
import { RUNNINGINNODE } from "../helpers/runtimeMethods";
|
||||||
@ -701,6 +705,82 @@ export class NopePackageLoader implements INopePackageLoader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function to load all decorated elements with the decorators `exportFunctionAsNopeService`
|
||||||
|
*
|
||||||
|
* @param options
|
||||||
|
*/
|
||||||
|
async addDecoratedElements(
|
||||||
|
options: {
|
||||||
|
addServiceCallback?: (
|
||||||
|
options: IexportFunctionAsNopeServiceParameters
|
||||||
|
) => Promise<boolean>;
|
||||||
|
addClassCallback?: (options: INopeModule) => Promise<boolean>;
|
||||||
|
consider?: Array<"services" | "classes">;
|
||||||
|
} = {
|
||||||
|
consider: ["services"],
|
||||||
|
}
|
||||||
|
): Promise<void> {
|
||||||
|
const _this = this;
|
||||||
|
|
||||||
|
// Get the container containing all registered Services and Classes.
|
||||||
|
const CONTAINER = getCentralDecoratedContainer();
|
||||||
|
|
||||||
|
// Helper to list the Promises.
|
||||||
|
const promises = new Array<Promise<any>>();
|
||||||
|
|
||||||
|
if (!Array.isArray(options.consider)) {
|
||||||
|
options.consider = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof options.addServiceCallback === "function") {
|
||||||
|
options.consider.push("services");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof options.addClassCallback === "function") {
|
||||||
|
options.consider.push("classes");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (options.consider.includes("services")) {
|
||||||
|
for (const serviceDefintion of CONTAINER.services.values()) {
|
||||||
|
if (typeof options.addServiceCallback === "function") {
|
||||||
|
let resolve = null;
|
||||||
|
// Create a Promise, that will be completed, if
|
||||||
|
// the function is been added
|
||||||
|
const promise = new Promise((_resolve) => (resolve = _resolve));
|
||||||
|
promises.push(promise);
|
||||||
|
|
||||||
|
// Now we call the function to decide whether the
|
||||||
|
// service should be added or not.
|
||||||
|
options
|
||||||
|
.addServiceCallback(serviceDefintion.options)
|
||||||
|
.then((decision) => {
|
||||||
|
if (decision) {
|
||||||
|
this.dispatcher.rpcManager.registerService(
|
||||||
|
serviceDefintion.callback,
|
||||||
|
serviceDefintion.options
|
||||||
|
);
|
||||||
|
}
|
||||||
|
resolve(null);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// Just add the Service.
|
||||||
|
this.dispatcher.rpcManager.registerService(
|
||||||
|
serviceDefintion.callback,
|
||||||
|
serviceDefintion.options
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// for (const classDefinition of CONTAINER.classes.values()){
|
||||||
|
// this.dispatcher.rpcManager.registerService(classDefinition.,classDefinition.options)
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Wait for all Promises to be added.
|
||||||
|
await Promise.all(promises);
|
||||||
|
}
|
||||||
|
|
||||||
protected _disposeDefaultInstance: Array<() => Promise<void>> = [];
|
protected _disposeDefaultInstance: Array<() => Promise<void>> = [];
|
||||||
|
|
||||||
async dispose(): Promise<void> {
|
async dispose(): Promise<void> {
|
||||||
|
@ -372,6 +372,7 @@ export interface ICallOptions {
|
|||||||
/**
|
/**
|
||||||
* A User Provided Timeout of the call. After the timeout has been
|
* A User Provided Timeout of the call. After the timeout has been
|
||||||
* ellapsed, the task is cancelled with a timeout error.
|
* ellapsed, the task is cancelled with a timeout error.
|
||||||
|
* The Time is given in **ms**
|
||||||
*
|
*
|
||||||
* @type {number}
|
* @type {number}
|
||||||
*/
|
*/
|
||||||
|
@ -298,7 +298,23 @@ export interface IFunctionOptions<T = any> extends Partial<ICallOptions> {
|
|||||||
* The ui definition of the service.
|
* The ui definition of the service.
|
||||||
*/
|
*/
|
||||||
ui?: {
|
ui?: {
|
||||||
|
/**
|
||||||
|
* Custom function to render the service in the editor
|
||||||
|
*/
|
||||||
serviceConfiguration?: TRenderConfigureServicePage<T>;
|
serviceConfiguration?: TRenderConfigureServicePage<T>;
|
||||||
|
/**
|
||||||
|
* Helper to enable auto generating a configuration
|
||||||
|
*/
|
||||||
|
autoGenBySchema?: true;
|
||||||
|
/**
|
||||||
|
* Flag to indicate, that rendering the service configuration requires
|
||||||
|
* a provider itself. This for instance is the case, if some functions
|
||||||
|
* needs to be called.
|
||||||
|
*/
|
||||||
|
requiredProvidersForRendering?: string[];
|
||||||
|
/**
|
||||||
|
* Helper to generate the Pors based on the provided node data.
|
||||||
|
*/
|
||||||
getPorts?: TGetPorts<T>;
|
getPorts?: TGetPorts<T>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import { Container } from "inversify";
|
import { Container } from "inversify";
|
||||||
|
import { IexportFunctionAsNopeServiceParameters } from "../../decorators";
|
||||||
import { INopeDispatcher } from "./nopeDispatcher.interface";
|
import { INopeDispatcher } from "./nopeDispatcher.interface";
|
||||||
|
import { INopeModule } from "./nopeModule.interface";
|
||||||
import {
|
import {
|
||||||
IClassDescriptor,
|
IClassDescriptor,
|
||||||
INopeActivationHanlder,
|
INopeActivationHanlder,
|
||||||
@ -75,4 +77,16 @@ export interface INopePackageLoader {
|
|||||||
* @memberof INopePackageLoader
|
* @memberof INopePackageLoader
|
||||||
*/
|
*/
|
||||||
generateInstances(testRequirements?: boolean): Promise<void>;
|
generateInstances(testRequirements?: boolean): Promise<void>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper to add the decorated Elements.
|
||||||
|
* @param options
|
||||||
|
*/
|
||||||
|
addDecoratedElements(options?: {
|
||||||
|
addServiceCallback?: (
|
||||||
|
options: IexportFunctionAsNopeServiceParameters
|
||||||
|
) => Promise<boolean>;
|
||||||
|
addClassCallback?: (options: INopeModule) => Promise<boolean>;
|
||||||
|
consider?: Array<"services" | "classes">;
|
||||||
|
}): Promise<void>;
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,9 @@
|
|||||||
* @email m.karkowski@zema.de
|
* @email m.karkowski@zema.de
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import { IRenderData } from "../helpers.interface";
|
||||||
import { TRenderFunctionResult } from "../layout.interface";
|
import { TRenderFunctionResult } from "../layout.interface";
|
||||||
|
import { PN } from "./INodes";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Type to define the Ports of a UI:
|
* Type to define the Ports of a UI:
|
||||||
@ -19,27 +21,34 @@ export type TServiceGetPortsReturn = {
|
|||||||
}[];
|
}[];
|
||||||
};
|
};
|
||||||
|
|
||||||
export type TGetPorts<T = any> = (data?: T) => TServiceGetPortsReturn;
|
/**
|
||||||
|
* Function, used to define the Ports of a service.
|
||||||
|
*/
|
||||||
|
export type TGetPorts<T extends PN, Extension = {}> = (
|
||||||
|
options?: IRenderData & {
|
||||||
|
input: T;
|
||||||
|
} & Extension
|
||||||
|
) => Promise<TServiceGetPortsReturn>;
|
||||||
|
|
||||||
export interface IServiceEditPage<T = any> extends TRenderFunctionResult {
|
export interface IServiceEditPage<T = any> extends TRenderFunctionResult {
|
||||||
/**
|
/**
|
||||||
* Function, which must return the current service-data.
|
* Function, which must return the current service-data.
|
||||||
*
|
*
|
||||||
* @author M.Karkowski
|
* @author M.Karkowski
|
||||||
* @return {boolean}
|
* @return {Promise<T>}
|
||||||
* @memberof IEditPage
|
* @memberof IEditPage
|
||||||
*/
|
*/
|
||||||
getData(): T;
|
getData(): Promise<T>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function which must return true, if the Entered-
|
* Function which must return true, if the Entered-
|
||||||
* Data is valid. Otherwise the Update will be refused
|
* Data is valid. Otherwise the Update will be refused
|
||||||
*
|
*
|
||||||
* @author M.Karkowski
|
* @author M.Karkowski
|
||||||
* @return {boolean}
|
* @return {Promise<boolean>}
|
||||||
* @memberof IEditPage
|
* @memberof IEditPage
|
||||||
*/
|
*/
|
||||||
isValid(): boolean;
|
isValid(): Promise<boolean>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Element showing the type of the edit panel.
|
* Element showing the type of the edit panel.
|
||||||
|
@ -13,4 +13,4 @@ export type TRenderConfigureServicePage<T extends PN, Extension = {}> = (
|
|||||||
options: IRenderData & {
|
options: IRenderData & {
|
||||||
input: T;
|
input: T;
|
||||||
} & Extension
|
} & Extension
|
||||||
) => IServiceEditPage;
|
) => Promise<IServiceEditPage>;
|
||||||
|
@ -76,6 +76,7 @@ export type TLibraries = {
|
|||||||
w2confirm: (...args) => any;
|
w2confirm: (...args) => any;
|
||||||
w2prompt: (...args) => any;
|
w2prompt: (...args) => any;
|
||||||
w2utils: any;
|
w2utils: any;
|
||||||
|
nopeW2ui: any;
|
||||||
};
|
};
|
||||||
w2ui: any;
|
w2ui: any;
|
||||||
|
|
||||||
|
@ -860,14 +860,14 @@ export interface ILayoutOptions<D extends IMinProvidedDataSet> {
|
|||||||
*
|
*
|
||||||
* @memberof ILayoutOptions
|
* @memberof ILayoutOptions
|
||||||
*/
|
*/
|
||||||
onResized?: (panels: IPossiblePanels) => void;
|
onResized?: (panels: IPossiblePanels) => Promise<void>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Callback, which will be used to provide the actual Editmode.
|
* Callback, which will be used to provide the actual Editmode.
|
||||||
*
|
*
|
||||||
* @memberof ILayoutOptions
|
* @memberof ILayoutOptions
|
||||||
*/
|
*/
|
||||||
onEditModeChanged?: (editingEnabled: boolean) => void;
|
onEditModeChanged?: (editingEnabled: boolean) => Promise<void>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function, which will be called before the Componented is getting destroyed.
|
* Function, which will be called before the Componented is getting destroyed.
|
||||||
@ -875,13 +875,12 @@ export interface ILayoutOptions<D extends IMinProvidedDataSet> {
|
|||||||
*
|
*
|
||||||
* @memberof ILayoutOptions
|
* @memberof ILayoutOptions
|
||||||
*/
|
*/
|
||||||
dispose?: () => void;
|
dispose?: () => Promise<void>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An addtional Function which will be called before a Callback of the Context-Menu
|
* An addtional Function which will be called before a Callback of the Context-Menu
|
||||||
* or Toolbar will be called.
|
* or Toolbar will be called.
|
||||||
*
|
*
|
||||||
* @type {IAdaptDataCallback<D>}
|
|
||||||
* @memberof ILayoutOptions
|
* @memberof ILayoutOptions
|
||||||
*/
|
*/
|
||||||
adaptData: IAdaptDataCallback<D>;
|
adaptData: IAdaptDataCallback<D>;
|
||||||
@ -903,7 +902,7 @@ export interface ILayoutOptions<D extends IMinProvidedDataSet> {
|
|||||||
* @author M.Karkowski
|
* @author M.Karkowski
|
||||||
* @memberof ILayoutOptions
|
* @memberof ILayoutOptions
|
||||||
*/
|
*/
|
||||||
onReady?: () => void;
|
onReady?: () => Promise<void>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Boolean to toggle the FullScreen
|
* Boolean to toggle the FullScreen
|
||||||
@ -952,7 +951,7 @@ export type TRenderFunction<
|
|||||||
setVisibilityOfPanel: (value: boolean) => void;
|
setVisibilityOfPanel: (value: boolean) => void;
|
||||||
layout: IBasicLayoutComponent<D>;
|
layout: IBasicLayoutComponent<D>;
|
||||||
}
|
}
|
||||||
) => O;
|
) => Promise<O>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base Component to render a Layout.
|
* Base Component to render a Layout.
|
||||||
@ -1102,7 +1101,7 @@ export interface IBasicLayoutComponent<
|
|||||||
showOnCreate?: boolean;
|
showOnCreate?: boolean;
|
||||||
/** The Panel to show */
|
/** The Panel to show */
|
||||||
panel: ValidPanels;
|
panel: ValidPanels;
|
||||||
}): void;
|
}): Promise<O>;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the div of the panel.
|
* Returns the div of the panel.
|
||||||
|
@ -26,7 +26,7 @@ export type TRenderInstancePage<
|
|||||||
/** The Instance to Render. */
|
/** The Instance to Render. */
|
||||||
input: T & IGenericNopeModule;
|
input: T & IGenericNopeModule;
|
||||||
} & Extension
|
} & Extension
|
||||||
) => TRenderFunctionResult;
|
) => Promise<TRenderFunctionResult>;
|
||||||
|
|
||||||
/** UI to define an instance. */
|
/** UI to define an instance. */
|
||||||
export type TInstanceManagerPage<
|
export type TInstanceManagerPage<
|
||||||
@ -49,4 +49,4 @@ export type TInstanceManagerPage<
|
|||||||
) => Promise<T & IGenericNopeModule>;
|
) => Promise<T & IGenericNopeModule>;
|
||||||
instances: Array<INopeModuleDescription>;
|
instances: Array<INopeModuleDescription>;
|
||||||
} & Extension
|
} & Extension
|
||||||
) => void;
|
) => Promise<void>;
|
||||||
|
@ -14,20 +14,19 @@ import {
|
|||||||
} from "../index.browser";
|
} from "../index.browser";
|
||||||
import { listFunctions, listPackages } from "../index.nodejs";
|
import { listFunctions, listPackages } from "../index.nodejs";
|
||||||
import { IUiDefinition } from "../types/ui";
|
import { IUiDefinition } from "../types/ui";
|
||||||
|
import { readFile } from "node:fs/promises";
|
||||||
|
import { getNopeLogger, replaceAll } from "../index.browser";
|
||||||
|
import * as superagent from "superagent";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper Function to write a default configuration.
|
* Helper Function to write a default configuration.
|
||||||
*
|
|
||||||
* @export
|
|
||||||
* @param {string} [dir='./modules']
|
|
||||||
* @param {string} [filename=join(resolve(process.cwd()), 'config', 'assembly.json')]
|
|
||||||
*/
|
*/
|
||||||
export async function writeUiFile(
|
export async function writeUiFile(
|
||||||
options: {
|
options: {
|
||||||
dir: string;
|
dir: string;
|
||||||
filename: string;
|
filename: string;
|
||||||
} = {
|
} = {
|
||||||
dir: "./modules",
|
dir: "./dist",
|
||||||
filename: join(resolve(process.cwd()), "config", "ui.json"),
|
filename: join(resolve(process.cwd()), "config", "ui.json"),
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
@ -93,7 +92,7 @@ export async function writeUiFile(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const [id, data] of CONTAINER.methods.entries()) {
|
for (const [id, data] of CONTAINER.services.entries()) {
|
||||||
if (data.options.ui) {
|
if (data.options.ui) {
|
||||||
uiFile.functions[id] = {
|
uiFile.functions[id] = {
|
||||||
id,
|
id,
|
||||||
@ -113,7 +112,7 @@ export async function writeUiFile(
|
|||||||
* @param additionalArguments Arguments added by the nope.cli
|
* @param additionalArguments Arguments added by the nope.cli
|
||||||
* @return {*} The Arguments
|
* @return {*} The Arguments
|
||||||
*/
|
*/
|
||||||
export function readInwriteUiFileArgs(
|
export function readInWriteUiFileArgs(
|
||||||
additionalArguments: {
|
additionalArguments: {
|
||||||
help: string;
|
help: string;
|
||||||
type: "string" | "number";
|
type: "string" | "number";
|
||||||
@ -156,3 +155,238 @@ export function readInwriteUiFileArgs(
|
|||||||
|
|
||||||
return args;
|
return args;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface IDataElement {
|
||||||
|
name: string;
|
||||||
|
originalName: string;
|
||||||
|
path: string;
|
||||||
|
keywords: string;
|
||||||
|
identifier: string;
|
||||||
|
additionalOptions: any;
|
||||||
|
uuid: string;
|
||||||
|
type: string;
|
||||||
|
date: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface UploadArgs {
|
||||||
|
/**
|
||||||
|
* File containing the UI-Defintions
|
||||||
|
*/
|
||||||
|
file: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default uri of the upload server
|
||||||
|
*/
|
||||||
|
uri: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The mode how to handle the ui-file.
|
||||||
|
*/
|
||||||
|
mode: "replace" | "merge";
|
||||||
|
}
|
||||||
|
|
||||||
|
const VALID_MODES: Array<UploadArgs["mode"]> = ["replace", "merge"];
|
||||||
|
|
||||||
|
export const DEFAULT_SETTINGS: UploadArgs = {
|
||||||
|
file: "./config/ui.json",
|
||||||
|
uri: "http://localhost:5001",
|
||||||
|
mode: "merge",
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper Function to Read-In the Arguments used by the
|
||||||
|
* cli-tool
|
||||||
|
*
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
export async function readInArgs(
|
||||||
|
additionalArguments: {
|
||||||
|
help: string;
|
||||||
|
type: "string" | "number";
|
||||||
|
name: string | string;
|
||||||
|
defaultValue?: any;
|
||||||
|
}[] = [],
|
||||||
|
forcedArgs: Partial<UploadArgs> = {}
|
||||||
|
): Promise<UploadArgs> {
|
||||||
|
const parser = new ArgumentParser({
|
||||||
|
// version: "1.0.0",
|
||||||
|
add_help: true,
|
||||||
|
description: "Command Line interface, to upload ui files",
|
||||||
|
});
|
||||||
|
|
||||||
|
for (const arg of additionalArguments) {
|
||||||
|
parser.add_argument(arg.name, {
|
||||||
|
help: arg.help,
|
||||||
|
default: arg.defaultValue,
|
||||||
|
type: arg.type,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
parser.add_argument("-f", "--file", {
|
||||||
|
help:
|
||||||
|
"File containing containing the package definitions. Defaults to '" +
|
||||||
|
DEFAULT_SETTINGS.file +
|
||||||
|
"'",
|
||||||
|
default: DEFAULT_SETTINGS.file,
|
||||||
|
type: "str",
|
||||||
|
dest: "file",
|
||||||
|
});
|
||||||
|
|
||||||
|
parser.add_argument("-m", "--mode", {
|
||||||
|
help:
|
||||||
|
"The mode, how to handle the ui defintion: " +
|
||||||
|
// Display all Options:
|
||||||
|
VALID_MODES.map((item) => {
|
||||||
|
return '"' + item + '"';
|
||||||
|
}).join(", ") +
|
||||||
|
'. Deaults to "' +
|
||||||
|
DEFAULT_SETTINGS.mode +
|
||||||
|
'"',
|
||||||
|
default: DEFAULT_SETTINGS.mode,
|
||||||
|
type: "str",
|
||||||
|
dest: "mode",
|
||||||
|
});
|
||||||
|
|
||||||
|
parser.add_argument("-u", "--uri", {
|
||||||
|
help: "The URI of the Server. Defaults to '" + DEFAULT_SETTINGS.uri + ",",
|
||||||
|
default: DEFAULT_SETTINGS.uri,
|
||||||
|
type: "str",
|
||||||
|
dest: "params",
|
||||||
|
});
|
||||||
|
|
||||||
|
const args: UploadArgs = parser.parse_args();
|
||||||
|
|
||||||
|
return Object.assign(args, forcedArgs);
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function uploadUi(args: Partial<UploadArgs>) {
|
||||||
|
const settingsToUse = Object.assign(DEFAULT_SETTINGS, args);
|
||||||
|
let localContent: any = {};
|
||||||
|
|
||||||
|
const logger = getNopeLogger("ui-uploader-cli");
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Try to read in the default config file.
|
||||||
|
logger.info(`Trying to read file ${settingsToUse.file}`);
|
||||||
|
|
||||||
|
localContent = JSON.parse(
|
||||||
|
await readFile(settingsToUse.file, {
|
||||||
|
encoding: "utf-8",
|
||||||
|
})
|
||||||
|
);
|
||||||
|
} catch (error) {
|
||||||
|
logger.error("Failed to read File.");
|
||||||
|
logger.error(error);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Object.keys(settingsToUse).length == 0) {
|
||||||
|
logger.info("No Data contained. Goodbye!");
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getFiles(
|
||||||
|
query: (
|
||||||
|
item: IDataElement,
|
||||||
|
scope: { [index: string]: any }
|
||||||
|
) => boolean = () => true,
|
||||||
|
scope: { [index: string]: any } = {}
|
||||||
|
) {
|
||||||
|
const params = {
|
||||||
|
query: stringifyWithFunctions(query),
|
||||||
|
scope,
|
||||||
|
};
|
||||||
|
|
||||||
|
const result: IDataElement[] = (
|
||||||
|
await superagent.post(settingsToUse.uri + "/storage/query").send(params)
|
||||||
|
).body;
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getContentOfNewestFile() {
|
||||||
|
// Get all Possible Files
|
||||||
|
const _files = await getFiles((item, scope) => {
|
||||||
|
return item.identifier === "ui-definition";
|
||||||
|
});
|
||||||
|
|
||||||
|
let newest: IDataElement = null;
|
||||||
|
_files.map((item) => {
|
||||||
|
if (item.date > item.date) {
|
||||||
|
newest = item;
|
||||||
|
} else if (newest == null) {
|
||||||
|
newest = item;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (newest) {
|
||||||
|
try {
|
||||||
|
const _file = replaceAll(
|
||||||
|
settingsToUse.uri + "/" + newest.path,
|
||||||
|
"\\",
|
||||||
|
"/"
|
||||||
|
);
|
||||||
|
return (await superagent.get(_file)).body;
|
||||||
|
} catch (e) {
|
||||||
|
logger.error("Failed getting Data");
|
||||||
|
logger.error(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info(
|
||||||
|
`Uploading file '${settingsToUse.file}' to '${settingsToUse.uri}'`
|
||||||
|
);
|
||||||
|
|
||||||
|
let contentToUpload: any = localContent;
|
||||||
|
|
||||||
|
if (settingsToUse.mode === "merge") {
|
||||||
|
const currentContent: any = await getContentOfNewestFile();
|
||||||
|
contentToUpload.functions = Object.assign(
|
||||||
|
currentContent.functions,
|
||||||
|
localContent.functions
|
||||||
|
);
|
||||||
|
contentToUpload.classes = Object.assign(
|
||||||
|
currentContent.classes,
|
||||||
|
localContent.classes
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const params = {
|
||||||
|
name: "ui",
|
||||||
|
keywords: "ui-definition;",
|
||||||
|
identifier: "ui-definition",
|
||||||
|
data: contentToUpload,
|
||||||
|
};
|
||||||
|
const result = await superagent
|
||||||
|
.post(settingsToUse.uri + "/storage/upload-data")
|
||||||
|
.send(params);
|
||||||
|
|
||||||
|
logger.info("sucessfully uploaded the file.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Main Function.
|
||||||
|
*
|
||||||
|
* @export
|
||||||
|
*/
|
||||||
|
export async function main(
|
||||||
|
additionalArguments: {
|
||||||
|
help: string;
|
||||||
|
type: "string" | "number";
|
||||||
|
name: string | string;
|
||||||
|
defaultValue?: any;
|
||||||
|
}[] = [],
|
||||||
|
forcedArgs: Partial<UploadArgs> = {}
|
||||||
|
) {
|
||||||
|
const args = await readInArgs(additionalArguments, forcedArgs);
|
||||||
|
return await uploadUi(args);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default uploadUi;
|
||||||
|
|
||||||
|
// If requested As Main => Perform the Operation.
|
||||||
|
if (require.main === module) {
|
||||||
|
main();
|
||||||
|
}
|
||||||
|
345
package-lock.json
generated
345
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "nope",
|
"name": "nope",
|
||||||
"version": "1.2.1",
|
"version": "1.3.12",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "nope",
|
"name": "nope",
|
||||||
"version": "1.2.1",
|
"version": "1.3.12",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"argparse": "^2.0.1",
|
"argparse": "^2.0.1",
|
||||||
@ -30,6 +30,7 @@
|
|||||||
"rxjs": "^7.5.1",
|
"rxjs": "^7.5.1",
|
||||||
"socket.io": "^4.4.1",
|
"socket.io": "^4.4.1",
|
||||||
"socket.io-client": "^4.4.1",
|
"socket.io-client": "^4.4.1",
|
||||||
|
"superagent": "^8.0.0",
|
||||||
"ts-morph": "^13.0.2",
|
"ts-morph": "^13.0.2",
|
||||||
"typescript-json-schema": "^0.52.0",
|
"typescript-json-schema": "^0.52.0",
|
||||||
"uuid": "^8.3.2",
|
"uuid": "^8.3.2",
|
||||||
@ -48,6 +49,7 @@
|
|||||||
"@types/plotly.js": "^1.54.22",
|
"@types/plotly.js": "^1.54.22",
|
||||||
"@types/socket.io": "^3.0.1",
|
"@types/socket.io": "^3.0.1",
|
||||||
"@types/socket.io-client": "^1.4.36",
|
"@types/socket.io-client": "^1.4.36",
|
||||||
|
"@types/superagent": "^4.1.15",
|
||||||
"chai": "^4.3.4",
|
"chai": "^4.3.4",
|
||||||
"dts-bundle": "^0.7.3",
|
"dts-bundle": "^0.7.3",
|
||||||
"dts-bundle-webpack": "^1.0.2",
|
"dts-bundle-webpack": "^1.0.2",
|
||||||
@ -442,6 +444,12 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
|
||||||
"integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
|
"integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/cookiejar": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/@types/cors": {
|
"node_modules/@types/cors": {
|
||||||
"version": "2.8.12",
|
"version": "2.8.12",
|
||||||
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
|
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
|
||||||
@ -528,6 +536,16 @@
|
|||||||
"integrity": "sha512-ZJWjtFBeBy1kRSYpVbeGYTElf6BqPQUkXDlHHD4k/42byCN5Rh027f4yARHCink9sKAkbtGZXEAmR0ZCnc2/Ag==",
|
"integrity": "sha512-ZJWjtFBeBy1kRSYpVbeGYTElf6BqPQUkXDlHHD4k/42byCN5Rh027f4yARHCink9sKAkbtGZXEAmR0ZCnc2/Ag==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/superagent": {
|
||||||
|
"version": "4.1.15",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.15.tgz",
|
||||||
|
"integrity": "sha512-mu/N4uvfDN2zVQQ5AYJI/g4qxn2bHB6521t1UuH09ShNWjebTqN0ZFuYK9uYjcgmI0dTQEs+Owi1EO6U0OkOZQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@types/cookiejar": "*",
|
||||||
|
"@types/node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@ungap/promise-all-settled": {
|
"node_modules/@ungap/promise-all-settled": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
|
||||||
@ -1056,6 +1074,11 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/asap": {
|
||||||
|
"version": "2.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
||||||
|
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
|
||||||
|
},
|
||||||
"node_modules/asn1.js": {
|
"node_modules/asn1.js": {
|
||||||
"version": "5.4.1",
|
"version": "5.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
|
||||||
@ -1109,6 +1132,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
|
||||||
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
|
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
|
||||||
},
|
},
|
||||||
|
"node_modules/asynckit": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||||
|
},
|
||||||
"node_modules/atob": {
|
"node_modules/atob": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
||||||
@ -1535,7 +1563,6 @@
|
|||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
||||||
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"function-bind": "^1.1.1",
|
"function-bind": "^1.1.1",
|
||||||
"get-intrinsic": "^1.0.2"
|
"get-intrinsic": "^1.0.2"
|
||||||
@ -1958,6 +1985,17 @@
|
|||||||
"node": ">=0.1.90"
|
"node": ">=0.1.90"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/combined-stream": {
|
||||||
|
"version": "1.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
|
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||||
|
"dependencies": {
|
||||||
|
"delayed-stream": "~1.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/commander": {
|
"node_modules/commander": {
|
||||||
"version": "8.3.0",
|
"version": "8.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
|
||||||
@ -2074,6 +2112,11 @@
|
|||||||
"node": ">= 0.6"
|
"node": ">= 0.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/cookiejar": {
|
||||||
|
"version": "2.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
|
||||||
|
"integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ=="
|
||||||
|
},
|
||||||
"node_modules/copy-concurrently": {
|
"node_modules/copy-concurrently": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
|
||||||
@ -2241,9 +2284,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/debug": {
|
"node_modules/debug": {
|
||||||
"version": "4.3.3",
|
"version": "4.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||||
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
|
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ms": "2.1.2"
|
"ms": "2.1.2"
|
||||||
},
|
},
|
||||||
@ -2360,6 +2403,14 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/delayed-stream": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/delegates": {
|
"node_modules/delegates": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
||||||
@ -2401,6 +2452,15 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/dezalgo": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"asap": "^2.0.0",
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/diff": {
|
"node_modules/diff": {
|
||||||
"version": "5.0.0",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
|
||||||
@ -3562,6 +3622,11 @@
|
|||||||
"integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==",
|
"integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/fast-safe-stringify": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
|
||||||
|
},
|
||||||
"node_modules/fastest-levenshtein": {
|
"node_modules/fastest-levenshtein": {
|
||||||
"version": "1.0.12",
|
"version": "1.0.12",
|
||||||
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
|
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
|
||||||
@ -3729,6 +3794,44 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/form-data": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
||||||
|
"dependencies": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"mime-types": "^2.1.12"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/formidable": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"dezalgo": "1.0.3",
|
||||||
|
"hexoid": "1.0.0",
|
||||||
|
"once": "1.4.0",
|
||||||
|
"qs": "6.9.3"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://ko-fi.com/tunnckoCore/commissions"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/formidable/node_modules/qs": {
|
||||||
|
"version": "6.9.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz",
|
||||||
|
"integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/fp-and-or": {
|
"node_modules/fp-and-or": {
|
||||||
"version": "0.1.3",
|
"version": "0.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.3.tgz",
|
||||||
@ -3890,8 +3993,7 @@
|
|||||||
"node_modules/function-bind": {
|
"node_modules/function-bind": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
|
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"node_modules/functional-red-black-tree": {
|
"node_modules/functional-red-black-tree": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
@ -3948,7 +4050,6 @@
|
|||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
|
||||||
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
|
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"function-bind": "^1.1.1",
|
"function-bind": "^1.1.1",
|
||||||
"has": "^1.0.3",
|
"has": "^1.0.3",
|
||||||
@ -4166,7 +4267,6 @@
|
|||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||||
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"function-bind": "^1.1.1"
|
"function-bind": "^1.1.1"
|
||||||
},
|
},
|
||||||
@ -4200,7 +4300,6 @@
|
|||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
|
||||||
"integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
|
"integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
},
|
},
|
||||||
@ -4343,6 +4442,14 @@
|
|||||||
"readable-stream": "^3.6.0"
|
"readable-stream": "^3.6.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/hexoid": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/hmac-drbg": {
|
"node_modules/hmac-drbg": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
|
||||||
@ -6061,6 +6168,14 @@
|
|||||||
"node": ">= 8"
|
"node": ">= 8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/methods": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/micromatch": {
|
"node_modules/micromatch": {
|
||||||
"version": "4.0.4",
|
"version": "4.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
|
||||||
@ -6092,6 +6207,17 @@
|
|||||||
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
|
"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/mime": {
|
||||||
|
"version": "2.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
|
||||||
|
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==",
|
||||||
|
"bin": {
|
||||||
|
"mime": "cli.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/mime-db": {
|
"node_modules/mime-db": {
|
||||||
"version": "1.51.0",
|
"version": "1.51.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
|
||||||
@ -14074,7 +14200,6 @@
|
|||||||
"version": "1.12.0",
|
"version": "1.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
|
||||||
"integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
|
"integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
|
||||||
"dev": true,
|
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
@ -14927,6 +15052,20 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/qs": {
|
||||||
|
"version": "6.11.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
|
||||||
|
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
|
||||||
|
"dependencies": {
|
||||||
|
"side-channel": "^1.0.4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/querystring": {
|
"node_modules/querystring": {
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
|
||||||
@ -15520,10 +15659,9 @@
|
|||||||
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
|
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
|
||||||
},
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "7.3.5",
|
"version": "7.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
||||||
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
|
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"lru-cache": "^6.0.0"
|
"lru-cache": "^6.0.0"
|
||||||
},
|
},
|
||||||
@ -15691,7 +15829,6 @@
|
|||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
|
||||||
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
|
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"call-bind": "^1.0.0",
|
"call-bind": "^1.0.0",
|
||||||
"get-intrinsic": "^1.0.2",
|
"get-intrinsic": "^1.0.2",
|
||||||
@ -16301,6 +16438,27 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/superagent": {
|
||||||
|
"version": "8.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.0.tgz",
|
||||||
|
"integrity": "sha512-iudipXEel+SzlP9y29UBWGDjB+Zzag+eeA1iLosaR2YHBRr1Q1kC29iBrF2zIVD9fqVbpZnXkN/VJmwFMVyNWg==",
|
||||||
|
"dependencies": {
|
||||||
|
"component-emitter": "^1.3.0",
|
||||||
|
"cookiejar": "^2.1.3",
|
||||||
|
"debug": "^4.3.4",
|
||||||
|
"fast-safe-stringify": "^2.1.1",
|
||||||
|
"form-data": "^4.0.0",
|
||||||
|
"formidable": "^2.0.1",
|
||||||
|
"methods": "^1.1.2",
|
||||||
|
"mime": "2.6.0",
|
||||||
|
"qs": "^6.10.3",
|
||||||
|
"readable-stream": "^3.6.0",
|
||||||
|
"semver": "^7.3.7"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.4.0 <13 || >=14"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/supports-color": {
|
"node_modules/supports-color": {
|
||||||
"version": "7.2.0",
|
"version": "7.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||||
@ -18591,6 +18749,12 @@
|
|||||||
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
|
||||||
"integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
|
"integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
|
||||||
},
|
},
|
||||||
|
"@types/cookiejar": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"@types/cors": {
|
"@types/cors": {
|
||||||
"version": "2.8.12",
|
"version": "2.8.12",
|
||||||
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
|
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
|
||||||
@ -18676,6 +18840,16 @@
|
|||||||
"integrity": "sha512-ZJWjtFBeBy1kRSYpVbeGYTElf6BqPQUkXDlHHD4k/42byCN5Rh027f4yARHCink9sKAkbtGZXEAmR0ZCnc2/Ag==",
|
"integrity": "sha512-ZJWjtFBeBy1kRSYpVbeGYTElf6BqPQUkXDlHHD4k/42byCN5Rh027f4yARHCink9sKAkbtGZXEAmR0ZCnc2/Ag==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"@types/superagent": {
|
||||||
|
"version": "4.1.15",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.15.tgz",
|
||||||
|
"integrity": "sha512-mu/N4uvfDN2zVQQ5AYJI/g4qxn2bHB6521t1UuH09ShNWjebTqN0ZFuYK9uYjcgmI0dTQEs+Owi1EO6U0OkOZQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"@types/cookiejar": "*",
|
||||||
|
"@types/node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@ungap/promise-all-settled": {
|
"@ungap/promise-all-settled": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
|
||||||
@ -19107,6 +19281,11 @@
|
|||||||
"es-abstract": "^1.19.0"
|
"es-abstract": "^1.19.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"asap": {
|
||||||
|
"version": "2.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
||||||
|
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
|
||||||
|
},
|
||||||
"asn1.js": {
|
"asn1.js": {
|
||||||
"version": "5.4.1",
|
"version": "5.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
|
||||||
@ -19156,6 +19335,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
|
||||||
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
|
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
|
||||||
},
|
},
|
||||||
|
"asynckit": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||||
|
},
|
||||||
"atob": {
|
"atob": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
|
||||||
@ -19503,7 +19687,6 @@
|
|||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
||||||
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"function-bind": "^1.1.1",
|
"function-bind": "^1.1.1",
|
||||||
"get-intrinsic": "^1.0.2"
|
"get-intrinsic": "^1.0.2"
|
||||||
@ -19831,6 +20014,14 @@
|
|||||||
"integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
|
"integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"combined-stream": {
|
||||||
|
"version": "1.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
|
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||||
|
"requires": {
|
||||||
|
"delayed-stream": "~1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"commander": {
|
"commander": {
|
||||||
"version": "8.3.0",
|
"version": "8.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
|
||||||
@ -19927,6 +20118,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
|
||||||
"integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
|
"integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
|
||||||
},
|
},
|
||||||
|
"cookiejar": {
|
||||||
|
"version": "2.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz",
|
||||||
|
"integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ=="
|
||||||
|
},
|
||||||
"copy-concurrently": {
|
"copy-concurrently": {
|
||||||
"version": "1.0.5",
|
"version": "1.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
|
||||||
@ -20080,9 +20276,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "4.3.3",
|
"version": "4.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||||
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
|
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"ms": "2.1.2"
|
"ms": "2.1.2"
|
||||||
}
|
}
|
||||||
@ -20167,6 +20363,11 @@
|
|||||||
"isobject": "^3.0.1"
|
"isobject": "^3.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"delayed-stream": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
|
||||||
|
},
|
||||||
"delegates": {
|
"delegates": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
|
||||||
@ -20199,6 +20400,15 @@
|
|||||||
"minimist": "^0.1.0"
|
"minimist": "^0.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dezalgo": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-K7i4zNfT2kgQz3GylDw40ot9GAE47sFZ9EXHFSPP6zONLgH6kWXE0KWJchkbQJLBkRazq4APwZ4OwiFFlT95OQ==",
|
||||||
|
"requires": {
|
||||||
|
"asap": "^2.0.0",
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"diff": {
|
"diff": {
|
||||||
"version": "5.0.0",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
|
||||||
@ -21138,6 +21348,11 @@
|
|||||||
"integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==",
|
"integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"fast-safe-stringify": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="
|
||||||
|
},
|
||||||
"fastest-levenshtein": {
|
"fastest-levenshtein": {
|
||||||
"version": "1.0.12",
|
"version": "1.0.12",
|
||||||
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
|
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
|
||||||
@ -21282,6 +21497,34 @@
|
|||||||
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
|
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"form-data": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
||||||
|
"requires": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"mime-types": "^2.1.12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"formidable": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==",
|
||||||
|
"requires": {
|
||||||
|
"dezalgo": "1.0.3",
|
||||||
|
"hexoid": "1.0.0",
|
||||||
|
"once": "1.4.0",
|
||||||
|
"qs": "6.9.3"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"qs": {
|
||||||
|
"version": "6.9.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz",
|
||||||
|
"integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"fp-and-or": {
|
"fp-and-or": {
|
||||||
"version": "0.1.3",
|
"version": "0.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/fp-and-or/-/fp-and-or-0.1.3.tgz",
|
||||||
@ -21424,8 +21667,7 @@
|
|||||||
"function-bind": {
|
"function-bind": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
|
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"functional-red-black-tree": {
|
"functional-red-black-tree": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
@ -21470,7 +21712,6 @@
|
|||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
|
||||||
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
|
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"function-bind": "^1.1.1",
|
"function-bind": "^1.1.1",
|
||||||
"has": "^1.0.3",
|
"has": "^1.0.3",
|
||||||
@ -21630,7 +21871,6 @@
|
|||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||||
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"function-bind": "^1.1.1"
|
"function-bind": "^1.1.1"
|
||||||
}
|
}
|
||||||
@ -21654,8 +21894,7 @@
|
|||||||
"has-symbols": {
|
"has-symbols": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
|
||||||
"integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
|
"integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"has-tostringtag": {
|
"has-tostringtag": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
@ -21766,6 +22005,11 @@
|
|||||||
"readable-stream": "^3.6.0"
|
"readable-stream": "^3.6.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hexoid": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g=="
|
||||||
|
},
|
||||||
"hmac-drbg": {
|
"hmac-drbg": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
|
||||||
@ -23092,6 +23336,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
|
||||||
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
|
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
|
||||||
},
|
},
|
||||||
|
"methods": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
|
||||||
|
},
|
||||||
"micromatch": {
|
"micromatch": {
|
||||||
"version": "4.0.4",
|
"version": "4.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
|
||||||
@ -23119,6 +23368,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"mime": {
|
||||||
|
"version": "2.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
|
||||||
|
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="
|
||||||
|
},
|
||||||
"mime-db": {
|
"mime-db": {
|
||||||
"version": "1.51.0",
|
"version": "1.51.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
|
||||||
@ -29065,8 +29319,7 @@
|
|||||||
"object-inspect": {
|
"object-inspect": {
|
||||||
"version": "1.12.0",
|
"version": "1.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
|
||||||
"integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
|
"integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"object-keys": {
|
"object-keys": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
@ -29745,6 +29998,14 @@
|
|||||||
"escape-goat": "^2.0.0"
|
"escape-goat": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"qs": {
|
||||||
|
"version": "6.11.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
|
||||||
|
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
|
||||||
|
"requires": {
|
||||||
|
"side-channel": "^1.0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"querystring": {
|
"querystring": {
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
|
||||||
@ -30191,10 +30452,9 @@
|
|||||||
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
|
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
|
||||||
},
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "7.3.5",
|
"version": "7.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
|
||||||
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
|
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"lru-cache": "^6.0.0"
|
"lru-cache": "^6.0.0"
|
||||||
}
|
}
|
||||||
@ -30330,7 +30590,6 @@
|
|||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
|
||||||
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
|
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"call-bind": "^1.0.0",
|
"call-bind": "^1.0.0",
|
||||||
"get-intrinsic": "^1.0.2",
|
"get-intrinsic": "^1.0.2",
|
||||||
@ -30824,6 +31083,24 @@
|
|||||||
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"superagent": {
|
||||||
|
"version": "8.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.0.tgz",
|
||||||
|
"integrity": "sha512-iudipXEel+SzlP9y29UBWGDjB+Zzag+eeA1iLosaR2YHBRr1Q1kC29iBrF2zIVD9fqVbpZnXkN/VJmwFMVyNWg==",
|
||||||
|
"requires": {
|
||||||
|
"component-emitter": "^1.3.0",
|
||||||
|
"cookiejar": "^2.1.3",
|
||||||
|
"debug": "^4.3.4",
|
||||||
|
"fast-safe-stringify": "^2.1.1",
|
||||||
|
"form-data": "^4.0.0",
|
||||||
|
"formidable": "^2.0.1",
|
||||||
|
"methods": "^1.1.2",
|
||||||
|
"mime": "2.6.0",
|
||||||
|
"qs": "^6.10.3",
|
||||||
|
"readable-stream": "^3.6.0",
|
||||||
|
"semver": "^7.3.7"
|
||||||
|
}
|
||||||
|
},
|
||||||
"supports-color": {
|
"supports-color": {
|
||||||
"version": "7.2.0",
|
"version": "7.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "nope",
|
"name": "nope",
|
||||||
"version": "1.3.12",
|
"version": "1.4.1",
|
||||||
"description": "NoPE Runtime for Nodejs. For Browser-Support please use nope-browser",
|
"description": "NoPE Runtime for Nodejs. For Browser-Support please use nope-browser",
|
||||||
"files": [
|
"files": [
|
||||||
"dist-nodejs/**/*",
|
"dist-nodejs/**/*",
|
||||||
@ -61,6 +61,7 @@
|
|||||||
"rxjs": "^7.5.1",
|
"rxjs": "^7.5.1",
|
||||||
"socket.io": "^4.4.1",
|
"socket.io": "^4.4.1",
|
||||||
"socket.io-client": "^4.4.1",
|
"socket.io-client": "^4.4.1",
|
||||||
|
"superagent": "^8.0.0",
|
||||||
"ts-morph": "^13.0.2",
|
"ts-morph": "^13.0.2",
|
||||||
"typescript-json-schema": "^0.52.0",
|
"typescript-json-schema": "^0.52.0",
|
||||||
"uuid": "^8.3.2",
|
"uuid": "^8.3.2",
|
||||||
@ -76,6 +77,7 @@
|
|||||||
"@types/plotly.js": "^1.54.22",
|
"@types/plotly.js": "^1.54.22",
|
||||||
"@types/socket.io": "^3.0.1",
|
"@types/socket.io": "^3.0.1",
|
||||||
"@types/socket.io-client": "^1.4.36",
|
"@types/socket.io-client": "^1.4.36",
|
||||||
|
"@types/superagent": "^4.1.15",
|
||||||
"chai": "^4.3.4",
|
"chai": "^4.3.4",
|
||||||
"dts-bundle": "^0.7.3",
|
"dts-bundle": "^0.7.3",
|
||||||
"dts-bundle-webpack": "^1.0.2",
|
"dts-bundle-webpack": "^1.0.2",
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
"noImplicitReturns": true,
|
"noImplicitReturns": true,
|
||||||
"outDir": "./dist-browser",
|
"outDir": "./dist-browser",
|
||||||
"pretty": false,
|
"pretty": false,
|
||||||
"removeComments": true,
|
"removeComments": false,
|
||||||
"stripInternal": true,
|
"stripInternal": true,
|
||||||
"downlevelIteration": true,
|
"downlevelIteration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": false,
|
||||||
|
Loading…
Reference in New Issue
Block a user