@nhtio/lucid-resourceful 0.1.0-beta-015fc9ad → 0.1.0-beta-a688f806

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index-CO_ELOXU.cjs");
3
+ const index = require("./index-CUj15QI2.cjs");
4
4
  const errors = require("./errors-D9Yb71cW.cjs");
5
5
  const definitions = require("./definitions-CaCX9qdZ.cjs");
6
6
  exports.configure = index.configure;
package/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { j, o, c, a, b, f, i, e, h, r, v, w } from "./index-CrRmg1yc.js";
1
+ import { j, o, c, a, b, f, i, e, h, r, v, w } from "./index-BB-Wvcta.js";
2
2
  import { aw } from "./errors-v3GQyVoo.js";
3
3
  import { k } from "./definitions-Bjpzd_5T.js";
4
4
  export {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
3
  const http = require("@adonisjs/core/http");
4
- const index = require("../index-CO_ELOXU.cjs");
4
+ const index = require("../index-CUj15QI2.cjs");
5
5
  const odata_macro = require("../odata/macro.cjs");
6
6
  class LucidResourcefulProvider {
7
7
  async start() {
@@ -1,5 +1,5 @@
1
1
  import { Router, Response } from "@adonisjs/core/http";
2
- import { r as resourcefulRouterMacro, o as odataRouterMacro } from "../index-CrRmg1yc.js";
2
+ import { r as resourcefulRouterMacro, o as odataRouterMacro } from "../index-BB-Wvcta.js";
3
3
  import { odataXmlResponseMacro } from "../odata/macro.mjs";
4
4
  class LucidResourcefulProvider {
5
5
  async start() {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index-CO_ELOXU.cjs");
3
+ const index = require("./index-CUj15QI2.cjs");
4
4
  const require$$0 = require("path");
5
5
  const promises = require("fs/promises");
6
6
  const errors = require("./errors-D9Yb71cW.cjs");
@@ -415,4 +415,4 @@ ${sources.join("\n")}`
415
415
  }
416
416
  };
417
417
  exports.StubsManager = StubsManager;
418
- //# sourceMappingURL=manager-OLS5T3G7-Dy159LUh.cjs.map
418
+ //# sourceMappingURL=manager-OLS5T3G7-BSCDD5bV.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager-OLS5T3G7-Dy159LUh.cjs","sources":["../node_modules/.pnpm/tempura@0.4.1/node_modules/tempura/dist/index.mjs","../node_modules/.pnpm/@adonisjs+application@8.4.2_@adonisjs+config@5.0.3_@adonisjs+fold@10.2.1/node_modules/@adonisjs/application/build/manager-OLS5T3G7.js"],"sourcesContent":["const ESCAPE = /[&\"<]/g, CHARS = {\n\t'\"': '&quot;',\n\t'&': '&amp;',\n\t'<': '&lt',\n};\n\nconst ENDLINES = /[\\r\\n]+$/g;\nconst CURLY = /{{{?\\s*([\\s\\S]*?)\\s*}}}?/g;\nconst VAR = /(?:^|[-*+^|%/&=\\s])([a-zA-Z$_][\\w$]*)(?:(?=$|[-*+^|%/&=\\s]))/g;\nconst ARGS = /([a-zA-Z$_][^\\s=]*)\\s*=\\s*(([\"`'])(?:(?=(\\\\?))\\4.)*?\\3|{[^}]*}|\\[[^\\]]*]|\\S+)/g;\n\n// $$1 = escape()\n// $$2 = extra blocks\n// $$3 = template values\nfunction gen(input, options) {\n\toptions = options || {};\n\n\tlet char, num, action, tmp;\n\tlet last = CURLY.lastIndex = 0;\n\tlet wip='', txt='', match, inner;\n\n\tlet extra=options.blocks||{}, stack=[];\n\tlet initials = new Set(options.props||[]);\n\n\tfunction close() {\n\t\tif (wip.length > 0) {\n\t\t\ttxt += (txt ? 'x+=' : '=') + '`' + wip + '`;';\n\t\t} else if (txt.length === 0) {\n\t\t\ttxt = '=\"\";'\n\t\t}\n\t\twip = '';\n\t}\n\n\twhile (match = CURLY.exec(input)) {\n\t\twip += input.substring(last, match.index).replace(ENDLINES, '');\n\t\tlast = match.index + match[0].length;\n\n\t\tinner = match[1].trim();\n\t\tchar = inner.charAt(0);\n\n\t\tif (char === '!') {\n\t\t\t// comment, continue\n\t\t} else if (char === '#') {\n\t\t\tclose();\n\t\t\t[, action, inner] = /^#\\s*(\\w[\\w\\d]+)\\s*([^]*)/.exec(inner);\n\n\t\t\tif (action === 'expect') {\n\t\t\t\tinner.split(/[\\n\\r\\s\\t]*,[\\n\\r\\s\\t]*/g).forEach(key => {\n\t\t\t\t\tinitials.add(key);\n\t\t\t\t});\n\t\t\t} else if (action === 'var') {\n\t\t\t\tnum = inner.indexOf('=');\n\t\t\t\ttmp = inner.substring(0, num++).trim();\n\t\t\t\tinner = inner.substring(num).trim().replace(/[;]$/, '');\n\t\t\t\ttxt += `var ${tmp}=${inner};`;\n\t\t\t} else if (action === 'each') {\n\t\t\t\tnum = inner.indexOf(' as ');\n\t\t\t\tstack.push(action);\n\t\t\t\tif (!~num) {\n\t\t\t\t\ttxt += `for(var i=0,$$a=${inner};i<$$a.length;i++){`;\n\t\t\t\t} else {\n\t\t\t\t\ttmp = inner.substring(0, num).trim();\n\t\t\t\t\tinner = inner.substring(num + 4).trim();\n\t\t\t\t\tlet [item, idx='i'] = inner.replace(/[()\\s]/g, '').split(','); // (item, idx?)\n\t\t\t\t\ttxt += `for(var ${idx}=0,${item},$$a=${tmp};${idx}<$$a.length;${idx}++){${item}=$$a[${idx}];`;\n\t\t\t\t}\n\t\t\t} else if (action === 'if') {\n\t\t\t\ttxt += `if(${inner}){`;\n\t\t\t\tstack.push(action);\n\t\t\t} else if (action === 'elif') {\n\t\t\t\ttxt += `}else if(${inner}){`;\n\t\t\t} else if (action === 'else') {\n\t\t\t\ttxt += `}else{`;\n\t\t\t} else if (action in extra) {\n\t\t\t\tif (inner) {\n\t\t\t\t\ttmp = [];\n\t\t\t\t\t// parse arguments, `defer=true` -> `{ defer: true }`\n\t\t\t\t\twhile (match = ARGS.exec(inner)) tmp.push(match[1] + ':' + match[2]);\n\t\t\t\t\tinner = tmp.length ? '{' + tmp.join() + '}' : '';\n\t\t\t\t}\n\t\t\t\tinner = inner || '{}';\n\t\t\t\ttmp = options.async ? 'await ' : '';\n\t\t\t\twip += '${' + tmp + '$$2.' + action + '(' + inner + ',$$2)}';\n\t\t\t} else {\n\t\t\t\tthrow new Error(`Unknown \"${action}\" block`);\n\t\t\t}\n\t\t} else if (char === '/') {\n\t\t\taction = inner.substring(1);\n\t\t\tinner = stack.pop();\n\t\t\tclose();\n\t\t\tif (action === inner) txt += '}';\n\t\t\telse throw new Error(`Expected to close \"${inner}\" block; closed \"${action}\" instead`);\n\t\t} else {\n\t\t\tif (match[0].charAt(2) === '{') wip += '${' + inner + '}'; // {{{ raw }}}\n\t\t\telse wip += '${$$1(' + inner + ')}';\n\t\t\tif (options.loose) {\n\t\t\t\twhile (tmp = VAR.exec(inner)) {\n\t\t\t\t\tinitials.add(tmp[1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (stack.length > 0) {\n\t\tthrow new Error(`Unterminated \"${stack.pop()}\" block`);\n\t}\n\n\tif (last < input.length) {\n\t\twip += input.substring(last).replace(ENDLINES, '');\n\t}\n\n\tclose();\n\n\ttmp = initials.size ? `{${ [...initials].join() }}=$$3,x` : ' x';\n\treturn `var${tmp + txt}return x`;\n}\n\nexport function esc(value) {\n\tvalue = (value == null) ? '' : '' + value;\n\tlet last=ESCAPE.lastIndex=0, tmp=0, out='';\n\twhile (ESCAPE.test(value)) {\n\t\ttmp = ESCAPE.lastIndex - 1;\n\t\tout += value.substring(last, tmp) + CHARS[value[tmp]];\n\t\tlast = tmp + 1;\n\t}\n\treturn out + value.substring(last);\n}\n\nexport function compile(input, options={}) {\n\treturn new (options.async ? (async()=>{}).constructor : Function)(\n\t\t'$$1', '$$2', '$$3', gen(input, options)\n\t).bind(0, options.escape || esc, options.blocks);\n}\n\nexport function transform(input, options={}) {\n\treturn (\n\t\toptions.format === 'cjs'\n\t\t? 'var $$1=require(\"tempura\").esc;module.exports='\n\t\t: 'import{esc as $$1}from\"tempura\";export default '\n\t) + (\n\t\toptions.async ? 'async ' : ''\n\t) + 'function($$3,$$2){'+gen(input, options)+'}';\n}\n","import {\n debug_default\n} from \"./chunk-OVQD25FW.js\";\n\n// src/stubs/manager.ts\nimport { join as join2 } from \"path\";\nimport { cp } from \"fs/promises\";\nimport { RuntimeException as RuntimeException2, fsReadAll } from \"@poppinss/utils\";\n\n// src/stubs/stub.ts\nimport * as tempura from \"tempura\";\nimport string from \"@poppinss/utils/string\";\nimport { dirname, isAbsolute } from \"path\";\nimport { RuntimeException } from \"@poppinss/utils\";\nimport { mkdir, writeFile } from \"fs/promises\";\nimport stringHelpers from \"@poppinss/utils/string\";\nimport StringBuilder from \"@poppinss/utils/string_builder\";\n\n// src/helpers.ts\nimport { join } from \"path\";\nimport { access, readFile } from \"fs/promises\";\nasync function readFileFromSources(fileName, sources) {\n for (let source of sources) {\n const filePath = join(source, fileName);\n const contents = await readFileOptional(filePath);\n if (contents !== null) {\n return {\n contents,\n filePath,\n fileName,\n source\n };\n }\n }\n return null;\n}\nasync function readFileOptional(filePath) {\n try {\n return await readFile(filePath, \"utf-8\");\n } catch (error) {\n if (error.code !== \"ENOENT\") {\n throw error;\n }\n return null;\n }\n}\nasync function pathExists(path) {\n try {\n await access(path);\n return true;\n } catch {\n return false;\n }\n}\nfunction parseStubExports(contents) {\n const chunks = contents.split(/\\r\\n|\\n/);\n const body = [];\n const exportedBlocks = [];\n chunks.forEach((line) => {\n if (line.includes(\"<!--EXPORT_START-->\")) {\n let [inital, rest] = line.split(\"<!--EXPORT_START-->\");\n let [exports, remaining] = rest.split(\"<!--EXPORT_END-->\");\n inital = inital.trim();\n remaining = remaining.trim();\n const remainingContents = inital && remaining ? `${inital}\n${remaining}` : inital || remaining || \"\";\n exportedBlocks.push(exports);\n if (remainingContents) {\n body.push(remainingContents);\n }\n } else {\n body.push(line);\n }\n });\n const attributes = exportedBlocks.reduce(\n (result, block) => {\n Object.assign(result, JSON.parse(block));\n return result;\n },\n {}\n );\n return { attributes, body: body.join(\"\\n\") };\n}\n\n// src/stubs/stub.ts\nfunction stubStringBuilder(value) {\n return new StringBuilder(value);\n}\nObject.assign(stubStringBuilder, stringHelpers);\nvar Stub = class {\n /**\n * The absolute path to the stub file. Need it for reporting\n * errors\n */\n #stubPath;\n /**\n * The contents of the stub to process\n */\n #stubContents;\n /**\n * Application class reference\n */\n #app;\n constructor(app, stubContents, stubPath) {\n this.#app = app;\n this.#stubPath = stubPath;\n this.#stubContents = stubContents;\n }\n /**\n * Patch error stack and point it to the stub file\n */\n #patchErrorStack(error) {\n const stack = error.stack.split(\"\\n\");\n stack.splice(1, 0, ` at anonymous (${this.#stubPath}:0:0)`);\n error.stack = stack.join(\"\\n\");\n }\n /**\n * Patch tempura error stack and point it to the stub file\n */\n #patchTempuraStack(error) {\n const stack = error.stack.split(\"\\n\");\n const templateErrorLine = stack[1].match(/<anonymous>:(\\d+):\\d+\\)$/);\n if (!templateErrorLine) {\n stack.splice(1, 0, ` at anonymous (${this.#stubPath}:0:0)`);\n } else {\n stack.splice(1, 0, ` at anonymous (${this.#stubPath}:${templateErrorLine[1]}:0)`);\n }\n error.stack = stack.join(\"\\n\");\n }\n /**\n * Validates the \"to\" attribute\n */\n #validateToAttribute(attributes) {\n if (!attributes.to) {\n const error = new RuntimeException(`Missing \"to\" attribute in stub exports`);\n throw error;\n }\n if (!isAbsolute(attributes.to)) {\n const error = new RuntimeException(\n `The value for \"to\" attribute must be an absolute file path`\n );\n throw error;\n }\n }\n /**\n * Returns the default state for the stub\n */\n #getStubDefaults() {\n return {\n app: this.#app,\n randomString: string.random,\n generators: this.#app.generators,\n exports: (value) => {\n return `<!--EXPORT_START-->${JSON.stringify(value)}<!--EXPORT_END-->`;\n },\n string: stubStringBuilder\n };\n }\n /**\n * Renders stub using tempura templating syntax.\n */\n async #renderStub(data) {\n try {\n const render = tempura.compile(this.#stubContents, {\n props: Object.keys(data)\n });\n return render(data).trim();\n } catch (error) {\n this.#patchTempuraStack(error);\n throw error;\n }\n }\n /**\n * Parsers the stub exports\n */\n #parseExports(stubOutput) {\n try {\n const { body, attributes } = parseStubExports(stubOutput);\n this.#validateToAttribute(attributes);\n return { attributes, body };\n } catch (error) {\n this.#patchErrorStack(error);\n throw error;\n }\n }\n /**\n * Prepare stub to be written to the disk\n */\n async prepare(stubData) {\n const data = {\n ...this.#getStubDefaults(),\n ...stubData\n };\n const { attributes, body } = this.#parseExports(await this.#renderStub(data));\n debug_default(\"prepared stub %s\", body);\n debug_default(\"stub attributes %O\", attributes);\n return {\n contents: body,\n destination: attributes.to,\n force: stubData.force !== void 0 ? stubData.force : !!attributes.force,\n attributes\n };\n }\n /**\n * Generate resource for the stub. Writes file to the disk\n */\n async generate(stubData) {\n const { force, ...stub } = await this.prepare(stubData);\n const hasFile = await pathExists(stub.destination);\n const directory = dirname(stub.destination);\n if (!hasFile) {\n debug_default(\"writing file to %s\", stub.destination);\n await mkdir(directory, { recursive: true });\n await writeFile(stub.destination, stub.contents);\n return {\n status: \"created\",\n skipReason: null,\n ...stub\n };\n }\n if (hasFile && force) {\n debug_default(\"overwriting file to %s\", stub.destination);\n await mkdir(directory, { recursive: true });\n await writeFile(stub.destination, stub.contents);\n return {\n status: \"force_created\",\n skipReason: null,\n ...stub\n };\n }\n return {\n status: \"skipped\",\n skipReason: \"File already exists\",\n ...stub\n };\n }\n};\n\n// src/stubs/manager.ts\nvar StubsManager = class {\n #app;\n /**\n * Absolute path to the directory where stubs should\n * be published or read from with priority\n */\n #publishTarget;\n constructor(app, publishTarget) {\n this.#app = app;\n this.#publishTarget = publishTarget;\n }\n /**\n * Returns the path to the stubs source directory of a package\n */\n async #getPackageSource(packageName) {\n const pkgMainExports = await this.#app.import(packageName);\n if (!pkgMainExports.stubsRoot) {\n throw new RuntimeException2(\n `Cannot resolve stubs from package \"${packageName}\". Make sure the package entrypoint exports \"stubsRoot\" variable`\n );\n }\n return pkgMainExports.stubsRoot;\n }\n /**\n * Creates an instance of stub by its name. The lookup is performed inside\n * the publishTarget and the optional source or pkg destination.\n */\n async build(stubName, options) {\n const sources = [this.#publishTarget];\n if (options?.source) {\n sources.push(options.source);\n }\n if (options?.pkg) {\n sources.push(await this.#getPackageSource(options.pkg));\n }\n debug_default('finding stub \"%s\" in sources \"%O\"', stubName, sources);\n const file = await readFileFromSources(stubName, sources);\n if (!file) {\n throw new RuntimeException2(`Unable to find stub \"${stubName}\"`, {\n cause: `Scanned locations: \n${sources.join(\"\\n\")}`\n });\n }\n debug_default('building stub \"%s\"', file.filePath);\n return new Stub(this.#app, file.contents, file.filePath);\n }\n /**\n * Copy one or more stub files from a custom location to publish\n * target.\n */\n async copy(stubPath, options) {\n const filesCopied = [];\n const copyOptions = {\n recursive: true,\n force: options.overwrite === true ? true : false\n };\n const source = \"source\" in options ? join2(options.source, stubPath) : join2(await this.#getPackageSource(options.pkg), stubPath);\n try {\n const files = await fsReadAll(source, {\n filter: (path) => path === \"\" || path.endsWith(\".stub\")\n });\n debug_default('copying stubs from \"%s\" with options %O', source, copyOptions);\n debug_default('preparing to copy stubs \"%s\"', files);\n for (let filePath of files) {\n const sourcePath = join2(source, filePath);\n const destinationPath = join2(this.#publishTarget, stubPath, filePath);\n await cp(sourcePath, destinationPath, copyOptions);\n filesCopied.push(destinationPath);\n }\n return filesCopied;\n } catch (error) {\n if (error.code === \"ENOENT\") {\n const readingSource = \"source\" in options ? options.source : options.pkg;\n throw new Error(`Cannot find \"${stubPath}\" stub in \"${readingSource}\" destination`);\n }\n throw error;\n }\n }\n};\nexport {\n StubsManager\n};\n"],"names":["join","readFile","access","exports","StringBuilder","stringHelpers","RuntimeException","isAbsolute","string","tempura.compile","debug_default","dirname","mkdir","writeFile","RuntimeException2","join2","fsReadAll","cp"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"manager-OLS5T3G7-BSCDD5bV.cjs","sources":["../node_modules/.pnpm/tempura@0.4.1/node_modules/tempura/dist/index.mjs","../node_modules/.pnpm/@adonisjs+application@8.4.2_@adonisjs+config@5.0.3_@adonisjs+fold@10.2.1/node_modules/@adonisjs/application/build/manager-OLS5T3G7.js"],"sourcesContent":["const ESCAPE = /[&\"<]/g, CHARS = {\n\t'\"': '&quot;',\n\t'&': '&amp;',\n\t'<': '&lt',\n};\n\nconst ENDLINES = /[\\r\\n]+$/g;\nconst CURLY = /{{{?\\s*([\\s\\S]*?)\\s*}}}?/g;\nconst VAR = /(?:^|[-*+^|%/&=\\s])([a-zA-Z$_][\\w$]*)(?:(?=$|[-*+^|%/&=\\s]))/g;\nconst ARGS = /([a-zA-Z$_][^\\s=]*)\\s*=\\s*(([\"`'])(?:(?=(\\\\?))\\4.)*?\\3|{[^}]*}|\\[[^\\]]*]|\\S+)/g;\n\n// $$1 = escape()\n// $$2 = extra blocks\n// $$3 = template values\nfunction gen(input, options) {\n\toptions = options || {};\n\n\tlet char, num, action, tmp;\n\tlet last = CURLY.lastIndex = 0;\n\tlet wip='', txt='', match, inner;\n\n\tlet extra=options.blocks||{}, stack=[];\n\tlet initials = new Set(options.props||[]);\n\n\tfunction close() {\n\t\tif (wip.length > 0) {\n\t\t\ttxt += (txt ? 'x+=' : '=') + '`' + wip + '`;';\n\t\t} else if (txt.length === 0) {\n\t\t\ttxt = '=\"\";'\n\t\t}\n\t\twip = '';\n\t}\n\n\twhile (match = CURLY.exec(input)) {\n\t\twip += input.substring(last, match.index).replace(ENDLINES, '');\n\t\tlast = match.index + match[0].length;\n\n\t\tinner = match[1].trim();\n\t\tchar = inner.charAt(0);\n\n\t\tif (char === '!') {\n\t\t\t// comment, continue\n\t\t} else if (char === '#') {\n\t\t\tclose();\n\t\t\t[, action, inner] = /^#\\s*(\\w[\\w\\d]+)\\s*([^]*)/.exec(inner);\n\n\t\t\tif (action === 'expect') {\n\t\t\t\tinner.split(/[\\n\\r\\s\\t]*,[\\n\\r\\s\\t]*/g).forEach(key => {\n\t\t\t\t\tinitials.add(key);\n\t\t\t\t});\n\t\t\t} else if (action === 'var') {\n\t\t\t\tnum = inner.indexOf('=');\n\t\t\t\ttmp = inner.substring(0, num++).trim();\n\t\t\t\tinner = inner.substring(num).trim().replace(/[;]$/, '');\n\t\t\t\ttxt += `var ${tmp}=${inner};`;\n\t\t\t} else if (action === 'each') {\n\t\t\t\tnum = inner.indexOf(' as ');\n\t\t\t\tstack.push(action);\n\t\t\t\tif (!~num) {\n\t\t\t\t\ttxt += `for(var i=0,$$a=${inner};i<$$a.length;i++){`;\n\t\t\t\t} else {\n\t\t\t\t\ttmp = inner.substring(0, num).trim();\n\t\t\t\t\tinner = inner.substring(num + 4).trim();\n\t\t\t\t\tlet [item, idx='i'] = inner.replace(/[()\\s]/g, '').split(','); // (item, idx?)\n\t\t\t\t\ttxt += `for(var ${idx}=0,${item},$$a=${tmp};${idx}<$$a.length;${idx}++){${item}=$$a[${idx}];`;\n\t\t\t\t}\n\t\t\t} else if (action === 'if') {\n\t\t\t\ttxt += `if(${inner}){`;\n\t\t\t\tstack.push(action);\n\t\t\t} else if (action === 'elif') {\n\t\t\t\ttxt += `}else if(${inner}){`;\n\t\t\t} else if (action === 'else') {\n\t\t\t\ttxt += `}else{`;\n\t\t\t} else if (action in extra) {\n\t\t\t\tif (inner) {\n\t\t\t\t\ttmp = [];\n\t\t\t\t\t// parse arguments, `defer=true` -> `{ defer: true }`\n\t\t\t\t\twhile (match = ARGS.exec(inner)) tmp.push(match[1] + ':' + match[2]);\n\t\t\t\t\tinner = tmp.length ? '{' + tmp.join() + '}' : '';\n\t\t\t\t}\n\t\t\t\tinner = inner || '{}';\n\t\t\t\ttmp = options.async ? 'await ' : '';\n\t\t\t\twip += '${' + tmp + '$$2.' + action + '(' + inner + ',$$2)}';\n\t\t\t} else {\n\t\t\t\tthrow new Error(`Unknown \"${action}\" block`);\n\t\t\t}\n\t\t} else if (char === '/') {\n\t\t\taction = inner.substring(1);\n\t\t\tinner = stack.pop();\n\t\t\tclose();\n\t\t\tif (action === inner) txt += '}';\n\t\t\telse throw new Error(`Expected to close \"${inner}\" block; closed \"${action}\" instead`);\n\t\t} else {\n\t\t\tif (match[0].charAt(2) === '{') wip += '${' + inner + '}'; // {{{ raw }}}\n\t\t\telse wip += '${$$1(' + inner + ')}';\n\t\t\tif (options.loose) {\n\t\t\t\twhile (tmp = VAR.exec(inner)) {\n\t\t\t\t\tinitials.add(tmp[1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (stack.length > 0) {\n\t\tthrow new Error(`Unterminated \"${stack.pop()}\" block`);\n\t}\n\n\tif (last < input.length) {\n\t\twip += input.substring(last).replace(ENDLINES, '');\n\t}\n\n\tclose();\n\n\ttmp = initials.size ? `{${ [...initials].join() }}=$$3,x` : ' x';\n\treturn `var${tmp + txt}return x`;\n}\n\nexport function esc(value) {\n\tvalue = (value == null) ? '' : '' + value;\n\tlet last=ESCAPE.lastIndex=0, tmp=0, out='';\n\twhile (ESCAPE.test(value)) {\n\t\ttmp = ESCAPE.lastIndex - 1;\n\t\tout += value.substring(last, tmp) + CHARS[value[tmp]];\n\t\tlast = tmp + 1;\n\t}\n\treturn out + value.substring(last);\n}\n\nexport function compile(input, options={}) {\n\treturn new (options.async ? (async()=>{}).constructor : Function)(\n\t\t'$$1', '$$2', '$$3', gen(input, options)\n\t).bind(0, options.escape || esc, options.blocks);\n}\n\nexport function transform(input, options={}) {\n\treturn (\n\t\toptions.format === 'cjs'\n\t\t? 'var $$1=require(\"tempura\").esc;module.exports='\n\t\t: 'import{esc as $$1}from\"tempura\";export default '\n\t) + (\n\t\toptions.async ? 'async ' : ''\n\t) + 'function($$3,$$2){'+gen(input, options)+'}';\n}\n","import {\n debug_default\n} from \"./chunk-OVQD25FW.js\";\n\n// src/stubs/manager.ts\nimport { join as join2 } from \"path\";\nimport { cp } from \"fs/promises\";\nimport { RuntimeException as RuntimeException2, fsReadAll } from \"@poppinss/utils\";\n\n// src/stubs/stub.ts\nimport * as tempura from \"tempura\";\nimport string from \"@poppinss/utils/string\";\nimport { dirname, isAbsolute } from \"path\";\nimport { RuntimeException } from \"@poppinss/utils\";\nimport { mkdir, writeFile } from \"fs/promises\";\nimport stringHelpers from \"@poppinss/utils/string\";\nimport StringBuilder from \"@poppinss/utils/string_builder\";\n\n// src/helpers.ts\nimport { join } from \"path\";\nimport { access, readFile } from \"fs/promises\";\nasync function readFileFromSources(fileName, sources) {\n for (let source of sources) {\n const filePath = join(source, fileName);\n const contents = await readFileOptional(filePath);\n if (contents !== null) {\n return {\n contents,\n filePath,\n fileName,\n source\n };\n }\n }\n return null;\n}\nasync function readFileOptional(filePath) {\n try {\n return await readFile(filePath, \"utf-8\");\n } catch (error) {\n if (error.code !== \"ENOENT\") {\n throw error;\n }\n return null;\n }\n}\nasync function pathExists(path) {\n try {\n await access(path);\n return true;\n } catch {\n return false;\n }\n}\nfunction parseStubExports(contents) {\n const chunks = contents.split(/\\r\\n|\\n/);\n const body = [];\n const exportedBlocks = [];\n chunks.forEach((line) => {\n if (line.includes(\"<!--EXPORT_START-->\")) {\n let [inital, rest] = line.split(\"<!--EXPORT_START-->\");\n let [exports, remaining] = rest.split(\"<!--EXPORT_END-->\");\n inital = inital.trim();\n remaining = remaining.trim();\n const remainingContents = inital && remaining ? `${inital}\n${remaining}` : inital || remaining || \"\";\n exportedBlocks.push(exports);\n if (remainingContents) {\n body.push(remainingContents);\n }\n } else {\n body.push(line);\n }\n });\n const attributes = exportedBlocks.reduce(\n (result, block) => {\n Object.assign(result, JSON.parse(block));\n return result;\n },\n {}\n );\n return { attributes, body: body.join(\"\\n\") };\n}\n\n// src/stubs/stub.ts\nfunction stubStringBuilder(value) {\n return new StringBuilder(value);\n}\nObject.assign(stubStringBuilder, stringHelpers);\nvar Stub = class {\n /**\n * The absolute path to the stub file. Need it for reporting\n * errors\n */\n #stubPath;\n /**\n * The contents of the stub to process\n */\n #stubContents;\n /**\n * Application class reference\n */\n #app;\n constructor(app, stubContents, stubPath) {\n this.#app = app;\n this.#stubPath = stubPath;\n this.#stubContents = stubContents;\n }\n /**\n * Patch error stack and point it to the stub file\n */\n #patchErrorStack(error) {\n const stack = error.stack.split(\"\\n\");\n stack.splice(1, 0, ` at anonymous (${this.#stubPath}:0:0)`);\n error.stack = stack.join(\"\\n\");\n }\n /**\n * Patch tempura error stack and point it to the stub file\n */\n #patchTempuraStack(error) {\n const stack = error.stack.split(\"\\n\");\n const templateErrorLine = stack[1].match(/<anonymous>:(\\d+):\\d+\\)$/);\n if (!templateErrorLine) {\n stack.splice(1, 0, ` at anonymous (${this.#stubPath}:0:0)`);\n } else {\n stack.splice(1, 0, ` at anonymous (${this.#stubPath}:${templateErrorLine[1]}:0)`);\n }\n error.stack = stack.join(\"\\n\");\n }\n /**\n * Validates the \"to\" attribute\n */\n #validateToAttribute(attributes) {\n if (!attributes.to) {\n const error = new RuntimeException(`Missing \"to\" attribute in stub exports`);\n throw error;\n }\n if (!isAbsolute(attributes.to)) {\n const error = new RuntimeException(\n `The value for \"to\" attribute must be an absolute file path`\n );\n throw error;\n }\n }\n /**\n * Returns the default state for the stub\n */\n #getStubDefaults() {\n return {\n app: this.#app,\n randomString: string.random,\n generators: this.#app.generators,\n exports: (value) => {\n return `<!--EXPORT_START-->${JSON.stringify(value)}<!--EXPORT_END-->`;\n },\n string: stubStringBuilder\n };\n }\n /**\n * Renders stub using tempura templating syntax.\n */\n async #renderStub(data) {\n try {\n const render = tempura.compile(this.#stubContents, {\n props: Object.keys(data)\n });\n return render(data).trim();\n } catch (error) {\n this.#patchTempuraStack(error);\n throw error;\n }\n }\n /**\n * Parsers the stub exports\n */\n #parseExports(stubOutput) {\n try {\n const { body, attributes } = parseStubExports(stubOutput);\n this.#validateToAttribute(attributes);\n return { attributes, body };\n } catch (error) {\n this.#patchErrorStack(error);\n throw error;\n }\n }\n /**\n * Prepare stub to be written to the disk\n */\n async prepare(stubData) {\n const data = {\n ...this.#getStubDefaults(),\n ...stubData\n };\n const { attributes, body } = this.#parseExports(await this.#renderStub(data));\n debug_default(\"prepared stub %s\", body);\n debug_default(\"stub attributes %O\", attributes);\n return {\n contents: body,\n destination: attributes.to,\n force: stubData.force !== void 0 ? stubData.force : !!attributes.force,\n attributes\n };\n }\n /**\n * Generate resource for the stub. Writes file to the disk\n */\n async generate(stubData) {\n const { force, ...stub } = await this.prepare(stubData);\n const hasFile = await pathExists(stub.destination);\n const directory = dirname(stub.destination);\n if (!hasFile) {\n debug_default(\"writing file to %s\", stub.destination);\n await mkdir(directory, { recursive: true });\n await writeFile(stub.destination, stub.contents);\n return {\n status: \"created\",\n skipReason: null,\n ...stub\n };\n }\n if (hasFile && force) {\n debug_default(\"overwriting file to %s\", stub.destination);\n await mkdir(directory, { recursive: true });\n await writeFile(stub.destination, stub.contents);\n return {\n status: \"force_created\",\n skipReason: null,\n ...stub\n };\n }\n return {\n status: \"skipped\",\n skipReason: \"File already exists\",\n ...stub\n };\n }\n};\n\n// src/stubs/manager.ts\nvar StubsManager = class {\n #app;\n /**\n * Absolute path to the directory where stubs should\n * be published or read from with priority\n */\n #publishTarget;\n constructor(app, publishTarget) {\n this.#app = app;\n this.#publishTarget = publishTarget;\n }\n /**\n * Returns the path to the stubs source directory of a package\n */\n async #getPackageSource(packageName) {\n const pkgMainExports = await this.#app.import(packageName);\n if (!pkgMainExports.stubsRoot) {\n throw new RuntimeException2(\n `Cannot resolve stubs from package \"${packageName}\". Make sure the package entrypoint exports \"stubsRoot\" variable`\n );\n }\n return pkgMainExports.stubsRoot;\n }\n /**\n * Creates an instance of stub by its name. The lookup is performed inside\n * the publishTarget and the optional source or pkg destination.\n */\n async build(stubName, options) {\n const sources = [this.#publishTarget];\n if (options?.source) {\n sources.push(options.source);\n }\n if (options?.pkg) {\n sources.push(await this.#getPackageSource(options.pkg));\n }\n debug_default('finding stub \"%s\" in sources \"%O\"', stubName, sources);\n const file = await readFileFromSources(stubName, sources);\n if (!file) {\n throw new RuntimeException2(`Unable to find stub \"${stubName}\"`, {\n cause: `Scanned locations: \n${sources.join(\"\\n\")}`\n });\n }\n debug_default('building stub \"%s\"', file.filePath);\n return new Stub(this.#app, file.contents, file.filePath);\n }\n /**\n * Copy one or more stub files from a custom location to publish\n * target.\n */\n async copy(stubPath, options) {\n const filesCopied = [];\n const copyOptions = {\n recursive: true,\n force: options.overwrite === true ? true : false\n };\n const source = \"source\" in options ? join2(options.source, stubPath) : join2(await this.#getPackageSource(options.pkg), stubPath);\n try {\n const files = await fsReadAll(source, {\n filter: (path) => path === \"\" || path.endsWith(\".stub\")\n });\n debug_default('copying stubs from \"%s\" with options %O', source, copyOptions);\n debug_default('preparing to copy stubs \"%s\"', files);\n for (let filePath of files) {\n const sourcePath = join2(source, filePath);\n const destinationPath = join2(this.#publishTarget, stubPath, filePath);\n await cp(sourcePath, destinationPath, copyOptions);\n filesCopied.push(destinationPath);\n }\n return filesCopied;\n } catch (error) {\n if (error.code === \"ENOENT\") {\n const readingSource = \"source\" in options ? options.source : options.pkg;\n throw new Error(`Cannot find \"${stubPath}\" stub in \"${readingSource}\" destination`);\n }\n throw error;\n }\n }\n};\nexport {\n StubsManager\n};\n"],"names":["join","readFile","access","exports","StringBuilder","stringHelpers","RuntimeException","isAbsolute","string","tempura.compile","debug_default","dirname","mkdir","writeFile","RuntimeException2","join2","fsReadAll","cp"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,4 +1,4 @@
1
- import { d as debug_default, m as main_default, s as string_builder_default } from "./index-CrRmg1yc.js";
1
+ import { d as debug_default, m as main_default, s as string_builder_default } from "./index-BB-Wvcta.js";
2
2
  import { join, isAbsolute, dirname } from "path";
3
3
  import { cp, mkdir, writeFile, readFile, access } from "fs/promises";
4
4
  import { R as RuntimeException, j as fsReadAll } from "./errors-v3GQyVoo.js";
@@ -415,4 +415,4 @@ ${sources.join("\n")}`
415
415
  export {
416
416
  StubsManager
417
417
  };
418
- //# sourceMappingURL=manager-OLS5T3G7-DmELgMo6.js.map
418
+ //# sourceMappingURL=manager-OLS5T3G7-DdA8L2w1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager-OLS5T3G7-DmELgMo6.js","sources":["../node_modules/.pnpm/tempura@0.4.1/node_modules/tempura/dist/index.mjs","../node_modules/.pnpm/@adonisjs+application@8.4.2_@adonisjs+config@5.0.3_@adonisjs+fold@10.2.1/node_modules/@adonisjs/application/build/manager-OLS5T3G7.js"],"sourcesContent":["const ESCAPE = /[&\"<]/g, CHARS = {\n\t'\"': '&quot;',\n\t'&': '&amp;',\n\t'<': '&lt',\n};\n\nconst ENDLINES = /[\\r\\n]+$/g;\nconst CURLY = /{{{?\\s*([\\s\\S]*?)\\s*}}}?/g;\nconst VAR = /(?:^|[-*+^|%/&=\\s])([a-zA-Z$_][\\w$]*)(?:(?=$|[-*+^|%/&=\\s]))/g;\nconst ARGS = /([a-zA-Z$_][^\\s=]*)\\s*=\\s*(([\"`'])(?:(?=(\\\\?))\\4.)*?\\3|{[^}]*}|\\[[^\\]]*]|\\S+)/g;\n\n// $$1 = escape()\n// $$2 = extra blocks\n// $$3 = template values\nfunction gen(input, options) {\n\toptions = options || {};\n\n\tlet char, num, action, tmp;\n\tlet last = CURLY.lastIndex = 0;\n\tlet wip='', txt='', match, inner;\n\n\tlet extra=options.blocks||{}, stack=[];\n\tlet initials = new Set(options.props||[]);\n\n\tfunction close() {\n\t\tif (wip.length > 0) {\n\t\t\ttxt += (txt ? 'x+=' : '=') + '`' + wip + '`;';\n\t\t} else if (txt.length === 0) {\n\t\t\ttxt = '=\"\";'\n\t\t}\n\t\twip = '';\n\t}\n\n\twhile (match = CURLY.exec(input)) {\n\t\twip += input.substring(last, match.index).replace(ENDLINES, '');\n\t\tlast = match.index + match[0].length;\n\n\t\tinner = match[1].trim();\n\t\tchar = inner.charAt(0);\n\n\t\tif (char === '!') {\n\t\t\t// comment, continue\n\t\t} else if (char === '#') {\n\t\t\tclose();\n\t\t\t[, action, inner] = /^#\\s*(\\w[\\w\\d]+)\\s*([^]*)/.exec(inner);\n\n\t\t\tif (action === 'expect') {\n\t\t\t\tinner.split(/[\\n\\r\\s\\t]*,[\\n\\r\\s\\t]*/g).forEach(key => {\n\t\t\t\t\tinitials.add(key);\n\t\t\t\t});\n\t\t\t} else if (action === 'var') {\n\t\t\t\tnum = inner.indexOf('=');\n\t\t\t\ttmp = inner.substring(0, num++).trim();\n\t\t\t\tinner = inner.substring(num).trim().replace(/[;]$/, '');\n\t\t\t\ttxt += `var ${tmp}=${inner};`;\n\t\t\t} else if (action === 'each') {\n\t\t\t\tnum = inner.indexOf(' as ');\n\t\t\t\tstack.push(action);\n\t\t\t\tif (!~num) {\n\t\t\t\t\ttxt += `for(var i=0,$$a=${inner};i<$$a.length;i++){`;\n\t\t\t\t} else {\n\t\t\t\t\ttmp = inner.substring(0, num).trim();\n\t\t\t\t\tinner = inner.substring(num + 4).trim();\n\t\t\t\t\tlet [item, idx='i'] = inner.replace(/[()\\s]/g, '').split(','); // (item, idx?)\n\t\t\t\t\ttxt += `for(var ${idx}=0,${item},$$a=${tmp};${idx}<$$a.length;${idx}++){${item}=$$a[${idx}];`;\n\t\t\t\t}\n\t\t\t} else if (action === 'if') {\n\t\t\t\ttxt += `if(${inner}){`;\n\t\t\t\tstack.push(action);\n\t\t\t} else if (action === 'elif') {\n\t\t\t\ttxt += `}else if(${inner}){`;\n\t\t\t} else if (action === 'else') {\n\t\t\t\ttxt += `}else{`;\n\t\t\t} else if (action in extra) {\n\t\t\t\tif (inner) {\n\t\t\t\t\ttmp = [];\n\t\t\t\t\t// parse arguments, `defer=true` -> `{ defer: true }`\n\t\t\t\t\twhile (match = ARGS.exec(inner)) tmp.push(match[1] + ':' + match[2]);\n\t\t\t\t\tinner = tmp.length ? '{' + tmp.join() + '}' : '';\n\t\t\t\t}\n\t\t\t\tinner = inner || '{}';\n\t\t\t\ttmp = options.async ? 'await ' : '';\n\t\t\t\twip += '${' + tmp + '$$2.' + action + '(' + inner + ',$$2)}';\n\t\t\t} else {\n\t\t\t\tthrow new Error(`Unknown \"${action}\" block`);\n\t\t\t}\n\t\t} else if (char === '/') {\n\t\t\taction = inner.substring(1);\n\t\t\tinner = stack.pop();\n\t\t\tclose();\n\t\t\tif (action === inner) txt += '}';\n\t\t\telse throw new Error(`Expected to close \"${inner}\" block; closed \"${action}\" instead`);\n\t\t} else {\n\t\t\tif (match[0].charAt(2) === '{') wip += '${' + inner + '}'; // {{{ raw }}}\n\t\t\telse wip += '${$$1(' + inner + ')}';\n\t\t\tif (options.loose) {\n\t\t\t\twhile (tmp = VAR.exec(inner)) {\n\t\t\t\t\tinitials.add(tmp[1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (stack.length > 0) {\n\t\tthrow new Error(`Unterminated \"${stack.pop()}\" block`);\n\t}\n\n\tif (last < input.length) {\n\t\twip += input.substring(last).replace(ENDLINES, '');\n\t}\n\n\tclose();\n\n\ttmp = initials.size ? `{${ [...initials].join() }}=$$3,x` : ' x';\n\treturn `var${tmp + txt}return x`;\n}\n\nexport function esc(value) {\n\tvalue = (value == null) ? '' : '' + value;\n\tlet last=ESCAPE.lastIndex=0, tmp=0, out='';\n\twhile (ESCAPE.test(value)) {\n\t\ttmp = ESCAPE.lastIndex - 1;\n\t\tout += value.substring(last, tmp) + CHARS[value[tmp]];\n\t\tlast = tmp + 1;\n\t}\n\treturn out + value.substring(last);\n}\n\nexport function compile(input, options={}) {\n\treturn new (options.async ? (async()=>{}).constructor : Function)(\n\t\t'$$1', '$$2', '$$3', gen(input, options)\n\t).bind(0, options.escape || esc, options.blocks);\n}\n\nexport function transform(input, options={}) {\n\treturn (\n\t\toptions.format === 'cjs'\n\t\t? 'var $$1=require(\"tempura\").esc;module.exports='\n\t\t: 'import{esc as $$1}from\"tempura\";export default '\n\t) + (\n\t\toptions.async ? 'async ' : ''\n\t) + 'function($$3,$$2){'+gen(input, options)+'}';\n}\n","import {\n debug_default\n} from \"./chunk-OVQD25FW.js\";\n\n// src/stubs/manager.ts\nimport { join as join2 } from \"path\";\nimport { cp } from \"fs/promises\";\nimport { RuntimeException as RuntimeException2, fsReadAll } from \"@poppinss/utils\";\n\n// src/stubs/stub.ts\nimport * as tempura from \"tempura\";\nimport string from \"@poppinss/utils/string\";\nimport { dirname, isAbsolute } from \"path\";\nimport { RuntimeException } from \"@poppinss/utils\";\nimport { mkdir, writeFile } from \"fs/promises\";\nimport stringHelpers from \"@poppinss/utils/string\";\nimport StringBuilder from \"@poppinss/utils/string_builder\";\n\n// src/helpers.ts\nimport { join } from \"path\";\nimport { access, readFile } from \"fs/promises\";\nasync function readFileFromSources(fileName, sources) {\n for (let source of sources) {\n const filePath = join(source, fileName);\n const contents = await readFileOptional(filePath);\n if (contents !== null) {\n return {\n contents,\n filePath,\n fileName,\n source\n };\n }\n }\n return null;\n}\nasync function readFileOptional(filePath) {\n try {\n return await readFile(filePath, \"utf-8\");\n } catch (error) {\n if (error.code !== \"ENOENT\") {\n throw error;\n }\n return null;\n }\n}\nasync function pathExists(path) {\n try {\n await access(path);\n return true;\n } catch {\n return false;\n }\n}\nfunction parseStubExports(contents) {\n const chunks = contents.split(/\\r\\n|\\n/);\n const body = [];\n const exportedBlocks = [];\n chunks.forEach((line) => {\n if (line.includes(\"<!--EXPORT_START-->\")) {\n let [inital, rest] = line.split(\"<!--EXPORT_START-->\");\n let [exports, remaining] = rest.split(\"<!--EXPORT_END-->\");\n inital = inital.trim();\n remaining = remaining.trim();\n const remainingContents = inital && remaining ? `${inital}\n${remaining}` : inital || remaining || \"\";\n exportedBlocks.push(exports);\n if (remainingContents) {\n body.push(remainingContents);\n }\n } else {\n body.push(line);\n }\n });\n const attributes = exportedBlocks.reduce(\n (result, block) => {\n Object.assign(result, JSON.parse(block));\n return result;\n },\n {}\n );\n return { attributes, body: body.join(\"\\n\") };\n}\n\n// src/stubs/stub.ts\nfunction stubStringBuilder(value) {\n return new StringBuilder(value);\n}\nObject.assign(stubStringBuilder, stringHelpers);\nvar Stub = class {\n /**\n * The absolute path to the stub file. Need it for reporting\n * errors\n */\n #stubPath;\n /**\n * The contents of the stub to process\n */\n #stubContents;\n /**\n * Application class reference\n */\n #app;\n constructor(app, stubContents, stubPath) {\n this.#app = app;\n this.#stubPath = stubPath;\n this.#stubContents = stubContents;\n }\n /**\n * Patch error stack and point it to the stub file\n */\n #patchErrorStack(error) {\n const stack = error.stack.split(\"\\n\");\n stack.splice(1, 0, ` at anonymous (${this.#stubPath}:0:0)`);\n error.stack = stack.join(\"\\n\");\n }\n /**\n * Patch tempura error stack and point it to the stub file\n */\n #patchTempuraStack(error) {\n const stack = error.stack.split(\"\\n\");\n const templateErrorLine = stack[1].match(/<anonymous>:(\\d+):\\d+\\)$/);\n if (!templateErrorLine) {\n stack.splice(1, 0, ` at anonymous (${this.#stubPath}:0:0)`);\n } else {\n stack.splice(1, 0, ` at anonymous (${this.#stubPath}:${templateErrorLine[1]}:0)`);\n }\n error.stack = stack.join(\"\\n\");\n }\n /**\n * Validates the \"to\" attribute\n */\n #validateToAttribute(attributes) {\n if (!attributes.to) {\n const error = new RuntimeException(`Missing \"to\" attribute in stub exports`);\n throw error;\n }\n if (!isAbsolute(attributes.to)) {\n const error = new RuntimeException(\n `The value for \"to\" attribute must be an absolute file path`\n );\n throw error;\n }\n }\n /**\n * Returns the default state for the stub\n */\n #getStubDefaults() {\n return {\n app: this.#app,\n randomString: string.random,\n generators: this.#app.generators,\n exports: (value) => {\n return `<!--EXPORT_START-->${JSON.stringify(value)}<!--EXPORT_END-->`;\n },\n string: stubStringBuilder\n };\n }\n /**\n * Renders stub using tempura templating syntax.\n */\n async #renderStub(data) {\n try {\n const render = tempura.compile(this.#stubContents, {\n props: Object.keys(data)\n });\n return render(data).trim();\n } catch (error) {\n this.#patchTempuraStack(error);\n throw error;\n }\n }\n /**\n * Parsers the stub exports\n */\n #parseExports(stubOutput) {\n try {\n const { body, attributes } = parseStubExports(stubOutput);\n this.#validateToAttribute(attributes);\n return { attributes, body };\n } catch (error) {\n this.#patchErrorStack(error);\n throw error;\n }\n }\n /**\n * Prepare stub to be written to the disk\n */\n async prepare(stubData) {\n const data = {\n ...this.#getStubDefaults(),\n ...stubData\n };\n const { attributes, body } = this.#parseExports(await this.#renderStub(data));\n debug_default(\"prepared stub %s\", body);\n debug_default(\"stub attributes %O\", attributes);\n return {\n contents: body,\n destination: attributes.to,\n force: stubData.force !== void 0 ? stubData.force : !!attributes.force,\n attributes\n };\n }\n /**\n * Generate resource for the stub. Writes file to the disk\n */\n async generate(stubData) {\n const { force, ...stub } = await this.prepare(stubData);\n const hasFile = await pathExists(stub.destination);\n const directory = dirname(stub.destination);\n if (!hasFile) {\n debug_default(\"writing file to %s\", stub.destination);\n await mkdir(directory, { recursive: true });\n await writeFile(stub.destination, stub.contents);\n return {\n status: \"created\",\n skipReason: null,\n ...stub\n };\n }\n if (hasFile && force) {\n debug_default(\"overwriting file to %s\", stub.destination);\n await mkdir(directory, { recursive: true });\n await writeFile(stub.destination, stub.contents);\n return {\n status: \"force_created\",\n skipReason: null,\n ...stub\n };\n }\n return {\n status: \"skipped\",\n skipReason: \"File already exists\",\n ...stub\n };\n }\n};\n\n// src/stubs/manager.ts\nvar StubsManager = class {\n #app;\n /**\n * Absolute path to the directory where stubs should\n * be published or read from with priority\n */\n #publishTarget;\n constructor(app, publishTarget) {\n this.#app = app;\n this.#publishTarget = publishTarget;\n }\n /**\n * Returns the path to the stubs source directory of a package\n */\n async #getPackageSource(packageName) {\n const pkgMainExports = await this.#app.import(packageName);\n if (!pkgMainExports.stubsRoot) {\n throw new RuntimeException2(\n `Cannot resolve stubs from package \"${packageName}\". Make sure the package entrypoint exports \"stubsRoot\" variable`\n );\n }\n return pkgMainExports.stubsRoot;\n }\n /**\n * Creates an instance of stub by its name. The lookup is performed inside\n * the publishTarget and the optional source or pkg destination.\n */\n async build(stubName, options) {\n const sources = [this.#publishTarget];\n if (options?.source) {\n sources.push(options.source);\n }\n if (options?.pkg) {\n sources.push(await this.#getPackageSource(options.pkg));\n }\n debug_default('finding stub \"%s\" in sources \"%O\"', stubName, sources);\n const file = await readFileFromSources(stubName, sources);\n if (!file) {\n throw new RuntimeException2(`Unable to find stub \"${stubName}\"`, {\n cause: `Scanned locations: \n${sources.join(\"\\n\")}`\n });\n }\n debug_default('building stub \"%s\"', file.filePath);\n return new Stub(this.#app, file.contents, file.filePath);\n }\n /**\n * Copy one or more stub files from a custom location to publish\n * target.\n */\n async copy(stubPath, options) {\n const filesCopied = [];\n const copyOptions = {\n recursive: true,\n force: options.overwrite === true ? true : false\n };\n const source = \"source\" in options ? join2(options.source, stubPath) : join2(await this.#getPackageSource(options.pkg), stubPath);\n try {\n const files = await fsReadAll(source, {\n filter: (path) => path === \"\" || path.endsWith(\".stub\")\n });\n debug_default('copying stubs from \"%s\" with options %O', source, copyOptions);\n debug_default('preparing to copy stubs \"%s\"', files);\n for (let filePath of files) {\n const sourcePath = join2(source, filePath);\n const destinationPath = join2(this.#publishTarget, stubPath, filePath);\n await cp(sourcePath, destinationPath, copyOptions);\n filesCopied.push(destinationPath);\n }\n return filesCopied;\n } catch (error) {\n if (error.code === \"ENOENT\") {\n const readingSource = \"source\" in options ? options.source : options.pkg;\n throw new Error(`Cannot find \"${stubPath}\" stub in \"${readingSource}\" destination`);\n }\n throw error;\n }\n }\n};\nexport {\n StubsManager\n};\n"],"names":["StringBuilder","stringHelpers","string","tempura.compile","RuntimeException2","join2"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"manager-OLS5T3G7-DdA8L2w1.js","sources":["../node_modules/.pnpm/tempura@0.4.1/node_modules/tempura/dist/index.mjs","../node_modules/.pnpm/@adonisjs+application@8.4.2_@adonisjs+config@5.0.3_@adonisjs+fold@10.2.1/node_modules/@adonisjs/application/build/manager-OLS5T3G7.js"],"sourcesContent":["const ESCAPE = /[&\"<]/g, CHARS = {\n\t'\"': '&quot;',\n\t'&': '&amp;',\n\t'<': '&lt',\n};\n\nconst ENDLINES = /[\\r\\n]+$/g;\nconst CURLY = /{{{?\\s*([\\s\\S]*?)\\s*}}}?/g;\nconst VAR = /(?:^|[-*+^|%/&=\\s])([a-zA-Z$_][\\w$]*)(?:(?=$|[-*+^|%/&=\\s]))/g;\nconst ARGS = /([a-zA-Z$_][^\\s=]*)\\s*=\\s*(([\"`'])(?:(?=(\\\\?))\\4.)*?\\3|{[^}]*}|\\[[^\\]]*]|\\S+)/g;\n\n// $$1 = escape()\n// $$2 = extra blocks\n// $$3 = template values\nfunction gen(input, options) {\n\toptions = options || {};\n\n\tlet char, num, action, tmp;\n\tlet last = CURLY.lastIndex = 0;\n\tlet wip='', txt='', match, inner;\n\n\tlet extra=options.blocks||{}, stack=[];\n\tlet initials = new Set(options.props||[]);\n\n\tfunction close() {\n\t\tif (wip.length > 0) {\n\t\t\ttxt += (txt ? 'x+=' : '=') + '`' + wip + '`;';\n\t\t} else if (txt.length === 0) {\n\t\t\ttxt = '=\"\";'\n\t\t}\n\t\twip = '';\n\t}\n\n\twhile (match = CURLY.exec(input)) {\n\t\twip += input.substring(last, match.index).replace(ENDLINES, '');\n\t\tlast = match.index + match[0].length;\n\n\t\tinner = match[1].trim();\n\t\tchar = inner.charAt(0);\n\n\t\tif (char === '!') {\n\t\t\t// comment, continue\n\t\t} else if (char === '#') {\n\t\t\tclose();\n\t\t\t[, action, inner] = /^#\\s*(\\w[\\w\\d]+)\\s*([^]*)/.exec(inner);\n\n\t\t\tif (action === 'expect') {\n\t\t\t\tinner.split(/[\\n\\r\\s\\t]*,[\\n\\r\\s\\t]*/g).forEach(key => {\n\t\t\t\t\tinitials.add(key);\n\t\t\t\t});\n\t\t\t} else if (action === 'var') {\n\t\t\t\tnum = inner.indexOf('=');\n\t\t\t\ttmp = inner.substring(0, num++).trim();\n\t\t\t\tinner = inner.substring(num).trim().replace(/[;]$/, '');\n\t\t\t\ttxt += `var ${tmp}=${inner};`;\n\t\t\t} else if (action === 'each') {\n\t\t\t\tnum = inner.indexOf(' as ');\n\t\t\t\tstack.push(action);\n\t\t\t\tif (!~num) {\n\t\t\t\t\ttxt += `for(var i=0,$$a=${inner};i<$$a.length;i++){`;\n\t\t\t\t} else {\n\t\t\t\t\ttmp = inner.substring(0, num).trim();\n\t\t\t\t\tinner = inner.substring(num + 4).trim();\n\t\t\t\t\tlet [item, idx='i'] = inner.replace(/[()\\s]/g, '').split(','); // (item, idx?)\n\t\t\t\t\ttxt += `for(var ${idx}=0,${item},$$a=${tmp};${idx}<$$a.length;${idx}++){${item}=$$a[${idx}];`;\n\t\t\t\t}\n\t\t\t} else if (action === 'if') {\n\t\t\t\ttxt += `if(${inner}){`;\n\t\t\t\tstack.push(action);\n\t\t\t} else if (action === 'elif') {\n\t\t\t\ttxt += `}else if(${inner}){`;\n\t\t\t} else if (action === 'else') {\n\t\t\t\ttxt += `}else{`;\n\t\t\t} else if (action in extra) {\n\t\t\t\tif (inner) {\n\t\t\t\t\ttmp = [];\n\t\t\t\t\t// parse arguments, `defer=true` -> `{ defer: true }`\n\t\t\t\t\twhile (match = ARGS.exec(inner)) tmp.push(match[1] + ':' + match[2]);\n\t\t\t\t\tinner = tmp.length ? '{' + tmp.join() + '}' : '';\n\t\t\t\t}\n\t\t\t\tinner = inner || '{}';\n\t\t\t\ttmp = options.async ? 'await ' : '';\n\t\t\t\twip += '${' + tmp + '$$2.' + action + '(' + inner + ',$$2)}';\n\t\t\t} else {\n\t\t\t\tthrow new Error(`Unknown \"${action}\" block`);\n\t\t\t}\n\t\t} else if (char === '/') {\n\t\t\taction = inner.substring(1);\n\t\t\tinner = stack.pop();\n\t\t\tclose();\n\t\t\tif (action === inner) txt += '}';\n\t\t\telse throw new Error(`Expected to close \"${inner}\" block; closed \"${action}\" instead`);\n\t\t} else {\n\t\t\tif (match[0].charAt(2) === '{') wip += '${' + inner + '}'; // {{{ raw }}}\n\t\t\telse wip += '${$$1(' + inner + ')}';\n\t\t\tif (options.loose) {\n\t\t\t\twhile (tmp = VAR.exec(inner)) {\n\t\t\t\t\tinitials.add(tmp[1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (stack.length > 0) {\n\t\tthrow new Error(`Unterminated \"${stack.pop()}\" block`);\n\t}\n\n\tif (last < input.length) {\n\t\twip += input.substring(last).replace(ENDLINES, '');\n\t}\n\n\tclose();\n\n\ttmp = initials.size ? `{${ [...initials].join() }}=$$3,x` : ' x';\n\treturn `var${tmp + txt}return x`;\n}\n\nexport function esc(value) {\n\tvalue = (value == null) ? '' : '' + value;\n\tlet last=ESCAPE.lastIndex=0, tmp=0, out='';\n\twhile (ESCAPE.test(value)) {\n\t\ttmp = ESCAPE.lastIndex - 1;\n\t\tout += value.substring(last, tmp) + CHARS[value[tmp]];\n\t\tlast = tmp + 1;\n\t}\n\treturn out + value.substring(last);\n}\n\nexport function compile(input, options={}) {\n\treturn new (options.async ? (async()=>{}).constructor : Function)(\n\t\t'$$1', '$$2', '$$3', gen(input, options)\n\t).bind(0, options.escape || esc, options.blocks);\n}\n\nexport function transform(input, options={}) {\n\treturn (\n\t\toptions.format === 'cjs'\n\t\t? 'var $$1=require(\"tempura\").esc;module.exports='\n\t\t: 'import{esc as $$1}from\"tempura\";export default '\n\t) + (\n\t\toptions.async ? 'async ' : ''\n\t) + 'function($$3,$$2){'+gen(input, options)+'}';\n}\n","import {\n debug_default\n} from \"./chunk-OVQD25FW.js\";\n\n// src/stubs/manager.ts\nimport { join as join2 } from \"path\";\nimport { cp } from \"fs/promises\";\nimport { RuntimeException as RuntimeException2, fsReadAll } from \"@poppinss/utils\";\n\n// src/stubs/stub.ts\nimport * as tempura from \"tempura\";\nimport string from \"@poppinss/utils/string\";\nimport { dirname, isAbsolute } from \"path\";\nimport { RuntimeException } from \"@poppinss/utils\";\nimport { mkdir, writeFile } from \"fs/promises\";\nimport stringHelpers from \"@poppinss/utils/string\";\nimport StringBuilder from \"@poppinss/utils/string_builder\";\n\n// src/helpers.ts\nimport { join } from \"path\";\nimport { access, readFile } from \"fs/promises\";\nasync function readFileFromSources(fileName, sources) {\n for (let source of sources) {\n const filePath = join(source, fileName);\n const contents = await readFileOptional(filePath);\n if (contents !== null) {\n return {\n contents,\n filePath,\n fileName,\n source\n };\n }\n }\n return null;\n}\nasync function readFileOptional(filePath) {\n try {\n return await readFile(filePath, \"utf-8\");\n } catch (error) {\n if (error.code !== \"ENOENT\") {\n throw error;\n }\n return null;\n }\n}\nasync function pathExists(path) {\n try {\n await access(path);\n return true;\n } catch {\n return false;\n }\n}\nfunction parseStubExports(contents) {\n const chunks = contents.split(/\\r\\n|\\n/);\n const body = [];\n const exportedBlocks = [];\n chunks.forEach((line) => {\n if (line.includes(\"<!--EXPORT_START-->\")) {\n let [inital, rest] = line.split(\"<!--EXPORT_START-->\");\n let [exports, remaining] = rest.split(\"<!--EXPORT_END-->\");\n inital = inital.trim();\n remaining = remaining.trim();\n const remainingContents = inital && remaining ? `${inital}\n${remaining}` : inital || remaining || \"\";\n exportedBlocks.push(exports);\n if (remainingContents) {\n body.push(remainingContents);\n }\n } else {\n body.push(line);\n }\n });\n const attributes = exportedBlocks.reduce(\n (result, block) => {\n Object.assign(result, JSON.parse(block));\n return result;\n },\n {}\n );\n return { attributes, body: body.join(\"\\n\") };\n}\n\n// src/stubs/stub.ts\nfunction stubStringBuilder(value) {\n return new StringBuilder(value);\n}\nObject.assign(stubStringBuilder, stringHelpers);\nvar Stub = class {\n /**\n * The absolute path to the stub file. Need it for reporting\n * errors\n */\n #stubPath;\n /**\n * The contents of the stub to process\n */\n #stubContents;\n /**\n * Application class reference\n */\n #app;\n constructor(app, stubContents, stubPath) {\n this.#app = app;\n this.#stubPath = stubPath;\n this.#stubContents = stubContents;\n }\n /**\n * Patch error stack and point it to the stub file\n */\n #patchErrorStack(error) {\n const stack = error.stack.split(\"\\n\");\n stack.splice(1, 0, ` at anonymous (${this.#stubPath}:0:0)`);\n error.stack = stack.join(\"\\n\");\n }\n /**\n * Patch tempura error stack and point it to the stub file\n */\n #patchTempuraStack(error) {\n const stack = error.stack.split(\"\\n\");\n const templateErrorLine = stack[1].match(/<anonymous>:(\\d+):\\d+\\)$/);\n if (!templateErrorLine) {\n stack.splice(1, 0, ` at anonymous (${this.#stubPath}:0:0)`);\n } else {\n stack.splice(1, 0, ` at anonymous (${this.#stubPath}:${templateErrorLine[1]}:0)`);\n }\n error.stack = stack.join(\"\\n\");\n }\n /**\n * Validates the \"to\" attribute\n */\n #validateToAttribute(attributes) {\n if (!attributes.to) {\n const error = new RuntimeException(`Missing \"to\" attribute in stub exports`);\n throw error;\n }\n if (!isAbsolute(attributes.to)) {\n const error = new RuntimeException(\n `The value for \"to\" attribute must be an absolute file path`\n );\n throw error;\n }\n }\n /**\n * Returns the default state for the stub\n */\n #getStubDefaults() {\n return {\n app: this.#app,\n randomString: string.random,\n generators: this.#app.generators,\n exports: (value) => {\n return `<!--EXPORT_START-->${JSON.stringify(value)}<!--EXPORT_END-->`;\n },\n string: stubStringBuilder\n };\n }\n /**\n * Renders stub using tempura templating syntax.\n */\n async #renderStub(data) {\n try {\n const render = tempura.compile(this.#stubContents, {\n props: Object.keys(data)\n });\n return render(data).trim();\n } catch (error) {\n this.#patchTempuraStack(error);\n throw error;\n }\n }\n /**\n * Parsers the stub exports\n */\n #parseExports(stubOutput) {\n try {\n const { body, attributes } = parseStubExports(stubOutput);\n this.#validateToAttribute(attributes);\n return { attributes, body };\n } catch (error) {\n this.#patchErrorStack(error);\n throw error;\n }\n }\n /**\n * Prepare stub to be written to the disk\n */\n async prepare(stubData) {\n const data = {\n ...this.#getStubDefaults(),\n ...stubData\n };\n const { attributes, body } = this.#parseExports(await this.#renderStub(data));\n debug_default(\"prepared stub %s\", body);\n debug_default(\"stub attributes %O\", attributes);\n return {\n contents: body,\n destination: attributes.to,\n force: stubData.force !== void 0 ? stubData.force : !!attributes.force,\n attributes\n };\n }\n /**\n * Generate resource for the stub. Writes file to the disk\n */\n async generate(stubData) {\n const { force, ...stub } = await this.prepare(stubData);\n const hasFile = await pathExists(stub.destination);\n const directory = dirname(stub.destination);\n if (!hasFile) {\n debug_default(\"writing file to %s\", stub.destination);\n await mkdir(directory, { recursive: true });\n await writeFile(stub.destination, stub.contents);\n return {\n status: \"created\",\n skipReason: null,\n ...stub\n };\n }\n if (hasFile && force) {\n debug_default(\"overwriting file to %s\", stub.destination);\n await mkdir(directory, { recursive: true });\n await writeFile(stub.destination, stub.contents);\n return {\n status: \"force_created\",\n skipReason: null,\n ...stub\n };\n }\n return {\n status: \"skipped\",\n skipReason: \"File already exists\",\n ...stub\n };\n }\n};\n\n// src/stubs/manager.ts\nvar StubsManager = class {\n #app;\n /**\n * Absolute path to the directory where stubs should\n * be published or read from with priority\n */\n #publishTarget;\n constructor(app, publishTarget) {\n this.#app = app;\n this.#publishTarget = publishTarget;\n }\n /**\n * Returns the path to the stubs source directory of a package\n */\n async #getPackageSource(packageName) {\n const pkgMainExports = await this.#app.import(packageName);\n if (!pkgMainExports.stubsRoot) {\n throw new RuntimeException2(\n `Cannot resolve stubs from package \"${packageName}\". Make sure the package entrypoint exports \"stubsRoot\" variable`\n );\n }\n return pkgMainExports.stubsRoot;\n }\n /**\n * Creates an instance of stub by its name. The lookup is performed inside\n * the publishTarget and the optional source or pkg destination.\n */\n async build(stubName, options) {\n const sources = [this.#publishTarget];\n if (options?.source) {\n sources.push(options.source);\n }\n if (options?.pkg) {\n sources.push(await this.#getPackageSource(options.pkg));\n }\n debug_default('finding stub \"%s\" in sources \"%O\"', stubName, sources);\n const file = await readFileFromSources(stubName, sources);\n if (!file) {\n throw new RuntimeException2(`Unable to find stub \"${stubName}\"`, {\n cause: `Scanned locations: \n${sources.join(\"\\n\")}`\n });\n }\n debug_default('building stub \"%s\"', file.filePath);\n return new Stub(this.#app, file.contents, file.filePath);\n }\n /**\n * Copy one or more stub files from a custom location to publish\n * target.\n */\n async copy(stubPath, options) {\n const filesCopied = [];\n const copyOptions = {\n recursive: true,\n force: options.overwrite === true ? true : false\n };\n const source = \"source\" in options ? join2(options.source, stubPath) : join2(await this.#getPackageSource(options.pkg), stubPath);\n try {\n const files = await fsReadAll(source, {\n filter: (path) => path === \"\" || path.endsWith(\".stub\")\n });\n debug_default('copying stubs from \"%s\" with options %O', source, copyOptions);\n debug_default('preparing to copy stubs \"%s\"', files);\n for (let filePath of files) {\n const sourcePath = join2(source, filePath);\n const destinationPath = join2(this.#publishTarget, stubPath, filePath);\n await cp(sourcePath, destinationPath, copyOptions);\n filesCopied.push(destinationPath);\n }\n return filesCopied;\n } catch (error) {\n if (error.code === \"ENOENT\") {\n const readingSource = \"source\" in options ? options.source : options.pkg;\n throw new Error(`Cannot find \"${stubPath}\" stub in \"${readingSource}\" destination`);\n }\n throw error;\n }\n }\n};\nexport {\n StubsManager\n};\n"],"names":["StringBuilder","stringHelpers","string","tempura.compile","RuntimeException2","join2"],"mappings":"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","x_google_ignoreList":[0,1]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nhtio/lucid-resourceful",
3
- "version": "0.1.0-beta-015fc9ad",
3
+ "version": "0.1.0-beta-a688f806",
4
4
  "description": "A decorator-driven AdonisJS library that lets you annotate Lucid ORM models with metadata to automatically generate CRUD controllers, validation rules, OpenAPI schemas, and a unified query interface.",
5
5
  "keywords": [],
6
6
  "author": "Jak Giveon <jak@nht.io>",
@@ -110,7 +110,7 @@
110
110
  "dependencies": {
111
111
  "@poppinss/middleware": "^3.2.6",
112
112
  "fflate": "^0.8.2",
113
- "liqe": "^3.8.3",
113
+ "liqe": "^3.8.4",
114
114
  "semver": "^7.7.3"
115
115
  },
116
116
  "packageManager": "pnpm@10.8.0+sha512.0e82714d1b5b43c74610193cb20734897c1d00de89d0e18420aebc5977fa13d780a9cb05734624e81ebd81cc876cd464794850641c48b9544326b5622ca29971"