diff --git a/bin/esiur.cjs b/bin/esiur.cjs index 178617d..8e17305 100644 --- a/bin/esiur.cjs +++ b/bin/esiur.cjs @@ -12,6 +12,8 @@ if (process.argv.length == 2) { console.log("\t-u, --username\tAuthentication username."); console.log("\t-p, --password\tAuthentication password."); console.log("\t-d, --dir\tName of the directory to generate model inside."); + console.log("\t-g, --global\tDeclare a global variable for the module with the specified name."); + process.exit(); } @@ -38,6 +40,8 @@ else if (cmd == "get-template") // get username let username = getOption(args, "--username", "-u"); let password = getOption(args, "--password", "-p"); + let globalName = getOption(args, "--global", "-g"); + let dir = getOption(args, "--dir", "-d"); if (args.length == 0){ @@ -51,7 +55,7 @@ else if (cmd == "get-template") let getTemplate = async () => { let Esiur = (await import('../src/esiur.js')).default; - await Esiur.Proxy.TemplateGenerator.getTemplate(url, dir, username, password, true); + await Esiur.Proxy.TemplateGenerator.getTemplate(url, dir, username, password, true, globalName); process.exit(); } diff --git a/package-lock.json b/package-lock.json index 95941c1..33c80da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "esiur", - "version": "2.2.6", + "version": "2.2.8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "esiur", - "version": "2.2.6", + "version": "2.2.8", "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.7", @@ -2330,9 +2330,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001444", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001444.tgz", - "integrity": "sha512-ecER9xgJQVMqcrxThKptsW0pPxSae8R2RB87LNa+ivW9ppNWRHEplXcDzkCOP4LYWGj8hunXLqaiC41iBATNyg==", + "version": "1.0.30001504", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001504.tgz", + "integrity": "sha512-5uo7eoOp2mKbWyfMXnGO9rJWOGU8duvzEiYITW+wivukL7yHH4gX9yuRaobu6El4jPxo6jKZfG+N6fB621GD/Q==", "dev": true, "funding": [ { @@ -2342,6 +2342,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -6951,9 +6955,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001444", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001444.tgz", - "integrity": "sha512-ecER9xgJQVMqcrxThKptsW0pPxSae8R2RB87LNa+ivW9ppNWRHEplXcDzkCOP4LYWGj8hunXLqaiC41iBATNyg==", + "version": "1.0.30001504", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001504.tgz", + "integrity": "sha512-5uo7eoOp2mKbWyfMXnGO9rJWOGU8duvzEiYITW+wivukL7yHH4gX9yuRaobu6El4jPxo6jKZfG+N6fB621GD/Q==", "dev": true }, "chalk": { diff --git a/package.json b/package.json index 7427359..039b655 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "esiur", - "version": "2.2.6", + "version": "2.2.8", "description": "Distributed Object Framework", "main": "esiur.js", "type": "module", diff --git a/src/Proxy/TemplateGenerator.js b/src/Proxy/TemplateGenerator.js index 4b0e2f2..eb41525 100644 --- a/src/Proxy/TemplateGenerator.js +++ b/src/Proxy/TemplateGenerator.js @@ -238,7 +238,7 @@ export default class TemplateGenerator { return v == null || v == ""; } - static async getTemplate(url, dir, username, password, asyncSetters = true) { + static async getTemplate(url, dir, username, password, asyncSetters = true, globalName = null) { const fs = await import("fs"); @@ -318,7 +318,13 @@ export default class TemplateGenerator { module += `new Esiur.Resource.Template.TypeTemplate(${typeName}, true);\r\n` }); - module += "\r\nexport default module;"; + module += "\r\nexport default module;\r\n"; + + if (globalName != null) { + module += `\r\nif (typeof window !== 'undefined') window["${globalName}"] = module;\r\n`; + module += `\r\nelse if (typeof global !== 'undefined') global["${globalName}"] = module;\r\n`; + } + fs.writeFileSync(modulePath, module); return dstDir;