@stacksjs/actions 0.64.4 → 0.64.6

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/dist/build.js.map CHANGED
@@ -5,10 +5,10 @@
5
5
  "import type { Action as ActionType } from '@stacksjs/actions'\nimport { buddyOptions, runCommand, runCommands } from '@stacksjs/cli'\nimport { err } from '@stacksjs/error-handling'\nimport { log } from '@stacksjs/logging'\nimport * as p from '@stacksjs/path'\nimport { glob } from '@stacksjs/storage'\nimport type { ActionOptions } from '@stacksjs/types'\n\ntype ActionPath = string // TODO: narrow this by automating its generation\ntype ActionName = string // TODO: narrow this by automating its generation\ntype Action = ActionPath | ActionName | string\n\n/**\n * Run an Action the Stacks way.\n *\n * @param action The action to invoke.\n * @param options The options to pass to the command.\n * @returns The result of the command.\n */\nexport async function runAction(action: Action, options?: ActionOptions) {\n // check if action is a file anywhere in ./app/Actions/**/*.ts\n // if it is, return and await the action\n const glob = new Bun.Glob('**/*.{ts,js}')\n const scanOptions = { cwd: p.userActionsPath(), onlyFiles: true }\n\n for await (const file of glob.scan(scanOptions)) {\n if (file === `${action}.ts` || file.endsWith(`${action}.ts`))\n return ((await import(/* @vite-ignore */ p.userActionsPath(file))).default as ActionType).handle()\n\n if (file === `${action}.js` || file.endsWith(`${action}.js`))\n return ((await import(/* @vite-ignore */ p.userActionsPath(file))).default as ActionType).handle()\n\n // if a custom model name is used, we need to check for it\n try {\n const a = await import(/* @vite-ignore */ p.userActionsPath(file))\n if (a.name === action) {\n console.log('a.name matches', a.name)\n return await a.handle()\n }\n } catch (error) {\n console.log('error', error)\n process.exit()\n }\n }\n\n // or else, just run the action normally by assuming the action is core Action, stored in p.actionsPath\n const opts = buddyOptions()\n const path = p.relativeActionsPath(`src/${action}.ts`)\n const cmd = `bun --bun ${path} ${opts}`.trimEnd()\n const optionsWithCwd = {\n cwd: options?.cwd || p.projectPath(),\n ...options,\n }\n\n log.debug('runAction:', cmd)\n log.debug('action options:', optionsWithCwd)\n\n return await runCommand(cmd, optionsWithCwd)\n}\n\n/**\n * Run Actions the Stacks way.\n *\n * @param actions The actions to invoke.\n * @param options The options to pass to the command.\n * @returns The result of the command.\n */\nexport async function runActions(actions: Action[], options?: ActionOptions) {\n log.debug('runActions:', actions, options)\n\n if (!actions.length) return err('No actions were specified')\n\n for (const action of actions) {\n log.debug(`running action \"${action}\"`)\n if (!hasAction(action)) return err(`The specified action \"${action}\" does not exist`)\n }\n\n const opts = buddyOptions()\n\n const o = {\n cwd: options?.cwd || p.projectPath(),\n ...options,\n }\n\n const commands = actions.map((action) => `bun --bun ${p.relativeActionsPath(`src/${action}.ts`)} ${opts}`)\n\n log.debug('commands:', commands)\n\n return await runCommands(commands, o)\n}\n\n// looks in most common locations\nexport function hasAction(action: Action) {\n // Define patterns specifically for user actions\n const userActionPatterns = [\n `${action}.ts`,\n `${action}`,\n `Dashboard/${action}.ts`,\n `Dashboard/${action}`,\n `Buddy/${action}.ts`,\n `Buddy/${action}`,\n ]\n\n // Define patterns specifically for core actions\n const actionPatterns = [`src/${action}.ts`, `src/${action}`, `${action}.ts`, `${action}`]\n\n // Check user actions path with its specific patterns\n const userActionFiles = glob.sync(userActionPatterns.map((pattern) => p.userActionsPath(pattern)))\n\n // Check actions path with its specific patterns\n const actionFiles = glob.sync(actionPatterns.map((pattern) => p.actionsPath(pattern)))\n\n return userActionFiles.length > 0 || actionFiles.length > 0\n\n // TODO: need to loop through all user actions and check whether the name is a valid action name match\n\n // return false\n}\n",
6
6
  "import { log } from '@stacksjs/logging'\nimport { customElementsDataPath } from '@stacksjs/path'\nimport { writeTextFile } from '@stacksjs/storage'\nimport library from '~/config/library'\n\nexport async function generateVsCodeCustomData() {\n try {\n log.info('Generating custom-elements.json...')\n // the version does not have to be set here,\n // it will be set automatically by the release script\n await writeTextFile({\n path: customElementsDataPath(),\n data: generateComponentInfoData(),\n })\n log.success('Generated custom-elements.json for IDEs.')\n } catch (err) {\n log.error('There was an error generating the custom-elements.json file.', err)\n }\n}\n\nexport async function generateWebTypes() {\n log.info('Generating web-types.json...')\n log.info('This feature is not yet implemented.')\n}\n\nfunction generateComponentInfoData() {\n const componentsData = JSON.stringify(library.vueComponents?.tags)\n\n return `{\n \"version\": 1.1,\n \"tags\": ${componentsData}\n}\n`\n}\n",
7
7
  "import type { LibraryConfig } from '@stacksjs/types'\n\n/**\n * **Library Configuration**\n *\n * This configuration defines all of your library options. Because Stacks is fully-typed, you\n * may hover any of the options below and the definitions will be provided. In case you\n * have any questions, feel free to reach out via Discord or GitHub Discussions.\n */\nexport default {\n name: 'hello-world',\n owner: '@stacksjs', // you may or may not add the @ prefix here (it is added automatically)\n repository: 'stacksjs/stacks',\n license: 'MIT',\n author: 'Chris Breuer',\n contributors: ['Chris Breuer <chris@stacksjs.org>'],\n defaultLanguage: 'en',\n releaseable: true,\n\n vueComponents: {\n name: 'hello-world-vue',\n description: 'Your Vue component library description',\n keywords: ['component', 'library', 'vue', 'vite', 'typescript', 'javascript'],\n tags: [\n {\n name: ['HelloWorld', 'AppHelloWorld'],\n description: 'The Hello World custom element, built via this framework.',\n attributes: [\n {\n name: 'greeting',\n description: 'The greeting.',\n },\n ],\n },\n ],\n },\n\n webComponents: {\n name: 'hello-world-elements',\n description: 'Your framework agnostic web component library description.',\n keywords: ['custom-elements', 'web-components', 'library', 'framework-agnostic', 'typescript', 'javascript'],\n tags: [\n {\n name: ['HelloWorld', 'AppHelloWorld'],\n description: 'The Hello World custom element, built via this framework.',\n attributes: [\n {\n name: 'greeting',\n description: 'The greeting.',\n },\n ],\n },\n ],\n },\n\n functions: {\n name: 'hello-world-fx',\n description: 'Your function library description.',\n keywords: ['functions', 'composables', 'library', 'typescript', 'javascript'],\n shouldGenerateSourcemap: false,\n files: ['counter', 'dark'],\n },\n} satisfies LibraryConfig\n",
8
- "import process from 'node:process'\nimport { runCommand } from '@stacksjs/cli'\nimport { Action, NpmScript } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, projectPath } from '@stacksjs/path'\nimport type { GeneratorOptions } from '@stacksjs/types'\nimport { runNpmScript } from '@stacksjs/utils'\nimport { runAction } from '../helpers'\nimport { generateVsCodeCustomData as genVsCodeCustomData } from '../helpers/vscode-custom-data'\n\n// import { files } from '@stacksjs/storage'\n\nexport async function invoke(options?: GeneratorOptions) {\n if (options?.types) await generateTypes(options)\n else if (options?.entries) await generateLibEntries(options)\n else if (options?.webTypes) await generateWebTypes(options)\n else if (options?.customData) await generateVsCodeCustomData(options)\n else if (options?.ideHelpers) await generateIdeHelpers(options)\n else if (options?.componentMeta) await generateComponentMeta(options)\n else if (options?.coreSymlink) await generateCoreSymlink()\n}\n\nexport function generate(options: GeneratorOptions) {\n return invoke(options)\n}\n\nexport async function generateLibEntries(options: GeneratorOptions) {\n const result = await runAction(Action.GenerateLibraryEntries, {\n ...options,\n cwd: projectPath(),\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your library entry points', result.error)\n process.exit()\n }\n\n log.success('Library entry points generated successfully')\n}\n\nexport async function generateWebTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateWebTypes, options)\n\n if (result.isErr()) {\n log.error('There was an error generating the web-types.json file.', result.error)\n process.exit()\n }\n\n log.success('Successfully generated the web-types.json file')\n}\n\nexport async function generateVsCodeCustomData(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating the custom-elements.json file.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // because the generated json file needs to be linted\n\n log.success('Successfully generated the custom-elements.json file')\n}\n\nexport async function generateIdeHelpers(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateIdeHelpers, options)\n\n if (result.isErr()) {\n log.error('There was an error generating IDE helpers.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated IDE helpers')\n}\n\nexport async function generateComponentMeta(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating your component meta information.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated component meta information')\n}\n\nexport async function generateTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateTypes, {\n cwd: frameworkPath(),\n ...options,\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your types.', result.error)\n process.exit()\n }\n\n log.success('Types were generated successfully')\n}\n\nexport function generatePkgxConfig() {\n // write the yaml string to a file in your project root\n // files.put(projectPath('./pkgx.yaml'), yamlStr)\n\n log.success('Successfully generated `./pkgx.yaml` based on your config')\n}\n\nexport async function generateSeeder() {\n // await seed()\n}\n\nexport async function generateCoreSymlink() {\n await runCommand(`ln -s ${frameworkPath()} ${projectPath('.stacks')}`)\n}\n",
8
+ "import process from 'node:process'\nimport { runCommand } from '@stacksjs/cli'\nimport { Action, NpmScript } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, projectPath } from '@stacksjs/path'\nimport type { GeneratorOptions } from '@stacksjs/types'\nimport { runNpmScript } from '@stacksjs/utils'\nimport { runAction } from '../helpers'\nimport { generateVsCodeCustomData as genVsCodeCustomData } from '../helpers/vscode-custom-data'\n\n// import { files } from '@stacksjs/storage'\n\nexport async function invoke(options?: GeneratorOptions) {\n if (options?.types) await generateTypes(options)\n else if (options?.entries) await generateLibEntries(options)\n else if (options?.webTypes) await generateWebTypes(options)\n else if (options?.customData) await generateVsCodeCustomData(options)\n else if (options?.ideHelpers) await generateIdeHelpers(options)\n else if (options?.componentMeta) await generateComponentMeta(options)\n else if (options?.coreSymlink) await generateCoreSymlink()\n // else if (options?.openApiSpec) await generateOpenApiSpec()\n}\n\nexport function generate(options: GeneratorOptions) {\n return invoke(options)\n}\n\nexport async function generateLibEntries(options: GeneratorOptions) {\n const result = await runAction(Action.GenerateLibraryEntries, {\n ...options,\n cwd: projectPath(),\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your library entry points', result.error)\n process.exit()\n }\n\n log.success('Library entry points generated successfully')\n}\n\nexport async function generateWebTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateWebTypes, options)\n\n if (result.isErr()) {\n log.error('There was an error generating the web-types.json file.', result.error)\n process.exit()\n }\n\n log.success('Successfully generated the web-types.json file')\n}\n\nexport async function generateVsCodeCustomData(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating the custom-elements.json file.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // because the generated json file needs to be linted\n\n log.success('Successfully generated the custom-elements.json file')\n}\n\nexport async function generateIdeHelpers(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateIdeHelpers, options)\n\n if (result.isErr()) {\n log.error('There was an error generating IDE helpers.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated IDE helpers')\n}\n\nexport async function generateComponentMeta(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating your component meta information.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated component meta information')\n}\n\nexport async function generateTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateTypes, {\n cwd: frameworkPath(),\n ...options,\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your types.', result.error)\n process.exit()\n }\n\n log.success('Types were generated successfully')\n}\n\nexport function generatePkgxConfig() {\n // write the yaml string to a file in your project root\n // files.put(projectPath('./pkgx.yaml'), yamlStr)\n\n log.success('Successfully generated `./pkgx.yaml` based on your config')\n}\n\nexport async function generateSeeder() {\n // await seed()\n}\n\nexport async function generateCoreSymlink() {\n await runCommand(`ln -s ${frameworkPath()} ${projectPath('.stacks')}`)\n}\n",
9
9
  "import { NpmScript } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport { hasComponents, hasFunctions } from '@stacksjs/storage'\nimport type { BuildOptions } from '@stacksjs/types'\nimport { runNpmScript } from '@stacksjs/utils'\nimport { generateTypes } from './generate'\n\nexport async function invoke(options: BuildOptions) {\n if (options.components) await componentLibraries(options)\n else if (options.vueComponents) await vueComponentLibrary(options)\n else if (options.webComponents || options.elements) await webComponentLibrary(options)\n else if (options.functions) await functionsLibrary(options)\n else if (options.docs) await docs(options)\n else if (options.stacks) await stacks(options)\n\n await generateTypes()\n}\n\nexport async function build(options: BuildOptions) {\n return invoke(options)\n}\n\nexport async function componentLibraries(options: BuildOptions) {\n await runNpmScript(NpmScript.GenerateEntries, options)\n await vueComponentLibrary(options)\n await webComponentLibrary(options)\n}\n\nexport async function vueComponentLibrary(options: BuildOptions) {\n if (hasComponents()) {\n log.info('Building your component library...')\n await runNpmScript(NpmScript.BuildComponents, options)\n log.success('Your component library was built successfully')\n } else {\n // todo: throw custom error here\n log.warn('No components found.')\n log.info('Before you can build components,')\n log.info('you need to have created some in the ./components folder.')\n }\n}\n\nexport async function webComponentLibrary(options: BuildOptions) {\n log.info('Building your component library for production use & npm/CDN distribution...')\n\n if (hasComponents()) {\n await runNpmScript(NpmScript.BuildWebComponents, options)\n log.success('Your Web Component library was built successfully')\n } else {\n // todo: throw custom error here\n log.info('No components found.')\n }\n}\n\nexport async function docs(options: BuildOptions) {\n log.info('Building the documentation site...')\n await runNpmScript(NpmScript.BuildDocs, options)\n log.success('Docs built successfully')\n}\n\nexport async function stacks(options: BuildOptions) {\n log.info('Building the Stacks Framework...')\n await runNpmScript(NpmScript.BuildStacks, options)\n log.success('Stacks built successfully')\n}\n\nexport async function functionsLibrary(options: BuildOptions) {\n if (hasFunctions()) {\n log.info('Building your functions library for production usages...')\n log.info('Production usages include: manual npm distribution and/or CDN distribution')\n await runNpmScript(NpmScript.BuildFunctions, options)\n log.success('Functions library built successfully')\n } else {\n log.info('No functions found')\n }\n}\n"
10
10
  ],
11
- "mappings": "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",
11
+ "mappings": "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",
12
12
  "debugId": "A6942AA5097FF91264756E2164756E21",
13
13
  "names": []
14
14
  }
package/dist/fresh.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import t from"process";import{runCommand as e}from"@stacksjs/cli";import{handleError as i}from"@stacksjs/error-handling";import{log as o}from"@stacksjs/logging";import{projectPath as m}from"@stacksjs/path";import{ExitCode as a}from"@stacksjs/types";import{cleanProject as n}from"@stacksjs/utils";o.info("Cleaning project...",{styled:!1});await n();o.info("Installing dependencies...",{styled:!1});var r=await e("bun install",{cwd:m()});if(r.isErr())i(r.error),t.exit(a.FatalError);
2
+ import t from"process";import{runCommand as i}from"@stacksjs/cli";import{handleError as m}from"@stacksjs/error-handling";import{log as o}from"@stacksjs/logging";import{projectPath as e}from"@stacksjs/path";import{ExitCode as n}from"@stacksjs/types";import{cleanProject as a}from"@stacksjs/utils";o.info("Cleaning project...");await a();o.info("Installing dependencies...");var r=await i("bun install",{cwd:e()});if(r.isErr())m(r.error),t.exit(n.FatalError);
3
3
 
4
- //# debugId=62427E7E55EE401A64756E2164756E21
4
+ //# debugId=AC4CE185E949273E64756E2164756E21
5
5
  //# sourceMappingURL=fresh.js.map
package/dist/fresh.js.map CHANGED
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/fresh.ts"],
4
4
  "sourcesContent": [
5
- "import process from 'node:process'\nimport { runCommand } from '@stacksjs/cli'\nimport { handleError } from '@stacksjs/error-handling'\nimport { log } from '@stacksjs/logging'\nimport { projectPath } from '@stacksjs/path'\nimport { ExitCode } from '@stacksjs/types'\nimport { cleanProject } from '@stacksjs/utils'\n\nlog.info('Cleaning project...', { styled: false })\nawait cleanProject()\n\nlog.info('Installing dependencies...', { styled: false })\nconst result = await runCommand('bun install', {\n cwd: projectPath(),\n})\n\nif (result.isErr()) {\n handleError(result.error)\n process.exit(ExitCode.FatalError)\n}\n"
5
+ "import process from 'node:process'\nimport { runCommand } from '@stacksjs/cli'\nimport { handleError } from '@stacksjs/error-handling'\nimport { log } from '@stacksjs/logging'\nimport { projectPath } from '@stacksjs/path'\nimport { ExitCode } from '@stacksjs/types'\nimport { cleanProject } from '@stacksjs/utils'\n\nlog.info('Cleaning project...')\nawait cleanProject()\n\nlog.info('Installing dependencies...')\nconst result = await runCommand('bun install', {\n cwd: projectPath(),\n})\n\nif (result.isErr()) {\n handleError(result.error)\n process.exit(ExitCode.FatalError)\n}\n"
6
6
  ],
7
- "mappings": ";AAAA,uBACA,qBAAS,sBACT,sBAAS,iCACT,cAAS,0BACT,sBAAS,uBACT,mBAAS,wBACT,uBAAS,wBAET,EAAI,KAAK,sBAAuB,CAAE,OAAQ,EAAM,CAAC,EACjD,MAAM,EAAa,EAEnB,EAAI,KAAK,6BAA8B,CAAE,OAAQ,EAAM,CAAC,EACxD,IAAM,EAAS,MAAM,EAAW,cAAe,CAC7C,IAAK,EAAY,CACnB,CAAC,EAED,GAAI,EAAO,MAAM,EACf,EAAY,EAAO,KAAK,EACxB,EAAQ,KAAK,EAAS,UAAU",
8
- "debugId": "62427E7E55EE401A64756E2164756E21",
7
+ "mappings": ";AAAA,uBACA,qBAAS,sBACT,sBAAS,iCACT,cAAS,0BACT,sBAAS,uBACT,mBAAS,wBACT,uBAAS,wBAET,EAAI,KAAK,qBAAqB,EAC9B,MAAM,EAAa,EAEnB,EAAI,KAAK,4BAA4B,EACrC,IAAM,EAAS,MAAM,EAAW,cAAe,CAC7C,IAAK,EAAY,CACnB,CAAC,EAED,GAAI,EAAO,MAAM,EACf,EAAY,EAAO,KAAK,EACxB,EAAQ,KAAK,EAAS,UAAU",
8
+ "debugId": "AC4CE185E949273E64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -5,9 +5,9 @@
5
5
  "import type { Action as ActionType } from '@stacksjs/actions'\nimport { buddyOptions, runCommand, runCommands } from '@stacksjs/cli'\nimport { err } from '@stacksjs/error-handling'\nimport { log } from '@stacksjs/logging'\nimport * as p from '@stacksjs/path'\nimport { glob } from '@stacksjs/storage'\nimport type { ActionOptions } from '@stacksjs/types'\n\ntype ActionPath = string // TODO: narrow this by automating its generation\ntype ActionName = string // TODO: narrow this by automating its generation\ntype Action = ActionPath | ActionName | string\n\n/**\n * Run an Action the Stacks way.\n *\n * @param action The action to invoke.\n * @param options The options to pass to the command.\n * @returns The result of the command.\n */\nexport async function runAction(action: Action, options?: ActionOptions) {\n // check if action is a file anywhere in ./app/Actions/**/*.ts\n // if it is, return and await the action\n const glob = new Bun.Glob('**/*.{ts,js}')\n const scanOptions = { cwd: p.userActionsPath(), onlyFiles: true }\n\n for await (const file of glob.scan(scanOptions)) {\n if (file === `${action}.ts` || file.endsWith(`${action}.ts`))\n return ((await import(/* @vite-ignore */ p.userActionsPath(file))).default as ActionType).handle()\n\n if (file === `${action}.js` || file.endsWith(`${action}.js`))\n return ((await import(/* @vite-ignore */ p.userActionsPath(file))).default as ActionType).handle()\n\n // if a custom model name is used, we need to check for it\n try {\n const a = await import(/* @vite-ignore */ p.userActionsPath(file))\n if (a.name === action) {\n console.log('a.name matches', a.name)\n return await a.handle()\n }\n } catch (error) {\n console.log('error', error)\n process.exit()\n }\n }\n\n // or else, just run the action normally by assuming the action is core Action, stored in p.actionsPath\n const opts = buddyOptions()\n const path = p.relativeActionsPath(`src/${action}.ts`)\n const cmd = `bun --bun ${path} ${opts}`.trimEnd()\n const optionsWithCwd = {\n cwd: options?.cwd || p.projectPath(),\n ...options,\n }\n\n log.debug('runAction:', cmd)\n log.debug('action options:', optionsWithCwd)\n\n return await runCommand(cmd, optionsWithCwd)\n}\n\n/**\n * Run Actions the Stacks way.\n *\n * @param actions The actions to invoke.\n * @param options The options to pass to the command.\n * @returns The result of the command.\n */\nexport async function runActions(actions: Action[], options?: ActionOptions) {\n log.debug('runActions:', actions, options)\n\n if (!actions.length) return err('No actions were specified')\n\n for (const action of actions) {\n log.debug(`running action \"${action}\"`)\n if (!hasAction(action)) return err(`The specified action \"${action}\" does not exist`)\n }\n\n const opts = buddyOptions()\n\n const o = {\n cwd: options?.cwd || p.projectPath(),\n ...options,\n }\n\n const commands = actions.map((action) => `bun --bun ${p.relativeActionsPath(`src/${action}.ts`)} ${opts}`)\n\n log.debug('commands:', commands)\n\n return await runCommands(commands, o)\n}\n\n// looks in most common locations\nexport function hasAction(action: Action) {\n // Define patterns specifically for user actions\n const userActionPatterns = [\n `${action}.ts`,\n `${action}`,\n `Dashboard/${action}.ts`,\n `Dashboard/${action}`,\n `Buddy/${action}.ts`,\n `Buddy/${action}`,\n ]\n\n // Define patterns specifically for core actions\n const actionPatterns = [`src/${action}.ts`, `src/${action}`, `${action}.ts`, `${action}`]\n\n // Check user actions path with its specific patterns\n const userActionFiles = glob.sync(userActionPatterns.map((pattern) => p.userActionsPath(pattern)))\n\n // Check actions path with its specific patterns\n const actionFiles = glob.sync(actionPatterns.map((pattern) => p.actionsPath(pattern)))\n\n return userActionFiles.length > 0 || actionFiles.length > 0\n\n // TODO: need to loop through all user actions and check whether the name is a valid action name match\n\n // return false\n}\n",
6
6
  "import { log } from '@stacksjs/logging'\nimport { customElementsDataPath } from '@stacksjs/path'\nimport { writeTextFile } from '@stacksjs/storage'\nimport library from '~/config/library'\n\nexport async function generateVsCodeCustomData() {\n try {\n log.info('Generating custom-elements.json...')\n // the version does not have to be set here,\n // it will be set automatically by the release script\n await writeTextFile({\n path: customElementsDataPath(),\n data: generateComponentInfoData(),\n })\n log.success('Generated custom-elements.json for IDEs.')\n } catch (err) {\n log.error('There was an error generating the custom-elements.json file.', err)\n }\n}\n\nexport async function generateWebTypes() {\n log.info('Generating web-types.json...')\n log.info('This feature is not yet implemented.')\n}\n\nfunction generateComponentInfoData() {\n const componentsData = JSON.stringify(library.vueComponents?.tags)\n\n return `{\n \"version\": 1.1,\n \"tags\": ${componentsData}\n}\n`\n}\n",
7
7
  "import type { LibraryConfig } from '@stacksjs/types'\n\n/**\n * **Library Configuration**\n *\n * This configuration defines all of your library options. Because Stacks is fully-typed, you\n * may hover any of the options below and the definitions will be provided. In case you\n * have any questions, feel free to reach out via Discord or GitHub Discussions.\n */\nexport default {\n name: 'hello-world',\n owner: '@stacksjs', // you may or may not add the @ prefix here (it is added automatically)\n repository: 'stacksjs/stacks',\n license: 'MIT',\n author: 'Chris Breuer',\n contributors: ['Chris Breuer <chris@stacksjs.org>'],\n defaultLanguage: 'en',\n releaseable: true,\n\n vueComponents: {\n name: 'hello-world-vue',\n description: 'Your Vue component library description',\n keywords: ['component', 'library', 'vue', 'vite', 'typescript', 'javascript'],\n tags: [\n {\n name: ['HelloWorld', 'AppHelloWorld'],\n description: 'The Hello World custom element, built via this framework.',\n attributes: [\n {\n name: 'greeting',\n description: 'The greeting.',\n },\n ],\n },\n ],\n },\n\n webComponents: {\n name: 'hello-world-elements',\n description: 'Your framework agnostic web component library description.',\n keywords: ['custom-elements', 'web-components', 'library', 'framework-agnostic', 'typescript', 'javascript'],\n tags: [\n {\n name: ['HelloWorld', 'AppHelloWorld'],\n description: 'The Hello World custom element, built via this framework.',\n attributes: [\n {\n name: 'greeting',\n description: 'The greeting.',\n },\n ],\n },\n ],\n },\n\n functions: {\n name: 'hello-world-fx',\n description: 'Your function library description.',\n keywords: ['functions', 'composables', 'library', 'typescript', 'javascript'],\n shouldGenerateSourcemap: false,\n files: ['counter', 'dark'],\n },\n} satisfies LibraryConfig\n",
8
- "import process from 'node:process'\nimport { runCommand } from '@stacksjs/cli'\nimport { Action, NpmScript } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, projectPath } from '@stacksjs/path'\nimport type { GeneratorOptions } from '@stacksjs/types'\nimport { runNpmScript } from '@stacksjs/utils'\nimport { runAction } from '../helpers'\nimport { generateVsCodeCustomData as genVsCodeCustomData } from '../helpers/vscode-custom-data'\n\n// import { files } from '@stacksjs/storage'\n\nexport async function invoke(options?: GeneratorOptions) {\n if (options?.types) await generateTypes(options)\n else if (options?.entries) await generateLibEntries(options)\n else if (options?.webTypes) await generateWebTypes(options)\n else if (options?.customData) await generateVsCodeCustomData(options)\n else if (options?.ideHelpers) await generateIdeHelpers(options)\n else if (options?.componentMeta) await generateComponentMeta(options)\n else if (options?.coreSymlink) await generateCoreSymlink()\n}\n\nexport function generate(options: GeneratorOptions) {\n return invoke(options)\n}\n\nexport async function generateLibEntries(options: GeneratorOptions) {\n const result = await runAction(Action.GenerateLibraryEntries, {\n ...options,\n cwd: projectPath(),\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your library entry points', result.error)\n process.exit()\n }\n\n log.success('Library entry points generated successfully')\n}\n\nexport async function generateWebTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateWebTypes, options)\n\n if (result.isErr()) {\n log.error('There was an error generating the web-types.json file.', result.error)\n process.exit()\n }\n\n log.success('Successfully generated the web-types.json file')\n}\n\nexport async function generateVsCodeCustomData(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating the custom-elements.json file.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // because the generated json file needs to be linted\n\n log.success('Successfully generated the custom-elements.json file')\n}\n\nexport async function generateIdeHelpers(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateIdeHelpers, options)\n\n if (result.isErr()) {\n log.error('There was an error generating IDE helpers.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated IDE helpers')\n}\n\nexport async function generateComponentMeta(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating your component meta information.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated component meta information')\n}\n\nexport async function generateTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateTypes, {\n cwd: frameworkPath(),\n ...options,\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your types.', result.error)\n process.exit()\n }\n\n log.success('Types were generated successfully')\n}\n\nexport function generatePkgxConfig() {\n // write the yaml string to a file in your project root\n // files.put(projectPath('./pkgx.yaml'), yamlStr)\n\n log.success('Successfully generated `./pkgx.yaml` based on your config')\n}\n\nexport async function generateSeeder() {\n // await seed()\n}\n\nexport async function generateCoreSymlink() {\n await runCommand(`ln -s ${frameworkPath()} ${projectPath('.stacks')}`)\n}\n"
8
+ "import process from 'node:process'\nimport { runCommand } from '@stacksjs/cli'\nimport { Action, NpmScript } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, projectPath } from '@stacksjs/path'\nimport type { GeneratorOptions } from '@stacksjs/types'\nimport { runNpmScript } from '@stacksjs/utils'\nimport { runAction } from '../helpers'\nimport { generateVsCodeCustomData as genVsCodeCustomData } from '../helpers/vscode-custom-data'\n\n// import { files } from '@stacksjs/storage'\n\nexport async function invoke(options?: GeneratorOptions) {\n if (options?.types) await generateTypes(options)\n else if (options?.entries) await generateLibEntries(options)\n else if (options?.webTypes) await generateWebTypes(options)\n else if (options?.customData) await generateVsCodeCustomData(options)\n else if (options?.ideHelpers) await generateIdeHelpers(options)\n else if (options?.componentMeta) await generateComponentMeta(options)\n else if (options?.coreSymlink) await generateCoreSymlink()\n // else if (options?.openApiSpec) await generateOpenApiSpec()\n}\n\nexport function generate(options: GeneratorOptions) {\n return invoke(options)\n}\n\nexport async function generateLibEntries(options: GeneratorOptions) {\n const result = await runAction(Action.GenerateLibraryEntries, {\n ...options,\n cwd: projectPath(),\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your library entry points', result.error)\n process.exit()\n }\n\n log.success('Library entry points generated successfully')\n}\n\nexport async function generateWebTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateWebTypes, options)\n\n if (result.isErr()) {\n log.error('There was an error generating the web-types.json file.', result.error)\n process.exit()\n }\n\n log.success('Successfully generated the web-types.json file')\n}\n\nexport async function generateVsCodeCustomData(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating the custom-elements.json file.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // because the generated json file needs to be linted\n\n log.success('Successfully generated the custom-elements.json file')\n}\n\nexport async function generateIdeHelpers(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateIdeHelpers, options)\n\n if (result.isErr()) {\n log.error('There was an error generating IDE helpers.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated IDE helpers')\n}\n\nexport async function generateComponentMeta(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating your component meta information.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated component meta information')\n}\n\nexport async function generateTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateTypes, {\n cwd: frameworkPath(),\n ...options,\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your types.', result.error)\n process.exit()\n }\n\n log.success('Types were generated successfully')\n}\n\nexport function generatePkgxConfig() {\n // write the yaml string to a file in your project root\n // files.put(projectPath('./pkgx.yaml'), yamlStr)\n\n log.success('Successfully generated `./pkgx.yaml` based on your config')\n}\n\nexport async function generateSeeder() {\n // await seed()\n}\n\nexport async function generateCoreSymlink() {\n await runCommand(`ln -s ${frameworkPath()} ${projectPath('.stacks')}`)\n}\n"
9
9
  ],
10
- "mappings": "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",
10
+ "mappings": "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",
11
11
  "debugId": "50AC264E27E7A01864756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var X=Object.create;var{getPrototypeOf:Y,defineProperty:B,getOwnPropertyNames:Z}=Object;var _=Object.prototype.hasOwnProperty;var D=(u,f,w)=>{w=u!=null?X(Y(u)):{};const N=f||!u||!u.__esModule?B(w,"default",{value:u,enumerable:!0}):w;for(let S of Z(u))if(!_.call(N,S))B(N,S,{get:()=>u[S],enumerable:!0});return N};var F=(u,f)=>()=>(f||u((f={exports:{}}).exports,f),f.exports);var T=(u,f)=>{for(var w in f)B(u,w,{get:f[w],enumerable:!0,configurable:!0,set:(N)=>f[w]=()=>N})};var x=(u,f)=>()=>(u&&(f=u(u=0)),f);import j from"process";import{log as v}from"@stacksjs/logging";import{componentsPath as q,functionsPath as M,libraryEntryPath as C}from"@stacksjs/path";import{writeTextFile as H}from"@stacksjs/storage";import{kebabCase as O}from"@stacksjs/strings";import{ExitCode as I}from"@stacksjs/types";import{determineResetPreset as Q}from"@stacksjs/utils";var G={name:"hello-world",owner:"@stacksjs",repository:"stacksjs/stacks",license:"MIT",author:"Chris Breuer",contributors:["Chris Breuer <chris@stacksjs.org>"],defaultLanguage:"en",releaseable:!0,vueComponents:{name:"hello-world-vue",description:"Your Vue component library description",keywords:["component","library","vue","vite","typescript","javascript"],tags:[{name:["HelloWorld","AppHelloWorld"],description:"The Hello World custom element, built via this framework.",attributes:[{name:"greeting",description:"The greeting."}]}]},webComponents:{name:"hello-world-elements",description:"Your framework agnostic web component library description.",keywords:["custom-elements","web-components","library","framework-agnostic","typescript","javascript"],tags:[{name:["HelloWorld","AppHelloWorld"],description:"The Hello World custom element, built via this framework.",attributes:[{name:"greeting",description:"The greeting."}]}]},functions:{name:"hello-world-fx",description:"Your function library description.",keywords:["functions","composables","library","typescript","javascript"],shouldGenerateSourcemap:!1,files:["counter","dark"]}};async function z(u){await $(u)}async function $(u){if(u==="vue-components")await V();if(u==="web-components")await W();if(u==="functions")await s()}async function V(u="vue-components"){v.info("Ensuring Component Library Entry Point..."),await H({path:C(u),data:J(u)}).catch((f)=>{v.error("There was an error generating the Vue Component Library Entry Point.",f),j.exit(I.FatalError)}),v.success("Created Vue Component Library Entry Point")}async function W(u="web-components"){v.info("Ensuring Web Component Library Entry Point..."),await H({path:C(u),data:J(u)}).catch((f)=>{v.error("There was an error generating the Web Component library entry point",f),j.exit(I.FatalError)}),v.success("Created Web Component Library Entry Point")}async function s(u="functions"){v.info("Ensuring Function Library Entry Point..."),await H({path:C(u),data:J(u)}).catch((f)=>{v.error("There was an error generating Function Library Entry Point",f),j.exit(I.FatalError)}),v.success("Created Functions Library Entry Point")}function J(u){let f=[];if(u==="functions"){if(!G.functions?.files)v.error(new Error("There are no functions defined to be built. Please check your config/library.ts file for potential adjustments")),j.exit();for(let k of G.functions.files)if(Array.isArray(k))f.push(`export * as ${k[1]} from '${M(k[0])}'`);else f.push(`export * from '${M(k)}'`);return f.join("\r\n")}if(u==="vue-components"){if(!G.vueComponents?.tags)v.error(new Error("There are no components defined to be built. Please check your config/library.ts file for potential adjustments")),j.exit();f=Q();for(let k of G.vueComponents.tags.map((A)=>A.name))if(Array.isArray(k))f.push(`export { default as ${k[1]} } from '${q(k[0])}.stx'`);else f.push(`export { default as ${k} } from '${q(k)}.stx'`);return f.join("\r\n")}f=Q();const w=[...f,"import { defineCustomElement } from 'vue'"],N=[],S=[];if(!G.webComponents?.tags)v.error(new Error("There are no components defined to be built. Please check your config/library.ts file for potential adjustments")),j.exit();for(let k of G.webComponents.tags.map((A)=>A.name))if(Array.isArray(k))w.push(`import ${k[1]} from '${q(k[0])}.stx'`),N.push(`const ${k[1]}CustomElement = defineCustomElement(${k[1]})`),S.push(`customElements.define('${O(k[1])}', ${k[1]}CustomElement)`);else w.push(`import ${k} from '${q(k)}.stx'`),N.push(`const ${k}CustomElement = defineCustomElement(${k})`),S.push(`customElements.define('${O(k)}', ${k}CustomElement)`);return[...w,...N,...S].join("\r\n")}import{library as U}from"@stacksjs/config";import{log as K}from"@stacksjs/logging";import{hasComponents as L,hasFunctions as R}from"@stacksjs/storage";async function b(){if(K.info("Generating library entry points..."),U.releaseable&&L())await z("vue-components"),await z("web-components");else K.info("No components found. Skipping building component entry points.");if(U.releaseable&&R())await z("functions");else K.info("No functions found. Skipping building function entry point.")}await b();export{b as generateLibEntries};
3
+ var X=Object.create;var{getPrototypeOf:Y,defineProperty:B,getOwnPropertyNames:Z}=Object;var _=Object.prototype.hasOwnProperty;var D=(u,f,w)=>{w=u!=null?X(Y(u)):{};const N=f||!u||!u.__esModule?B(w,"default",{value:u,enumerable:!0}):w;for(let S of Z(u))if(!_.call(N,S))B(N,S,{get:()=>u[S],enumerable:!0});return N};var F=(u,f)=>()=>(f||u((f={exports:{}}).exports,f),f.exports);var T=(u,f)=>{for(var w in f)B(u,w,{get:f[w],enumerable:!0,configurable:!0,set:(N)=>f[w]=()=>N})};var x=(u,f)=>()=>(u&&(f=u(u=0)),f);import j from"process";import{log as v}from"@stacksjs/logging";import{componentsPath as q,functionsPath as M,libraryEntryPath as C}from"@stacksjs/path";import{writeTextFile as H}from"@stacksjs/storage";import{kebabCase as O}from"@stacksjs/strings";import{ExitCode as I}from"@stacksjs/types";import{determineResetPreset as Q}from"@stacksjs/utils";var G={name:"hello-world",owner:"@stacksjs",repository:"stacksjs/stacks",license:"MIT",author:"Chris Breuer",contributors:["Chris Breuer <chris@stacksjs.org>"],defaultLanguage:"en",releaseable:!0,vueComponents:{name:"hello-world-vue",description:"Your Vue component library description",keywords:["component","library","vue","vite","typescript","javascript"],tags:[{name:["HelloWorld","AppHelloWorld"],description:"The Hello World custom element, built via this framework.",attributes:[{name:"greeting",description:"The greeting."}]}]},webComponents:{name:"hello-world-elements",description:"Your framework agnostic web component library description.",keywords:["custom-elements","web-components","library","framework-agnostic","typescript","javascript"],tags:[{name:["HelloWorld","AppHelloWorld"],description:"The Hello World custom element, built via this framework.",attributes:[{name:"greeting",description:"The greeting."}]}]},functions:{name:"hello-world-fx",description:"Your function library description.",keywords:["functions","composables","library","typescript","javascript"],shouldGenerateSourcemap:!1,files:["counter","dark"]}};async function z(u){await $(u)}async function $(u){if(u==="vue-components")await V();if(u==="web-components")await W();if(u==="functions")await s()}async function V(u="vue-components"){v.info("Ensuring Component Library Entry Point..."),await H({path:C(u),data:J(u)}).catch((f)=>{v.error("There was an error generating the Vue Component Library Entry Point.",f),j.exit(I.FatalError)}),v.success("Created Vue Component Library Entry Point")}async function W(u="web-components"){v.info("Ensuring Web Component Library Entry Point..."),await H({path:C(u),data:J(u)}).catch((f)=>{v.error("There was an error generating the Web Component library entry point",f),j.exit(I.FatalError)}),v.success("Created Web Component Library Entry Point")}async function s(u="functions"){v.info("Ensuring Function Library Entry Point..."),await H({path:C(u),data:J(u)}).catch((f)=>{v.error("There was an error generating Function Library Entry Point",f),j.exit(I.FatalError)}),v.success("Created Functions Library Entry Point")}function J(u){let f=[];if(u==="functions"){if(!G.functions?.files)v.error(new Error("There are no functions defined to be built. Please check your config/library.ts file for potential adjustments")),j.exit();for(let k of G.functions.files)if(Array.isArray(k))f.push(`export * as ${k[1]} from '${M(k[0])}'`);else f.push(`export * from '${M(k)}'`);return f.join("\r\n")}if(u==="vue-components"){if(!G.vueComponents?.tags)v.error(new Error("There are no components defined to be built. Please check your config/library.ts file for potential adjustments")),j.exit();f=Q();for(let k of G.vueComponents.tags.map((A)=>A.name))if(Array.isArray(k))f.push(`export { default as ${k[1]} } from '${q(k[0])}.vue'`);else f.push(`export { default as ${k} } from '${q(k)}.vue'`);return f.join("\r\n")}f=Q();const w=[...f,"import { defineCustomElement } from 'vue'"],N=[],S=[];if(!G.webComponents?.tags)v.error(new Error("There are no components defined to be built. Please check your config/library.ts file for potential adjustments")),j.exit();for(let k of G.webComponents.tags.map((A)=>A.name))if(Array.isArray(k))w.push(`import ${k[1]} from '${q(k[0])}.vue'`),N.push(`const ${k[1]}CustomElement = defineCustomElement(${k[1]})`),S.push(`customElements.define('${O(k[1])}', ${k[1]}CustomElement)`);else w.push(`import ${k} from '${q(k)}.vue'`),N.push(`const ${k}CustomElement = defineCustomElement(${k})`),S.push(`customElements.define('${O(k)}', ${k}CustomElement)`);return[...w,...N,...S].join("\r\n")}import{library as U}from"@stacksjs/config";import{log as K}from"@stacksjs/logging";import{hasComponents as L,hasFunctions as R}from"@stacksjs/storage";async function b(){if(K.info("Generating library entry points..."),U.releaseable&&L())await z("vue-components"),await z("web-components");else K.info("No components found. Skipping building component entry points.");if(U.releaseable&&R())await z("functions");else K.info("No functions found. Skipping building function entry point.")}await b();export{b as generateLibEntries};
4
4
 
5
- //# debugId=5C6AFC91680F1BD064756E2164756E21
5
+ //# debugId=580358820F9E6E8964756E2164756E21
6
6
  //# sourceMappingURL=lib-entries.js.map
@@ -2,11 +2,11 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/helpers/lib-entries.ts", "../../../../../config/library.ts", "../src/generate/lib-entries.ts"],
4
4
  "sourcesContent": [
5
- "import process from 'node:process'\nimport { log } from '@stacksjs/logging'\nimport type { LibraryType } from '@stacksjs/path'\nimport { componentsPath, functionsPath, libraryEntryPath } from '@stacksjs/path'\nimport { writeTextFile } from '@stacksjs/storage'\nimport { kebabCase } from '@stacksjs/strings'\nimport { ExitCode } from '@stacksjs/types'\nimport { determineResetPreset } from '@stacksjs/utils'\nimport library from '~/config/library'\n\n/**\n * Based on the config values, this method\n * will generate the library entry points.\n *\n * @param type LibraryType\n */\nexport async function generateLibEntry(type: LibraryType) {\n await createLibraryEntryPoint(type)\n}\n\nexport async function createLibraryEntryPoint(type: LibraryType) {\n if (type === 'vue-components') await createVueLibraryEntryPoint()\n\n if (type === 'web-components') await createWebComponentLibraryEntryPoint()\n\n if (type === 'functions') await createFunctionLibraryEntryPoint()\n}\n\nexport async function createVueLibraryEntryPoint(type: LibraryType = 'vue-components') {\n log.info('Ensuring Component Library Entry Point...')\n\n await writeTextFile({\n path: libraryEntryPath(type),\n data: generateEntryPointData(type),\n }).catch((err) => {\n log.error('There was an error generating the Vue Component Library Entry Point.', err)\n process.exit(ExitCode.FatalError)\n })\n\n log.success('Created Vue Component Library Entry Point')\n}\n\nexport async function createWebComponentLibraryEntryPoint(type: LibraryType = 'web-components') {\n log.info('Ensuring Web Component Library Entry Point...')\n\n await writeTextFile({\n path: libraryEntryPath(type),\n data: generateEntryPointData(type),\n }).catch((err) => {\n log.error('There was an error generating the Web Component library entry point', err)\n process.exit(ExitCode.FatalError)\n })\n\n log.success('Created Web Component Library Entry Point')\n}\n\nexport async function createFunctionLibraryEntryPoint(type: LibraryType = 'functions') {\n log.info('Ensuring Function Library Entry Point...')\n\n await writeTextFile({\n path: libraryEntryPath(type),\n data: generateEntryPointData(type),\n }).catch((err) => {\n log.error('There was an error generating Function Library Entry Point', err)\n process.exit(ExitCode.FatalError)\n })\n\n log.success('Created Functions Library Entry Point')\n}\n\nexport function generateEntryPointData(type: LibraryType): string {\n let arr = []\n\n if (type === 'functions') {\n if (!library.functions?.files) {\n log.error(\n new Error(\n 'There are no functions defined to be built. Please check your config/library.ts file for potential adjustments',\n ),\n )\n process.exit()\n }\n\n for (const fx of library.functions.files) {\n if (Array.isArray(fx)) arr.push(`export * as ${fx[1]} from '${functionsPath(fx[0])}'`)\n else arr.push(`export * from '${functionsPath(fx)}'`)\n }\n\n // join the array into a string with each element being on a new line\n return arr.join('\\r\\n')\n }\n\n if (type === 'vue-components') {\n if (!library.vueComponents?.tags) {\n log.error(\n new Error(\n 'There are no components defined to be built. Please check your config/library.ts file for potential adjustments',\n ),\n )\n process.exit()\n }\n\n arr = determineResetPreset()\n\n for (const component of library.vueComponents.tags.map((tag) => tag.name)) {\n if (Array.isArray(component))\n arr.push(`export { default as ${component[1]} } from '${componentsPath(component[0])}.stx'`)\n else arr.push(`export { default as ${component} } from '${componentsPath(component)}.stx'`)\n }\n\n // join the array into a string with each element being on a new line\n return arr.join('\\r\\n')\n }\n\n // at this point, we know it is a Web Component we are building\n arr = determineResetPreset()\n const imports = [...arr, \"import { defineCustomElement } from 'vue'\"]\n const declarations = []\n const definitions = []\n\n if (!library.webComponents?.tags) {\n log.error(\n new Error(\n 'There are no components defined to be built. Please check your config/library.ts file for potential adjustments',\n ),\n )\n process.exit()\n }\n\n for (const component of library.webComponents.tags.map((tag) => tag.name)) {\n if (Array.isArray(component)) {\n imports.push(`import ${component[1]} from '${componentsPath(component[0])}.stx'`)\n declarations.push(`const ${component[1]}CustomElement = defineCustomElement(${component[1]})`)\n definitions.push(`customElements.define('${kebabCase(component[1] as string)}', ${component[1]}CustomElement)`)\n } else {\n imports.push(`import ${component} from '${componentsPath(component)}.stx'`)\n declarations.push(`const ${component}CustomElement = defineCustomElement(${component})`)\n definitions.push(`customElements.define('${kebabCase(component)}', ${component}CustomElement)`)\n }\n }\n\n // join the array into a string with each element being on a new line\n return [...imports, ...declarations, ...definitions].join('\\r\\n')\n}\n",
5
+ "import process from 'node:process'\nimport { log } from '@stacksjs/logging'\nimport type { LibraryType } from '@stacksjs/path'\nimport { componentsPath, functionsPath, libraryEntryPath } from '@stacksjs/path'\nimport { writeTextFile } from '@stacksjs/storage'\nimport { kebabCase } from '@stacksjs/strings'\nimport { ExitCode } from '@stacksjs/types'\nimport { determineResetPreset } from '@stacksjs/utils'\nimport library from '~/config/library'\n\n/**\n * Based on the config values, this method\n * will generate the library entry points.\n *\n * @param type LibraryType\n */\nexport async function generateLibEntry(type: LibraryType) {\n await createLibraryEntryPoint(type)\n}\n\nexport async function createLibraryEntryPoint(type: LibraryType) {\n if (type === 'vue-components') await createVueLibraryEntryPoint()\n\n if (type === 'web-components') await createWebComponentLibraryEntryPoint()\n\n if (type === 'functions') await createFunctionLibraryEntryPoint()\n}\n\nexport async function createVueLibraryEntryPoint(type: LibraryType = 'vue-components') {\n log.info('Ensuring Component Library Entry Point...')\n\n await writeTextFile({\n path: libraryEntryPath(type),\n data: generateEntryPointData(type),\n }).catch((err) => {\n log.error('There was an error generating the Vue Component Library Entry Point.', err)\n process.exit(ExitCode.FatalError)\n })\n\n log.success('Created Vue Component Library Entry Point')\n}\n\nexport async function createWebComponentLibraryEntryPoint(type: LibraryType = 'web-components') {\n log.info('Ensuring Web Component Library Entry Point...')\n\n await writeTextFile({\n path: libraryEntryPath(type),\n data: generateEntryPointData(type),\n }).catch((err) => {\n log.error('There was an error generating the Web Component library entry point', err)\n process.exit(ExitCode.FatalError)\n })\n\n log.success('Created Web Component Library Entry Point')\n}\n\nexport async function createFunctionLibraryEntryPoint(type: LibraryType = 'functions') {\n log.info('Ensuring Function Library Entry Point...')\n\n await writeTextFile({\n path: libraryEntryPath(type),\n data: generateEntryPointData(type),\n }).catch((err) => {\n log.error('There was an error generating Function Library Entry Point', err)\n process.exit(ExitCode.FatalError)\n })\n\n log.success('Created Functions Library Entry Point')\n}\n\nexport function generateEntryPointData(type: LibraryType): string {\n let arr = []\n\n if (type === 'functions') {\n if (!library.functions?.files) {\n log.error(\n new Error(\n 'There are no functions defined to be built. Please check your config/library.ts file for potential adjustments',\n ),\n )\n process.exit()\n }\n\n for (const fx of library.functions.files) {\n if (Array.isArray(fx)) arr.push(`export * as ${fx[1]} from '${functionsPath(fx[0])}'`)\n else arr.push(`export * from '${functionsPath(fx)}'`)\n }\n\n // join the array into a string with each element being on a new line\n return arr.join('\\r\\n')\n }\n\n if (type === 'vue-components') {\n if (!library.vueComponents?.tags) {\n log.error(\n new Error(\n 'There are no components defined to be built. Please check your config/library.ts file for potential adjustments',\n ),\n )\n process.exit()\n }\n\n arr = determineResetPreset()\n\n for (const component of library.vueComponents.tags.map((tag) => tag.name)) {\n if (Array.isArray(component))\n arr.push(`export { default as ${component[1]} } from '${componentsPath(component[0])}.vue'`)\n else arr.push(`export { default as ${component} } from '${componentsPath(component)}.vue'`)\n }\n\n // join the array into a string with each element being on a new line\n return arr.join('\\r\\n')\n }\n\n // at this point, we know it is a Web Component we are building\n arr = determineResetPreset()\n const imports = [...arr, \"import { defineCustomElement } from 'vue'\"]\n const declarations = []\n const definitions = []\n\n if (!library.webComponents?.tags) {\n log.error(\n new Error(\n 'There are no components defined to be built. Please check your config/library.ts file for potential adjustments',\n ),\n )\n process.exit()\n }\n\n for (const component of library.webComponents.tags.map((tag) => tag.name)) {\n if (Array.isArray(component)) {\n imports.push(`import ${component[1]} from '${componentsPath(component[0])}.vue'`)\n declarations.push(`const ${component[1]}CustomElement = defineCustomElement(${component[1]})`)\n definitions.push(`customElements.define('${kebabCase(component[1] as string)}', ${component[1]}CustomElement)`)\n } else {\n imports.push(`import ${component} from '${componentsPath(component)}.vue'`)\n declarations.push(`const ${component}CustomElement = defineCustomElement(${component})`)\n definitions.push(`customElements.define('${kebabCase(component)}', ${component}CustomElement)`)\n }\n }\n\n // join the array into a string with each element being on a new line\n return [...imports, ...declarations, ...definitions].join('\\r\\n')\n}\n",
6
6
  "import type { LibraryConfig } from '@stacksjs/types'\n\n/**\n * **Library Configuration**\n *\n * This configuration defines all of your library options. Because Stacks is fully-typed, you\n * may hover any of the options below and the definitions will be provided. In case you\n * have any questions, feel free to reach out via Discord or GitHub Discussions.\n */\nexport default {\n name: 'hello-world',\n owner: '@stacksjs', // you may or may not add the @ prefix here (it is added automatically)\n repository: 'stacksjs/stacks',\n license: 'MIT',\n author: 'Chris Breuer',\n contributors: ['Chris Breuer <chris@stacksjs.org>'],\n defaultLanguage: 'en',\n releaseable: true,\n\n vueComponents: {\n name: 'hello-world-vue',\n description: 'Your Vue component library description',\n keywords: ['component', 'library', 'vue', 'vite', 'typescript', 'javascript'],\n tags: [\n {\n name: ['HelloWorld', 'AppHelloWorld'],\n description: 'The Hello World custom element, built via this framework.',\n attributes: [\n {\n name: 'greeting',\n description: 'The greeting.',\n },\n ],\n },\n ],\n },\n\n webComponents: {\n name: 'hello-world-elements',\n description: 'Your framework agnostic web component library description.',\n keywords: ['custom-elements', 'web-components', 'library', 'framework-agnostic', 'typescript', 'javascript'],\n tags: [\n {\n name: ['HelloWorld', 'AppHelloWorld'],\n description: 'The Hello World custom element, built via this framework.',\n attributes: [\n {\n name: 'greeting',\n description: 'The greeting.',\n },\n ],\n },\n ],\n },\n\n functions: {\n name: 'hello-world-fx',\n description: 'Your function library description.',\n keywords: ['functions', 'composables', 'library', 'typescript', 'javascript'],\n shouldGenerateSourcemap: false,\n files: ['counter', 'dark'],\n },\n} satisfies LibraryConfig\n",
7
7
  "#!/usr/bin/env bun\nimport { library } from '@stacksjs/config'\nimport { log } from '@stacksjs/logging'\nimport { hasComponents, hasFunctions } from '@stacksjs/storage'\nimport { generateLibEntry } from '../helpers/lib-entries'\n\nexport async function generateLibEntries() {\n log.info('Generating library entry points...')\n\n if (library.releaseable && hasComponents()) {\n await generateLibEntry('vue-components')\n await generateLibEntry('web-components')\n } else {\n log.info('No components found. Skipping building component entry points.')\n }\n\n if (library.releaseable && hasFunctions()) await generateLibEntry('functions')\n else log.info('No functions found. Skipping building function entry point.')\n}\n\nawait generateLibEntries()\n"
8
8
  ],
9
9
  "mappings": "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",
10
- "debugId": "5C6AFC91680F1BD064756E2164756E21",
10
+ "debugId": "580358820F9E6E8964756E2164756E21",
11
11
  "names": []
12
12
  }
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var Y=Object.create;var{getPrototypeOf:Z,defineProperty:K,getOwnPropertyNames:_}=Object;var $=Object.prototype.hasOwnProperty;var w=(j,k,z)=>{z=j!=null?Y(Z(j)):{};const A=k||!j||!j.__esModule?K(z,"default",{value:j,enumerable:!0}):z;for(let B of _(j))if(!$.call(A,B))K(A,B,{get:()=>j[B],enumerable:!0});return A};var D=(j,k)=>()=>(k||j((k={exports:{}}).exports,k),k.exports);var T=(j,k)=>{for(var z in k)K(j,z,{get:k[z],enumerable:!0,configurable:!0,set:(A)=>k[z]=()=>A})};var F=(j,k)=>()=>(j&&(k=j(j=0)),k);import H from"process";import{log as v}from"@stacksjs/logging";import{componentsPath as I,functionsPath as S,libraryEntryPath as M}from"@stacksjs/path";import{writeTextFile as N}from"@stacksjs/storage";import{kebabCase as U}from"@stacksjs/strings";import{ExitCode as O}from"@stacksjs/types";import{determineResetPreset as X}from"@stacksjs/utils";var G={name:"hello-world",owner:"@stacksjs",repository:"stacksjs/stacks",license:"MIT",author:"Chris Breuer",contributors:["Chris Breuer <chris@stacksjs.org>"],defaultLanguage:"en",releaseable:!0,vueComponents:{name:"hello-world-vue",description:"Your Vue component library description",keywords:["component","library","vue","vite","typescript","javascript"],tags:[{name:["HelloWorld","AppHelloWorld"],description:"The Hello World custom element, built via this framework.",attributes:[{name:"greeting",description:"The greeting."}]}]},webComponents:{name:"hello-world-elements",description:"Your framework agnostic web component library description.",keywords:["custom-elements","web-components","library","framework-agnostic","typescript","javascript"],tags:[{name:["HelloWorld","AppHelloWorld"],description:"The Hello World custom element, built via this framework.",attributes:[{name:"greeting",description:"The greeting."}]}]},functions:{name:"hello-world-fx",description:"Your function library description.",keywords:["functions","composables","library","typescript","javascript"],shouldGenerateSourcemap:!1,files:["counter","dark"]}};async function s(j){await C(j)}async function C(j){if(j==="vue-components")await V();if(j==="web-components")await W();if(j==="functions")await R()}async function V(j="vue-components"){v.info("Ensuring Component Library Entry Point..."),await N({path:M(j),data:Q(j)}).catch((k)=>{v.error("There was an error generating the Vue Component Library Entry Point.",k),H.exit(O.FatalError)}),v.success("Created Vue Component Library Entry Point")}async function W(j="web-components"){v.info("Ensuring Web Component Library Entry Point..."),await N({path:M(j),data:Q(j)}).catch((k)=>{v.error("There was an error generating the Web Component library entry point",k),H.exit(O.FatalError)}),v.success("Created Web Component Library Entry Point")}async function R(j="functions"){v.info("Ensuring Function Library Entry Point..."),await N({path:M(j),data:Q(j)}).catch((k)=>{v.error("There was an error generating Function Library Entry Point",k),H.exit(O.FatalError)}),v.success("Created Functions Library Entry Point")}function Q(j){let k=[];if(j==="functions"){if(!G.functions?.files)v.error(new Error("There are no functions defined to be built. Please check your config/library.ts file for potential adjustments")),H.exit();for(let q of G.functions.files)if(Array.isArray(q))k.push(`export * as ${q[1]} from '${S(q[0])}'`);else k.push(`export * from '${S(q)}'`);return k.join("\r\n")}if(j==="vue-components"){if(!G.vueComponents?.tags)v.error(new Error("There are no components defined to be built. Please check your config/library.ts file for potential adjustments")),H.exit();k=X();for(let q of G.vueComponents.tags.map((J)=>J.name))if(Array.isArray(q))k.push(`export { default as ${q[1]} } from '${I(q[0])}.stx'`);else k.push(`export { default as ${q} } from '${I(q)}.stx'`);return k.join("\r\n")}k=X();const z=[...k,"import { defineCustomElement } from 'vue'"],A=[],B=[];if(!G.webComponents?.tags)v.error(new Error("There are no components defined to be built. Please check your config/library.ts file for potential adjustments")),H.exit();for(let q of G.webComponents.tags.map((J)=>J.name))if(Array.isArray(q))z.push(`import ${q[1]} from '${I(q[0])}.stx'`),A.push(`const ${q[1]}CustomElement = defineCustomElement(${q[1]})`),B.push(`customElements.define('${U(q[1])}', ${q[1]}CustomElement)`);else z.push(`import ${q} from '${I(q)}.stx'`),A.push(`const ${q}CustomElement = defineCustomElement(${q})`),B.push(`customElements.define('${U(q)}', ${q}CustomElement)`);return[...z,...A,...B].join("\r\n")}export{s as generateLibEntry,Q as generateEntryPointData,W as createWebComponentLibraryEntryPoint,V as createVueLibraryEntryPoint,C as createLibraryEntryPoint,R as createFunctionLibraryEntryPoint};
2
+ var Y=Object.create;var{getPrototypeOf:Z,defineProperty:K,getOwnPropertyNames:_}=Object;var $=Object.prototype.hasOwnProperty;var w=(j,k,z)=>{z=j!=null?Y(Z(j)):{};const A=k||!j||!j.__esModule?K(z,"default",{value:j,enumerable:!0}):z;for(let B of _(j))if(!$.call(A,B))K(A,B,{get:()=>j[B],enumerable:!0});return A};var D=(j,k)=>()=>(k||j((k={exports:{}}).exports,k),k.exports);var T=(j,k)=>{for(var z in k)K(j,z,{get:k[z],enumerable:!0,configurable:!0,set:(A)=>k[z]=()=>A})};var F=(j,k)=>()=>(j&&(k=j(j=0)),k);import H from"process";import{log as v}from"@stacksjs/logging";import{componentsPath as I,functionsPath as S,libraryEntryPath as M}from"@stacksjs/path";import{writeTextFile as N}from"@stacksjs/storage";import{kebabCase as U}from"@stacksjs/strings";import{ExitCode as O}from"@stacksjs/types";import{determineResetPreset as X}from"@stacksjs/utils";var G={name:"hello-world",owner:"@stacksjs",repository:"stacksjs/stacks",license:"MIT",author:"Chris Breuer",contributors:["Chris Breuer <chris@stacksjs.org>"],defaultLanguage:"en",releaseable:!0,vueComponents:{name:"hello-world-vue",description:"Your Vue component library description",keywords:["component","library","vue","vite","typescript","javascript"],tags:[{name:["HelloWorld","AppHelloWorld"],description:"The Hello World custom element, built via this framework.",attributes:[{name:"greeting",description:"The greeting."}]}]},webComponents:{name:"hello-world-elements",description:"Your framework agnostic web component library description.",keywords:["custom-elements","web-components","library","framework-agnostic","typescript","javascript"],tags:[{name:["HelloWorld","AppHelloWorld"],description:"The Hello World custom element, built via this framework.",attributes:[{name:"greeting",description:"The greeting."}]}]},functions:{name:"hello-world-fx",description:"Your function library description.",keywords:["functions","composables","library","typescript","javascript"],shouldGenerateSourcemap:!1,files:["counter","dark"]}};async function s(j){await C(j)}async function C(j){if(j==="vue-components")await V();if(j==="web-components")await W();if(j==="functions")await R()}async function V(j="vue-components"){v.info("Ensuring Component Library Entry Point..."),await N({path:M(j),data:Q(j)}).catch((k)=>{v.error("There was an error generating the Vue Component Library Entry Point.",k),H.exit(O.FatalError)}),v.success("Created Vue Component Library Entry Point")}async function W(j="web-components"){v.info("Ensuring Web Component Library Entry Point..."),await N({path:M(j),data:Q(j)}).catch((k)=>{v.error("There was an error generating the Web Component library entry point",k),H.exit(O.FatalError)}),v.success("Created Web Component Library Entry Point")}async function R(j="functions"){v.info("Ensuring Function Library Entry Point..."),await N({path:M(j),data:Q(j)}).catch((k)=>{v.error("There was an error generating Function Library Entry Point",k),H.exit(O.FatalError)}),v.success("Created Functions Library Entry Point")}function Q(j){let k=[];if(j==="functions"){if(!G.functions?.files)v.error(new Error("There are no functions defined to be built. Please check your config/library.ts file for potential adjustments")),H.exit();for(let q of G.functions.files)if(Array.isArray(q))k.push(`export * as ${q[1]} from '${S(q[0])}'`);else k.push(`export * from '${S(q)}'`);return k.join("\r\n")}if(j==="vue-components"){if(!G.vueComponents?.tags)v.error(new Error("There are no components defined to be built. Please check your config/library.ts file for potential adjustments")),H.exit();k=X();for(let q of G.vueComponents.tags.map((J)=>J.name))if(Array.isArray(q))k.push(`export { default as ${q[1]} } from '${I(q[0])}.vue'`);else k.push(`export { default as ${q} } from '${I(q)}.vue'`);return k.join("\r\n")}k=X();const z=[...k,"import { defineCustomElement } from 'vue'"],A=[],B=[];if(!G.webComponents?.tags)v.error(new Error("There are no components defined to be built. Please check your config/library.ts file for potential adjustments")),H.exit();for(let q of G.webComponents.tags.map((J)=>J.name))if(Array.isArray(q))z.push(`import ${q[1]} from '${I(q[0])}.vue'`),A.push(`const ${q[1]}CustomElement = defineCustomElement(${q[1]})`),B.push(`customElements.define('${U(q[1])}', ${q[1]}CustomElement)`);else z.push(`import ${q} from '${I(q)}.vue'`),A.push(`const ${q}CustomElement = defineCustomElement(${q})`),B.push(`customElements.define('${U(q)}', ${q}CustomElement)`);return[...z,...A,...B].join("\r\n")}export{s as generateLibEntry,Q as generateEntryPointData,W as createWebComponentLibraryEntryPoint,V as createVueLibraryEntryPoint,C as createLibraryEntryPoint,R as createFunctionLibraryEntryPoint};
3
3
 
4
- //# debugId=71D4341087A0506264756E2164756E21
4
+ //# debugId=A05C22F05878741664756E2164756E21
5
5
  //# sourceMappingURL=lib-entries.js.map
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/helpers/lib-entries.ts", "../../../../../config/library.ts"],
4
4
  "sourcesContent": [
5
- "import process from 'node:process'\nimport { log } from '@stacksjs/logging'\nimport type { LibraryType } from '@stacksjs/path'\nimport { componentsPath, functionsPath, libraryEntryPath } from '@stacksjs/path'\nimport { writeTextFile } from '@stacksjs/storage'\nimport { kebabCase } from '@stacksjs/strings'\nimport { ExitCode } from '@stacksjs/types'\nimport { determineResetPreset } from '@stacksjs/utils'\nimport library from '~/config/library'\n\n/**\n * Based on the config values, this method\n * will generate the library entry points.\n *\n * @param type LibraryType\n */\nexport async function generateLibEntry(type: LibraryType) {\n await createLibraryEntryPoint(type)\n}\n\nexport async function createLibraryEntryPoint(type: LibraryType) {\n if (type === 'vue-components') await createVueLibraryEntryPoint()\n\n if (type === 'web-components') await createWebComponentLibraryEntryPoint()\n\n if (type === 'functions') await createFunctionLibraryEntryPoint()\n}\n\nexport async function createVueLibraryEntryPoint(type: LibraryType = 'vue-components') {\n log.info('Ensuring Component Library Entry Point...')\n\n await writeTextFile({\n path: libraryEntryPath(type),\n data: generateEntryPointData(type),\n }).catch((err) => {\n log.error('There was an error generating the Vue Component Library Entry Point.', err)\n process.exit(ExitCode.FatalError)\n })\n\n log.success('Created Vue Component Library Entry Point')\n}\n\nexport async function createWebComponentLibraryEntryPoint(type: LibraryType = 'web-components') {\n log.info('Ensuring Web Component Library Entry Point...')\n\n await writeTextFile({\n path: libraryEntryPath(type),\n data: generateEntryPointData(type),\n }).catch((err) => {\n log.error('There was an error generating the Web Component library entry point', err)\n process.exit(ExitCode.FatalError)\n })\n\n log.success('Created Web Component Library Entry Point')\n}\n\nexport async function createFunctionLibraryEntryPoint(type: LibraryType = 'functions') {\n log.info('Ensuring Function Library Entry Point...')\n\n await writeTextFile({\n path: libraryEntryPath(type),\n data: generateEntryPointData(type),\n }).catch((err) => {\n log.error('There was an error generating Function Library Entry Point', err)\n process.exit(ExitCode.FatalError)\n })\n\n log.success('Created Functions Library Entry Point')\n}\n\nexport function generateEntryPointData(type: LibraryType): string {\n let arr = []\n\n if (type === 'functions') {\n if (!library.functions?.files) {\n log.error(\n new Error(\n 'There are no functions defined to be built. Please check your config/library.ts file for potential adjustments',\n ),\n )\n process.exit()\n }\n\n for (const fx of library.functions.files) {\n if (Array.isArray(fx)) arr.push(`export * as ${fx[1]} from '${functionsPath(fx[0])}'`)\n else arr.push(`export * from '${functionsPath(fx)}'`)\n }\n\n // join the array into a string with each element being on a new line\n return arr.join('\\r\\n')\n }\n\n if (type === 'vue-components') {\n if (!library.vueComponents?.tags) {\n log.error(\n new Error(\n 'There are no components defined to be built. Please check your config/library.ts file for potential adjustments',\n ),\n )\n process.exit()\n }\n\n arr = determineResetPreset()\n\n for (const component of library.vueComponents.tags.map((tag) => tag.name)) {\n if (Array.isArray(component))\n arr.push(`export { default as ${component[1]} } from '${componentsPath(component[0])}.stx'`)\n else arr.push(`export { default as ${component} } from '${componentsPath(component)}.stx'`)\n }\n\n // join the array into a string with each element being on a new line\n return arr.join('\\r\\n')\n }\n\n // at this point, we know it is a Web Component we are building\n arr = determineResetPreset()\n const imports = [...arr, \"import { defineCustomElement } from 'vue'\"]\n const declarations = []\n const definitions = []\n\n if (!library.webComponents?.tags) {\n log.error(\n new Error(\n 'There are no components defined to be built. Please check your config/library.ts file for potential adjustments',\n ),\n )\n process.exit()\n }\n\n for (const component of library.webComponents.tags.map((tag) => tag.name)) {\n if (Array.isArray(component)) {\n imports.push(`import ${component[1]} from '${componentsPath(component[0])}.stx'`)\n declarations.push(`const ${component[1]}CustomElement = defineCustomElement(${component[1]})`)\n definitions.push(`customElements.define('${kebabCase(component[1] as string)}', ${component[1]}CustomElement)`)\n } else {\n imports.push(`import ${component} from '${componentsPath(component)}.stx'`)\n declarations.push(`const ${component}CustomElement = defineCustomElement(${component})`)\n definitions.push(`customElements.define('${kebabCase(component)}', ${component}CustomElement)`)\n }\n }\n\n // join the array into a string with each element being on a new line\n return [...imports, ...declarations, ...definitions].join('\\r\\n')\n}\n",
5
+ "import process from 'node:process'\nimport { log } from '@stacksjs/logging'\nimport type { LibraryType } from '@stacksjs/path'\nimport { componentsPath, functionsPath, libraryEntryPath } from '@stacksjs/path'\nimport { writeTextFile } from '@stacksjs/storage'\nimport { kebabCase } from '@stacksjs/strings'\nimport { ExitCode } from '@stacksjs/types'\nimport { determineResetPreset } from '@stacksjs/utils'\nimport library from '~/config/library'\n\n/**\n * Based on the config values, this method\n * will generate the library entry points.\n *\n * @param type LibraryType\n */\nexport async function generateLibEntry(type: LibraryType) {\n await createLibraryEntryPoint(type)\n}\n\nexport async function createLibraryEntryPoint(type: LibraryType) {\n if (type === 'vue-components') await createVueLibraryEntryPoint()\n\n if (type === 'web-components') await createWebComponentLibraryEntryPoint()\n\n if (type === 'functions') await createFunctionLibraryEntryPoint()\n}\n\nexport async function createVueLibraryEntryPoint(type: LibraryType = 'vue-components') {\n log.info('Ensuring Component Library Entry Point...')\n\n await writeTextFile({\n path: libraryEntryPath(type),\n data: generateEntryPointData(type),\n }).catch((err) => {\n log.error('There was an error generating the Vue Component Library Entry Point.', err)\n process.exit(ExitCode.FatalError)\n })\n\n log.success('Created Vue Component Library Entry Point')\n}\n\nexport async function createWebComponentLibraryEntryPoint(type: LibraryType = 'web-components') {\n log.info('Ensuring Web Component Library Entry Point...')\n\n await writeTextFile({\n path: libraryEntryPath(type),\n data: generateEntryPointData(type),\n }).catch((err) => {\n log.error('There was an error generating the Web Component library entry point', err)\n process.exit(ExitCode.FatalError)\n })\n\n log.success('Created Web Component Library Entry Point')\n}\n\nexport async function createFunctionLibraryEntryPoint(type: LibraryType = 'functions') {\n log.info('Ensuring Function Library Entry Point...')\n\n await writeTextFile({\n path: libraryEntryPath(type),\n data: generateEntryPointData(type),\n }).catch((err) => {\n log.error('There was an error generating Function Library Entry Point', err)\n process.exit(ExitCode.FatalError)\n })\n\n log.success('Created Functions Library Entry Point')\n}\n\nexport function generateEntryPointData(type: LibraryType): string {\n let arr = []\n\n if (type === 'functions') {\n if (!library.functions?.files) {\n log.error(\n new Error(\n 'There are no functions defined to be built. Please check your config/library.ts file for potential adjustments',\n ),\n )\n process.exit()\n }\n\n for (const fx of library.functions.files) {\n if (Array.isArray(fx)) arr.push(`export * as ${fx[1]} from '${functionsPath(fx[0])}'`)\n else arr.push(`export * from '${functionsPath(fx)}'`)\n }\n\n // join the array into a string with each element being on a new line\n return arr.join('\\r\\n')\n }\n\n if (type === 'vue-components') {\n if (!library.vueComponents?.tags) {\n log.error(\n new Error(\n 'There are no components defined to be built. Please check your config/library.ts file for potential adjustments',\n ),\n )\n process.exit()\n }\n\n arr = determineResetPreset()\n\n for (const component of library.vueComponents.tags.map((tag) => tag.name)) {\n if (Array.isArray(component))\n arr.push(`export { default as ${component[1]} } from '${componentsPath(component[0])}.vue'`)\n else arr.push(`export { default as ${component} } from '${componentsPath(component)}.vue'`)\n }\n\n // join the array into a string with each element being on a new line\n return arr.join('\\r\\n')\n }\n\n // at this point, we know it is a Web Component we are building\n arr = determineResetPreset()\n const imports = [...arr, \"import { defineCustomElement } from 'vue'\"]\n const declarations = []\n const definitions = []\n\n if (!library.webComponents?.tags) {\n log.error(\n new Error(\n 'There are no components defined to be built. Please check your config/library.ts file for potential adjustments',\n ),\n )\n process.exit()\n }\n\n for (const component of library.webComponents.tags.map((tag) => tag.name)) {\n if (Array.isArray(component)) {\n imports.push(`import ${component[1]} from '${componentsPath(component[0])}.vue'`)\n declarations.push(`const ${component[1]}CustomElement = defineCustomElement(${component[1]})`)\n definitions.push(`customElements.define('${kebabCase(component[1] as string)}', ${component[1]}CustomElement)`)\n } else {\n imports.push(`import ${component} from '${componentsPath(component)}.vue'`)\n declarations.push(`const ${component}CustomElement = defineCustomElement(${component})`)\n definitions.push(`customElements.define('${kebabCase(component)}', ${component}CustomElement)`)\n }\n }\n\n // join the array into a string with each element being on a new line\n return [...imports, ...declarations, ...definitions].join('\\r\\n')\n}\n",
6
6
  "import type { LibraryConfig } from '@stacksjs/types'\n\n/**\n * **Library Configuration**\n *\n * This configuration defines all of your library options. Because Stacks is fully-typed, you\n * may hover any of the options below and the definitions will be provided. In case you\n * have any questions, feel free to reach out via Discord or GitHub Discussions.\n */\nexport default {\n name: 'hello-world',\n owner: '@stacksjs', // you may or may not add the @ prefix here (it is added automatically)\n repository: 'stacksjs/stacks',\n license: 'MIT',\n author: 'Chris Breuer',\n contributors: ['Chris Breuer <chris@stacksjs.org>'],\n defaultLanguage: 'en',\n releaseable: true,\n\n vueComponents: {\n name: 'hello-world-vue',\n description: 'Your Vue component library description',\n keywords: ['component', 'library', 'vue', 'vite', 'typescript', 'javascript'],\n tags: [\n {\n name: ['HelloWorld', 'AppHelloWorld'],\n description: 'The Hello World custom element, built via this framework.',\n attributes: [\n {\n name: 'greeting',\n description: 'The greeting.',\n },\n ],\n },\n ],\n },\n\n webComponents: {\n name: 'hello-world-elements',\n description: 'Your framework agnostic web component library description.',\n keywords: ['custom-elements', 'web-components', 'library', 'framework-agnostic', 'typescript', 'javascript'],\n tags: [\n {\n name: ['HelloWorld', 'AppHelloWorld'],\n description: 'The Hello World custom element, built via this framework.',\n attributes: [\n {\n name: 'greeting',\n description: 'The greeting.',\n },\n ],\n },\n ],\n },\n\n functions: {\n name: 'hello-world-fx',\n description: 'Your function library description.',\n keywords: ['functions', 'composables', 'library', 'typescript', 'javascript'],\n shouldGenerateSourcemap: false,\n files: ['counter', 'dark'],\n },\n} satisfies LibraryConfig\n"
7
7
  ],
8
8
  "mappings": "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",
9
- "debugId": "71D4341087A0506264756E2164756E21",
9
+ "debugId": "A05C22F05878741664756E2164756E21",
10
10
  "names": []
11
11
  }
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ export default new Action({
13
13
  return 'Hello World action'
14
14
  },
15
15
  })
16
- `})}async function j(v){const D=v.name;await K({path:Q.userComponentsPath(`${D}.stx`),data:`<script setup lang="ts">
16
+ `})}async function j(v){const D=v.name;await K({path:Q.userComponentsPath(`${D}.vue`),data:`<script setup lang="ts">
17
17
  console.log('Hello World component created')
18
18
  </script>
19
19
 
@@ -22,7 +22,7 @@ console.log('Hello World component created')
22
22
  Some HTML block
23
23
  </div>
24
24
  </template>
25
- `})}function d(v){try{const D=v.name;f.info(`Creating your ${G(D)} database...`),w(v),f.success(`Created ${G(D)} database`)}catch(D){f.error("There was an error creating your database",D),U.exit()}}function w(v){console.log("createDatabase options",v)}function dD(v){try{const D=v.name;f.info(`Creating your ${G(D)} factory...`),w(v),f.success(`Created ${G(D)} factory`)}catch(D){f.error("There was an error creating your factory",D),U.exit()}}function Pv(v){console.log("options",v)}async function h(v){try{const D=v.name;f.info(`Creating your ${G(D)} notification...`),await p(v),f.success(`Created ${G(D)} notification`)}catch(D){f.error("There was an error creating your notification",D),U.exit()}}async function m(v){try{const D=v.name;f.info("Creating your page..."),await r(v),f.success(`Created ${D} page`)}catch(D){f.error("There was an error creating your page",D),U.exit()}}async function r(v){const D=v.name;await K({path:Q.userViewsPath(`${D}.stx`),data:`<script setup lang="ts">
25
+ `})}function d(v){try{const D=v.name;f.info(`Creating your ${G(D)} database...`),w(v),f.success(`Created ${G(D)} database`)}catch(D){f.error("There was an error creating your database",D),U.exit()}}function w(v){console.log("createDatabase options",v)}function dD(v){try{const D=v.name;f.info(`Creating your ${G(D)} factory...`),w(v),f.success(`Created ${G(D)} factory`)}catch(D){f.error("There was an error creating your factory",D),U.exit()}}function Pv(v){console.log("options",v)}async function h(v){try{const D=v.name;f.info(`Creating your ${G(D)} notification...`),await p(v),f.success(`Created ${G(D)} notification`)}catch(D){f.error("There was an error creating your notification",D),U.exit()}}async function m(v){try{const D=v.name;f.info("Creating your page..."),await r(v),f.success(`Created ${D} page`)}catch(D){f.error("There was an error creating your page",D),U.exit()}}async function r(v){const D=v.name;await K({path:Q.userViewsPath(`${D}.vue`),data:`<script setup lang="ts">
26
26
  console.log('Hello World page created')
27
27
  </script>
28
28
 
@@ -82,5 +82,5 @@ export default {
82
82
  },
83
83
  } satisfies Model`}),f.success(`Model created: ${G(`app/Models/${y}.ts`)}`)}catch(x){f.error(x)}}class kv{name;description;rate;tries;backoff;enabled;path;method;validations;requestFile;handle;constructor({name:v,description:D,validations:y,handle:S,rate:x,tries:O,backoff:Z,enabled:_,path:z,method:L,requestFile:n}){this.name=v,this.description=D,this.validations=y,this.rate=x,this.tries=O,this.backoff=Z,this.enabled=_,this.path=z,this.method=L,this.handle=S,this.requestFile=n}}export{yD as runSystemTrayDevServer,wv as runMake,ov as runFrontendDevServer,xD as runDocsDevServer,tv as runDevServer,SD as runDesktopDevServer,fD as runDashboardDevServer,DD as runComponentsDevServer,Hv as runCommit,vD as runBackendDevServer,yv as runApiDevServer,Qv as runAdd,av as runActions,M as runAction,e as makeStack,m as makePage,h as makeNotification,a as makeLanguage,g as makeFunction,d as makeDatabase,b as makeComponent,Cv as makeAction,Mv as invoke,fv as hasAction,Uv as generateWebTypes,zv as generateVsCodeCustomData,Jv as generateTypes,$D as generateSeeder,HD as generatePkgxConfig,Bv as generateLibEntries,Gv as generateIdeHelpers,Kv as generateCoreSymlink,Iv as generateComponentMeta,_D as generate,r as createPage,p as createNotification,Nv as createModel,Tv as createMigration,l as createLanguage,c as createFunction,Pv as createFactory,w as createDatabase,j as createComponent,kv as Action};
84
84
 
85
- //# debugId=FE9ADA5BB45F4D2164756E2164756E21
85
+ //# debugId=B559231FB10247E664756E2164756E21
86
86
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -6,13 +6,13 @@
6
6
  "import { Action } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport type { DevOptions } from '@stacksjs/types'\nimport { runAction } from '../helpers'\n\nexport async function runDevServer(options: DevOptions) {\n log.info('Starting your Frontend Engine...')\n await runAction(Action.Dev, options)\n}\n\nexport async function runFrontendDevServer(options: DevOptions) {\n log.info('Starting your UI Engine...')\n await runAction(Action.Dev, options)\n}\n\nexport async function runBackendDevServer(options: DevOptions) {\n runApiDevServer(options)\n}\n\nexport async function runApiDevServer(options: DevOptions) {\n log.info('Starting your API...')\n await runAction(Action.DevApi, options)\n}\n\nexport async function runComponentsDevServer(options: DevOptions) {\n log.info('Starting your Library Engine...')\n await runAction(Action.DevComponents, options)\n}\n\nexport async function runDashboardDevServer(options: DevOptions) {\n log.info('Starting your Dashboard...')\n await runAction(Action.DevDashboard, options)\n}\n\nexport async function runSystemTrayDevServer(options: DevOptions) {\n log.info('Starting your System Tray...')\n await runAction(Action.DevSystemTray, options)\n}\n\nexport async function runDesktopDevServer(options: DevOptions) {\n log.info('Starting your Desktop Engine...')\n await runAction(Action.DevDesktop, options)\n}\n\nexport async function runDocsDevServer(options: DevOptions) {\n log.info('Starting your Docs Engine...')\n await runAction(Action.DevDocs, options)\n}\n",
7
7
  "import { log } from '@stacksjs/logging'\nimport { customElementsDataPath } from '@stacksjs/path'\nimport { writeTextFile } from '@stacksjs/storage'\nimport library from '~/config/library'\n\nexport async function generateVsCodeCustomData() {\n try {\n log.info('Generating custom-elements.json...')\n // the version does not have to be set here,\n // it will be set automatically by the release script\n await writeTextFile({\n path: customElementsDataPath(),\n data: generateComponentInfoData(),\n })\n log.success('Generated custom-elements.json for IDEs.')\n } catch (err) {\n log.error('There was an error generating the custom-elements.json file.', err)\n }\n}\n\nexport async function generateWebTypes() {\n log.info('Generating web-types.json...')\n log.info('This feature is not yet implemented.')\n}\n\nfunction generateComponentInfoData() {\n const componentsData = JSON.stringify(library.vueComponents?.tags)\n\n return `{\n \"version\": 1.1,\n \"tags\": ${componentsData}\n}\n`\n}\n",
8
8
  "import type { LibraryConfig } from '@stacksjs/types'\n\n/**\n * **Library Configuration**\n *\n * This configuration defines all of your library options. Because Stacks is fully-typed, you\n * may hover any of the options below and the definitions will be provided. In case you\n * have any questions, feel free to reach out via Discord or GitHub Discussions.\n */\nexport default {\n name: 'hello-world',\n owner: '@stacksjs', // you may or may not add the @ prefix here (it is added automatically)\n repository: 'stacksjs/stacks',\n license: 'MIT',\n author: 'Chris Breuer',\n contributors: ['Chris Breuer <chris@stacksjs.org>'],\n defaultLanguage: 'en',\n releaseable: true,\n\n vueComponents: {\n name: 'hello-world-vue',\n description: 'Your Vue component library description',\n keywords: ['component', 'library', 'vue', 'vite', 'typescript', 'javascript'],\n tags: [\n {\n name: ['HelloWorld', 'AppHelloWorld'],\n description: 'The Hello World custom element, built via this framework.',\n attributes: [\n {\n name: 'greeting',\n description: 'The greeting.',\n },\n ],\n },\n ],\n },\n\n webComponents: {\n name: 'hello-world-elements',\n description: 'Your framework agnostic web component library description.',\n keywords: ['custom-elements', 'web-components', 'library', 'framework-agnostic', 'typescript', 'javascript'],\n tags: [\n {\n name: ['HelloWorld', 'AppHelloWorld'],\n description: 'The Hello World custom element, built via this framework.',\n attributes: [\n {\n name: 'greeting',\n description: 'The greeting.',\n },\n ],\n },\n ],\n },\n\n functions: {\n name: 'hello-world-fx',\n description: 'Your function library description.',\n keywords: ['functions', 'composables', 'library', 'typescript', 'javascript'],\n shouldGenerateSourcemap: false,\n files: ['counter', 'dark'],\n },\n} satisfies LibraryConfig\n",
9
- "import process from 'node:process'\nimport { runCommand } from '@stacksjs/cli'\nimport { Action, NpmScript } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, projectPath } from '@stacksjs/path'\nimport type { GeneratorOptions } from '@stacksjs/types'\nimport { runNpmScript } from '@stacksjs/utils'\nimport { runAction } from '../helpers'\nimport { generateVsCodeCustomData as genVsCodeCustomData } from '../helpers/vscode-custom-data'\n\n// import { files } from '@stacksjs/storage'\n\nexport async function invoke(options?: GeneratorOptions) {\n if (options?.types) await generateTypes(options)\n else if (options?.entries) await generateLibEntries(options)\n else if (options?.webTypes) await generateWebTypes(options)\n else if (options?.customData) await generateVsCodeCustomData(options)\n else if (options?.ideHelpers) await generateIdeHelpers(options)\n else if (options?.componentMeta) await generateComponentMeta(options)\n else if (options?.coreSymlink) await generateCoreSymlink()\n}\n\nexport function generate(options: GeneratorOptions) {\n return invoke(options)\n}\n\nexport async function generateLibEntries(options: GeneratorOptions) {\n const result = await runAction(Action.GenerateLibraryEntries, {\n ...options,\n cwd: projectPath(),\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your library entry points', result.error)\n process.exit()\n }\n\n log.success('Library entry points generated successfully')\n}\n\nexport async function generateWebTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateWebTypes, options)\n\n if (result.isErr()) {\n log.error('There was an error generating the web-types.json file.', result.error)\n process.exit()\n }\n\n log.success('Successfully generated the web-types.json file')\n}\n\nexport async function generateVsCodeCustomData(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating the custom-elements.json file.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // because the generated json file needs to be linted\n\n log.success('Successfully generated the custom-elements.json file')\n}\n\nexport async function generateIdeHelpers(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateIdeHelpers, options)\n\n if (result.isErr()) {\n log.error('There was an error generating IDE helpers.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated IDE helpers')\n}\n\nexport async function generateComponentMeta(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating your component meta information.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated component meta information')\n}\n\nexport async function generateTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateTypes, {\n cwd: frameworkPath(),\n ...options,\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your types.', result.error)\n process.exit()\n }\n\n log.success('Types were generated successfully')\n}\n\nexport function generatePkgxConfig() {\n // write the yaml string to a file in your project root\n // files.put(projectPath('./pkgx.yaml'), yamlStr)\n\n log.success('Successfully generated `./pkgx.yaml` based on your config')\n}\n\nexport async function generateSeeder() {\n // await seed()\n}\n\nexport async function generateCoreSymlink() {\n await runCommand(`ln -s ${frameworkPath()} ${projectPath('.stacks')}`)\n}\n",
9
+ "import process from 'node:process'\nimport { runCommand } from '@stacksjs/cli'\nimport { Action, NpmScript } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, projectPath } from '@stacksjs/path'\nimport type { GeneratorOptions } from '@stacksjs/types'\nimport { runNpmScript } from '@stacksjs/utils'\nimport { runAction } from '../helpers'\nimport { generateVsCodeCustomData as genVsCodeCustomData } from '../helpers/vscode-custom-data'\n\n// import { files } from '@stacksjs/storage'\n\nexport async function invoke(options?: GeneratorOptions) {\n if (options?.types) await generateTypes(options)\n else if (options?.entries) await generateLibEntries(options)\n else if (options?.webTypes) await generateWebTypes(options)\n else if (options?.customData) await generateVsCodeCustomData(options)\n else if (options?.ideHelpers) await generateIdeHelpers(options)\n else if (options?.componentMeta) await generateComponentMeta(options)\n else if (options?.coreSymlink) await generateCoreSymlink()\n // else if (options?.openApiSpec) await generateOpenApiSpec()\n}\n\nexport function generate(options: GeneratorOptions) {\n return invoke(options)\n}\n\nexport async function generateLibEntries(options: GeneratorOptions) {\n const result = await runAction(Action.GenerateLibraryEntries, {\n ...options,\n cwd: projectPath(),\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your library entry points', result.error)\n process.exit()\n }\n\n log.success('Library entry points generated successfully')\n}\n\nexport async function generateWebTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateWebTypes, options)\n\n if (result.isErr()) {\n log.error('There was an error generating the web-types.json file.', result.error)\n process.exit()\n }\n\n log.success('Successfully generated the web-types.json file')\n}\n\nexport async function generateVsCodeCustomData(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating the custom-elements.json file.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // because the generated json file needs to be linted\n\n log.success('Successfully generated the custom-elements.json file')\n}\n\nexport async function generateIdeHelpers(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateIdeHelpers, options)\n\n if (result.isErr()) {\n log.error('There was an error generating IDE helpers.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated IDE helpers')\n}\n\nexport async function generateComponentMeta(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating your component meta information.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated component meta information')\n}\n\nexport async function generateTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateTypes, {\n cwd: frameworkPath(),\n ...options,\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your types.', result.error)\n process.exit()\n }\n\n log.success('Types were generated successfully')\n}\n\nexport function generatePkgxConfig() {\n // write the yaml string to a file in your project root\n // files.put(projectPath('./pkgx.yaml'), yamlStr)\n\n log.success('Successfully generated `./pkgx.yaml` based on your config')\n}\n\nexport async function generateSeeder() {\n // await seed()\n}\n\nexport async function generateCoreSymlink() {\n await runCommand(`ln -s ${frameworkPath()} ${projectPath('.stacks')}`)\n}\n",
10
10
  "import { installPackage } from '@stacksjs/cli'\nimport type { AddOptions } from '@stacksjs/types'\n\nexport async function invoke(options: AddOptions) {\n if (options?.table) await addTable()\n\n if (options?.calendar) await addCalendar()\n}\n\nexport async function add(options: AddOptions) {\n return invoke(options)\n}\n\nexport async function addTable() {\n await installPackage('@stacksjs/table')\n}\n\nexport async function addCalendar() {\n await installPackage('@stacksjs/calendar')\n}\n\nexport async function installPackages(names: string[]) {\n for (const name of names) await installPackage(name)\n}\n",
11
11
  "import { NpmScript } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport type { CleanOptions } from '@stacksjs/types'\nimport { runNpmScript } from '@stacksjs/utils'\n\nexport async function invoke(options: CleanOptions) {\n log.info('Committing...')\n await runNpmScript(NpmScript.Commit, options)\n log.success('Committed')\n}\n\nexport async function commit(options: CleanOptions) {\n return invoke(options)\n}\n",
12
- "import process from 'node:process'\nimport { italic } from '@stacksjs/cli'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, path as p, projectPath, resolve } from '@stacksjs/path'\nimport { createFolder, doesFolderExist, writeTextFile } from '@stacksjs/storage'\nimport type { MakeOptions } from '@stacksjs/types'\n\nexport async function invoke(options: MakeOptions) {\n if (options.component) await makeComponent(options)\n if (options.database) makeDatabase(options)\n if (options.function) await makeFunction(options)\n if (options.language) await makeLanguage(options)\n\n // if (options.migration)\n // await migration(options)\n\n if (options.notification) await makeNotification(options)\n if (options.page) await makePage(options)\n if (options.stack) makeStack(options)\n}\n\nexport async function make(options: MakeOptions) {\n return invoke(options)\n}\n\nexport async function makeAction(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your action...')\n await createAction(options)\n log.success(`Created ${italic(name)} action`)\n } catch (error) {\n log.error('There was an error creating your action', error)\n process.exit()\n }\n}\n\nexport async function makeComponent(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your component...')\n await createComponent(options)\n log.success(`Created ${italic(name)} component`)\n } catch (error) {\n log.error('There was an error creating your component', error)\n process.exit()\n }\n}\n\nexport async function createAction(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userActionsPath(name),\n data: `import { Action } from '@stacksjs/actions'\n\nexport default new Action({\n name: '${name}',\n description: '${name} action',\n\n handle() {\n return 'Hello World action'\n },\n})\n`,\n })\n}\n\nexport async function createComponent(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userComponentsPath(`${name}.stx`),\n data: `<script setup lang=\"ts\">\nconsole.log('Hello World component created')\n</script>\n\n<template>\n <div>\n Some HTML block\n </div>\n</template>\n`,\n })\n}\n\nexport function makeDatabase(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} database...`)\n createDatabase(options)\n log.success(`Created ${italic(name)} database`)\n } catch (error) {\n log.error('There was an error creating your database', error)\n process.exit()\n }\n}\n\nexport function createDatabase(options: MakeOptions) {\n console.log('createDatabase options', options) // wip\n}\n\nexport function factory(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} factory...`)\n createDatabase(options)\n log.success(`Created ${italic(name)} factory`)\n } catch (error) {\n log.error('There was an error creating your factory', error)\n process.exit()\n }\n}\n\nexport function createFactory(options: MakeOptions) {\n console.log('options', options) // wip\n}\n\nexport async function makeNotification(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} notification...`)\n await createNotification(options)\n log.success(`Created ${italic(name)} notification`)\n } catch (error) {\n log.error('There was an error creating your notification', error)\n process.exit()\n }\n}\n\nexport async function makePage(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your page...')\n await createPage(options)\n log.success(`Created ${name} page`)\n } catch (error) {\n log.error('There was an error creating your page', error)\n process.exit()\n }\n}\n\nexport async function createPage(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userViewsPath(`${name}.stx`),\n data: `<script setup lang=\"ts\">\nconsole.log('Hello World page created')\n</script>\n\n<template>\n <div>\n Visit http://127.0.0.1/${name}\n </div>\n</template>\n`,\n })\n}\n\nexport async function makeFunction(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your function...')\n await createFunction(options)\n log.success(`Created ${name} function`)\n } catch (error) {\n log.error('There was an error creating your function', error)\n process.exit()\n }\n}\n\nexport async function createFunction(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userFunctionsPath(`${name}.ts`),\n data: `// reactive state\nconst ${name} = ref(0)\n\n// functions that mutate state and trigger updates\nfunction increment() {\n ${name}.value++\n}\n\nexport {\n ${name},\n increment,\n}\n`,\n })\n}\n\nexport async function makeLanguage(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your translation file...')\n await createLanguage(options)\n log.success(`Created ${name} translation file`)\n } catch (error) {\n log.error('There was an error creating your language.', error)\n process.exit()\n }\n}\n\nexport async function createLanguage(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.resourcesPath(`lang/${name}.yml`),\n data: `button:\n text: Copy\n`,\n })\n}\n\nexport function makeStack(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${name} stack...`)\n const path = resolve(process.cwd(), name)\n\n // await spawn(`giget stacks ${path}`)\n log.success('Successfully scaffolded your project')\n log.info(`cd ${path} && bun install`)\n } catch (error) {\n log.error('There was an error creating your stack', error)\n process.exit()\n }\n}\n\nexport async function createNotification(options: MakeOptions) {\n const name = options.name\n try {\n let importOption = 'EmailOptions'\n\n if (!doesFolderExist('notifications')) await createFolder('./notifications')\n\n if (options.chat) importOption = 'ChatOptions'\n\n if (options.sms) importOption = 'SMSOptions'\n\n await writeTextFile({\n path: p.userNotificationsPath(`${name}.ts`),\n data: `import type { ${importOption} } from \\'@stacksjs/types\\'\n\nfunction content(): string {\n return 'example'\n}\n\nfunction send(): ${importOption} {\n return {\n content: content(),\n }\n}`,\n })\n\n return true\n } catch (error) {\n return false\n }\n}\n\nexport async function createMigration(options: MakeOptions) {\n const optionName = options.name\n // const table = options.tableName\n const table = 'dummy-name'\n\n if (!optionName[0]) throw new Error('options.name is required and cannot be empty')\n\n const name = optionName[0].toUpperCase() + optionName.slice(1)\n const path = frameworkPath(`database/migrations/${name}.ts`)\n\n try {\n await writeTextFile({\n path: `${path}`,\n data: `import { Kysely } from 'kysely'\n\nexport async function up(db: Kysely<any>): Promise<void> {\n await db.schema\n .createTable('${table}')\n .addColumn('id', 'integer', col => col.autoIncrement().primaryKey())\n .execute()\n}`,\n })\n\n log.success(`Successfully created your migration file at stacks/database/migrations/${name}.ts`)\n } catch (error: any) {\n log.error(error)\n }\n}\n\nexport async function createModel(options: MakeOptions) {\n const optionName = options.name\n\n if (!optionName[0]) throw new Error('options.name is required and cannot be empty')\n\n const name = optionName[0].toUpperCase() + optionName.slice(1)\n const path = p.userModelsPath(`${name}.ts`)\n\n try {\n await writeTextFile({\n path: `${path}`,\n data: `import { faker } from '@stacksjs/faker'\nimport { schema } from '@stacksjs/validation'\nimport type { Model } from '@stacksjs/types'\n\nexport default {\n name: '${name}',\n\n traits: {\n useTimestamps: true,\n\n useSeeder: {\n count: 10,\n },\n },\n\n attributes: {\n // your attributes here\n },\n} satisfies Model`,\n })\n\n log.success(`Model created: ${italic(`app/Models/${name}.ts`)}`)\n } catch (error: any) {\n log.error(error)\n }\n}\n",
12
+ "import process from 'node:process'\nimport { italic } from '@stacksjs/cli'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, path as p, projectPath, resolve } from '@stacksjs/path'\nimport { createFolder, doesFolderExist, writeTextFile } from '@stacksjs/storage'\nimport type { MakeOptions } from '@stacksjs/types'\n\nexport async function invoke(options: MakeOptions) {\n if (options.component) await makeComponent(options)\n if (options.database) makeDatabase(options)\n if (options.function) await makeFunction(options)\n if (options.language) await makeLanguage(options)\n\n // if (options.migration)\n // await migration(options)\n\n if (options.notification) await makeNotification(options)\n if (options.page) await makePage(options)\n if (options.stack) makeStack(options)\n}\n\nexport async function make(options: MakeOptions) {\n return invoke(options)\n}\n\nexport async function makeAction(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your action...')\n await createAction(options)\n log.success(`Created ${italic(name)} action`)\n } catch (error) {\n log.error('There was an error creating your action', error)\n process.exit()\n }\n}\n\nexport async function makeComponent(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your component...')\n await createComponent(options)\n log.success(`Created ${italic(name)} component`)\n } catch (error) {\n log.error('There was an error creating your component', error)\n process.exit()\n }\n}\n\nexport async function createAction(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userActionsPath(name),\n data: `import { Action } from '@stacksjs/actions'\n\nexport default new Action({\n name: '${name}',\n description: '${name} action',\n\n handle() {\n return 'Hello World action'\n },\n})\n`,\n })\n}\n\nexport async function createComponent(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userComponentsPath(`${name}.vue`),\n data: `<script setup lang=\"ts\">\nconsole.log('Hello World component created')\n</script>\n\n<template>\n <div>\n Some HTML block\n </div>\n</template>\n`,\n })\n}\n\nexport function makeDatabase(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} database...`)\n createDatabase(options)\n log.success(`Created ${italic(name)} database`)\n } catch (error) {\n log.error('There was an error creating your database', error)\n process.exit()\n }\n}\n\nexport function createDatabase(options: MakeOptions) {\n console.log('createDatabase options', options) // wip\n}\n\nexport function factory(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} factory...`)\n createDatabase(options)\n log.success(`Created ${italic(name)} factory`)\n } catch (error) {\n log.error('There was an error creating your factory', error)\n process.exit()\n }\n}\n\nexport function createFactory(options: MakeOptions) {\n console.log('options', options) // wip\n}\n\nexport async function makeNotification(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} notification...`)\n await createNotification(options)\n log.success(`Created ${italic(name)} notification`)\n } catch (error) {\n log.error('There was an error creating your notification', error)\n process.exit()\n }\n}\n\nexport async function makePage(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your page...')\n await createPage(options)\n log.success(`Created ${name} page`)\n } catch (error) {\n log.error('There was an error creating your page', error)\n process.exit()\n }\n}\n\nexport async function createPage(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userViewsPath(`${name}.vue`),\n data: `<script setup lang=\"ts\">\nconsole.log('Hello World page created')\n</script>\n\n<template>\n <div>\n Visit http://127.0.0.1/${name}\n </div>\n</template>\n`,\n })\n}\n\nexport async function makeFunction(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your function...')\n await createFunction(options)\n log.success(`Created ${name} function`)\n } catch (error) {\n log.error('There was an error creating your function', error)\n process.exit()\n }\n}\n\nexport async function createFunction(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userFunctionsPath(`${name}.ts`),\n data: `// reactive state\nconst ${name} = ref(0)\n\n// functions that mutate state and trigger updates\nfunction increment() {\n ${name}.value++\n}\n\nexport {\n ${name},\n increment,\n}\n`,\n })\n}\n\nexport async function makeLanguage(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your translation file...')\n await createLanguage(options)\n log.success(`Created ${name} translation file`)\n } catch (error) {\n log.error('There was an error creating your language.', error)\n process.exit()\n }\n}\n\nexport async function createLanguage(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.resourcesPath(`lang/${name}.yml`),\n data: `button:\n text: Copy\n`,\n })\n}\n\nexport function makeStack(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${name} stack...`)\n const path = resolve(process.cwd(), name)\n\n // await spawn(`giget stacks ${path}`)\n log.success('Successfully scaffolded your project')\n log.info(`cd ${path} && bun install`)\n } catch (error) {\n log.error('There was an error creating your stack', error)\n process.exit()\n }\n}\n\nexport async function createNotification(options: MakeOptions) {\n const name = options.name\n try {\n let importOption = 'EmailOptions'\n\n if (!doesFolderExist('notifications')) await createFolder('./notifications')\n\n if (options.chat) importOption = 'ChatOptions'\n\n if (options.sms) importOption = 'SMSOptions'\n\n await writeTextFile({\n path: p.userNotificationsPath(`${name}.ts`),\n data: `import type { ${importOption} } from \\'@stacksjs/types\\'\n\nfunction content(): string {\n return 'example'\n}\n\nfunction send(): ${importOption} {\n return {\n content: content(),\n }\n}`,\n })\n\n return true\n } catch (error) {\n return false\n }\n}\n\nexport async function createMigration(options: MakeOptions) {\n const optionName = options.name\n // const table = options.tableName\n const table = 'dummy-name'\n\n if (!optionName[0]) throw new Error('options.name is required and cannot be empty')\n\n const name = optionName[0].toUpperCase() + optionName.slice(1)\n const path = frameworkPath(`database/migrations/${name}.ts`)\n\n try {\n await writeTextFile({\n path: `${path}`,\n data: `import { Kysely } from 'kysely'\n\nexport async function up(db: Kysely<any>): Promise<void> {\n await db.schema\n .createTable('${table}')\n .addColumn('id', 'integer', col => col.autoIncrement().primaryKey())\n .execute()\n}`,\n })\n\n log.success(`Successfully created your migration file at stacks/database/migrations/${name}.ts`)\n } catch (error: any) {\n log.error(error)\n }\n}\n\nexport async function createModel(options: MakeOptions) {\n const optionName = options.name\n\n if (!optionName[0]) throw new Error('options.name is required and cannot be empty')\n\n const name = optionName[0].toUpperCase() + optionName.slice(1)\n const path = p.userModelsPath(`${name}.ts`)\n\n try {\n await writeTextFile({\n path: `${path}`,\n data: `import { faker } from '@stacksjs/faker'\nimport { schema } from '@stacksjs/validation'\nimport type { Model } from '@stacksjs/types'\n\nexport default {\n name: '${name}',\n\n traits: {\n useTimestamps: true,\n\n useSeeder: {\n count: 10,\n },\n },\n\n attributes: {\n // your attributes here\n },\n} satisfies Model`,\n })\n\n log.success(`Model created: ${italic(`app/Models/${name}.ts`)}`)\n } catch (error: any) {\n log.error(error)\n }\n}\n",
13
13
  "import type { JobOptions, Nullable } from '@stacksjs/types'\nimport type { ValidationBoolean, ValidationNumber, ValidationString } from '@stacksjs/validation'\n\ntype ValidationKey = string\ninterface ValidationValue {\n rule: ValidationString | ValidationNumber | ValidationBoolean | Date | Nullable<any>\n message: string\n}\n\ninterface ActionValidations {\n [key: string]: {\n rule: ReturnType<typeof schema.string>\n message?: string | Record<string, string>\n }\n}\n\ntype Request = any\ninterface ActionOptions {\n name?: string\n description?: string\n apiResponse?: boolean\n validations?: ActionValidations\n method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'\n rate?: JobOptions['rate']\n tries?: JobOptions['tries']\n backoff?: JobOptions['backoff']\n enabled?: JobOptions['enabled']\n path?: string\n requestFile?: string\n handle: (options?: Request) => Promise<any>\n}\n\nexport class Action {\n name?: string\n description?: string\n rate?: ActionOptions['rate']\n tries?: ActionOptions['tries']\n backoff?: ActionOptions['backoff']\n enabled?: ActionOptions['enabled']\n path?: ActionOptions['path']\n method?: ActionOptions['method']\n validations?: Record<ValidationKey, ValidationValue>\n requestFile?: string\n handle: ActionOptions['handle']\n\n constructor({\n name,\n description,\n validations,\n handle,\n rate,\n tries,\n backoff,\n enabled,\n path,\n method,\n requestFile,\n }: ActionOptions) {\n // log.debug(`Action ${name} created`) // TODO: this does not yet work because the cloud does not yet have proper file system (efs) access\n\n this.name = name\n this.description = description\n this.validations = validations\n this.rate = rate\n this.tries = tries\n this.backoff = backoff\n this.enabled = enabled\n this.path = path\n this.method = method\n this.handle = handle\n this.requestFile = requestFile\n }\n}\n"
14
14
  ],
15
- "mappings": "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",
16
- "debugId": "FE9ADA5BB45F4D2164756E2164756E21",
15
+ "mappings": "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",
16
+ "debugId": "B559231FB10247E664756E2164756E21",
17
17
  "names": []
18
18
  }
package/dist/make.js CHANGED
@@ -9,7 +9,7 @@ export default new Action({
9
9
  return 'Hello World action'
10
10
  },
11
11
  })
12
- `})}async function C(q){const y=q.name;await J({path:M.userComponentsPath(`${y}.stx`),data:`<script setup lang="ts">
12
+ `})}async function C(q){const y=q.name;await J({path:M.userComponentsPath(`${y}.vue`),data:`<script setup lang="ts">
13
13
  console.log('Hello World component created')
14
14
  </script>
15
15
 
@@ -18,7 +18,7 @@ console.log('Hello World component created')
18
18
  Some HTML block
19
19
  </div>
20
20
  </template>
21
- `})}function L(q){try{const y=q.name;z.info(`Creating your ${I(y)} database...`),R(q),z.success(`Created ${I(y)} database`)}catch(y){z.error("There was an error creating your database",y),H.exit()}}function R(q){console.log("createDatabase options",q)}function e(q){try{const y=q.name;z.info(`Creating your ${I(y)} factory...`),R(q),z.success(`Created ${I(y)} factory`)}catch(y){z.error("There was an error creating your factory",y),H.exit()}}function s(q){console.log("options",q)}async function f(q){try{const y=q.name;z.info(`Creating your ${I(y)} notification...`),await h(q),z.success(`Created ${I(y)} notification`)}catch(y){z.error("There was an error creating your notification",y),H.exit()}}async function D(q){try{const y=q.name;z.info("Creating your page..."),await P(q),z.success(`Created ${y} page`)}catch(y){z.error("There was an error creating your page",y),H.exit()}}async function P(q){const y=q.name;await J({path:M.userViewsPath(`${y}.stx`),data:`<script setup lang="ts">
21
+ `})}function L(q){try{const y=q.name;z.info(`Creating your ${I(y)} database...`),R(q),z.success(`Created ${I(y)} database`)}catch(y){z.error("There was an error creating your database",y),H.exit()}}function R(q){console.log("createDatabase options",q)}function e(q){try{const y=q.name;z.info(`Creating your ${I(y)} factory...`),R(q),z.success(`Created ${I(y)} factory`)}catch(y){z.error("There was an error creating your factory",y),H.exit()}}function s(q){console.log("options",q)}async function f(q){try{const y=q.name;z.info(`Creating your ${I(y)} notification...`),await h(q),z.success(`Created ${I(y)} notification`)}catch(y){z.error("There was an error creating your notification",y),H.exit()}}async function D(q){try{const y=q.name;z.info("Creating your page..."),await P(q),z.success(`Created ${y} page`)}catch(y){z.error("There was an error creating your page",y),H.exit()}}async function P(q){const y=q.name;await J({path:M.userViewsPath(`${y}.vue`),data:`<script setup lang="ts">
22
22
  console.log('Hello World page created')
23
23
  </script>
24
24
 
@@ -78,5 +78,5 @@ export default {
78
78
  },
79
79
  } satisfies Model`}),z.success(`Model created: ${I(`app/Models/${B}.ts`)}`)}catch(K){z.error(K)}}export{b as makeStack,D as makePage,f as makeNotification,u as makeLanguage,d as makeFunction,L as makeDatabase,S as makeComponent,p as makeAction,a as make,E as invoke,e as factory,P as createPage,h as createNotification,i as createModel,n as createMigration,O as createLanguage,j as createFunction,s as createFactory,R as createDatabase,C as createComponent,v as createAction};
80
80
 
81
- //# debugId=522C7356AA73F3EF64756E2164756E21
81
+ //# debugId=A40F70C0E6EEB02864756E2164756E21
82
82
  //# sourceMappingURL=make.js.map
package/dist/make.js.map CHANGED
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/make.ts"],
4
4
  "sourcesContent": [
5
- "import process from 'node:process'\nimport { italic } from '@stacksjs/cli'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, path as p, projectPath, resolve } from '@stacksjs/path'\nimport { createFolder, doesFolderExist, writeTextFile } from '@stacksjs/storage'\nimport type { MakeOptions } from '@stacksjs/types'\n\nexport async function invoke(options: MakeOptions) {\n if (options.component) await makeComponent(options)\n if (options.database) makeDatabase(options)\n if (options.function) await makeFunction(options)\n if (options.language) await makeLanguage(options)\n\n // if (options.migration)\n // await migration(options)\n\n if (options.notification) await makeNotification(options)\n if (options.page) await makePage(options)\n if (options.stack) makeStack(options)\n}\n\nexport async function make(options: MakeOptions) {\n return invoke(options)\n}\n\nexport async function makeAction(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your action...')\n await createAction(options)\n log.success(`Created ${italic(name)} action`)\n } catch (error) {\n log.error('There was an error creating your action', error)\n process.exit()\n }\n}\n\nexport async function makeComponent(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your component...')\n await createComponent(options)\n log.success(`Created ${italic(name)} component`)\n } catch (error) {\n log.error('There was an error creating your component', error)\n process.exit()\n }\n}\n\nexport async function createAction(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userActionsPath(name),\n data: `import { Action } from '@stacksjs/actions'\n\nexport default new Action({\n name: '${name}',\n description: '${name} action',\n\n handle() {\n return 'Hello World action'\n },\n})\n`,\n })\n}\n\nexport async function createComponent(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userComponentsPath(`${name}.stx`),\n data: `<script setup lang=\"ts\">\nconsole.log('Hello World component created')\n</script>\n\n<template>\n <div>\n Some HTML block\n </div>\n</template>\n`,\n })\n}\n\nexport function makeDatabase(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} database...`)\n createDatabase(options)\n log.success(`Created ${italic(name)} database`)\n } catch (error) {\n log.error('There was an error creating your database', error)\n process.exit()\n }\n}\n\nexport function createDatabase(options: MakeOptions) {\n console.log('createDatabase options', options) // wip\n}\n\nexport function factory(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} factory...`)\n createDatabase(options)\n log.success(`Created ${italic(name)} factory`)\n } catch (error) {\n log.error('There was an error creating your factory', error)\n process.exit()\n }\n}\n\nexport function createFactory(options: MakeOptions) {\n console.log('options', options) // wip\n}\n\nexport async function makeNotification(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} notification...`)\n await createNotification(options)\n log.success(`Created ${italic(name)} notification`)\n } catch (error) {\n log.error('There was an error creating your notification', error)\n process.exit()\n }\n}\n\nexport async function makePage(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your page...')\n await createPage(options)\n log.success(`Created ${name} page`)\n } catch (error) {\n log.error('There was an error creating your page', error)\n process.exit()\n }\n}\n\nexport async function createPage(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userViewsPath(`${name}.stx`),\n data: `<script setup lang=\"ts\">\nconsole.log('Hello World page created')\n</script>\n\n<template>\n <div>\n Visit http://127.0.0.1/${name}\n </div>\n</template>\n`,\n })\n}\n\nexport async function makeFunction(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your function...')\n await createFunction(options)\n log.success(`Created ${name} function`)\n } catch (error) {\n log.error('There was an error creating your function', error)\n process.exit()\n }\n}\n\nexport async function createFunction(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userFunctionsPath(`${name}.ts`),\n data: `// reactive state\nconst ${name} = ref(0)\n\n// functions that mutate state and trigger updates\nfunction increment() {\n ${name}.value++\n}\n\nexport {\n ${name},\n increment,\n}\n`,\n })\n}\n\nexport async function makeLanguage(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your translation file...')\n await createLanguage(options)\n log.success(`Created ${name} translation file`)\n } catch (error) {\n log.error('There was an error creating your language.', error)\n process.exit()\n }\n}\n\nexport async function createLanguage(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.resourcesPath(`lang/${name}.yml`),\n data: `button:\n text: Copy\n`,\n })\n}\n\nexport function makeStack(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${name} stack...`)\n const path = resolve(process.cwd(), name)\n\n // await spawn(`giget stacks ${path}`)\n log.success('Successfully scaffolded your project')\n log.info(`cd ${path} && bun install`)\n } catch (error) {\n log.error('There was an error creating your stack', error)\n process.exit()\n }\n}\n\nexport async function createNotification(options: MakeOptions) {\n const name = options.name\n try {\n let importOption = 'EmailOptions'\n\n if (!doesFolderExist('notifications')) await createFolder('./notifications')\n\n if (options.chat) importOption = 'ChatOptions'\n\n if (options.sms) importOption = 'SMSOptions'\n\n await writeTextFile({\n path: p.userNotificationsPath(`${name}.ts`),\n data: `import type { ${importOption} } from \\'@stacksjs/types\\'\n\nfunction content(): string {\n return 'example'\n}\n\nfunction send(): ${importOption} {\n return {\n content: content(),\n }\n}`,\n })\n\n return true\n } catch (error) {\n return false\n }\n}\n\nexport async function createMigration(options: MakeOptions) {\n const optionName = options.name\n // const table = options.tableName\n const table = 'dummy-name'\n\n if (!optionName[0]) throw new Error('options.name is required and cannot be empty')\n\n const name = optionName[0].toUpperCase() + optionName.slice(1)\n const path = frameworkPath(`database/migrations/${name}.ts`)\n\n try {\n await writeTextFile({\n path: `${path}`,\n data: `import { Kysely } from 'kysely'\n\nexport async function up(db: Kysely<any>): Promise<void> {\n await db.schema\n .createTable('${table}')\n .addColumn('id', 'integer', col => col.autoIncrement().primaryKey())\n .execute()\n}`,\n })\n\n log.success(`Successfully created your migration file at stacks/database/migrations/${name}.ts`)\n } catch (error: any) {\n log.error(error)\n }\n}\n\nexport async function createModel(options: MakeOptions) {\n const optionName = options.name\n\n if (!optionName[0]) throw new Error('options.name is required and cannot be empty')\n\n const name = optionName[0].toUpperCase() + optionName.slice(1)\n const path = p.userModelsPath(`${name}.ts`)\n\n try {\n await writeTextFile({\n path: `${path}`,\n data: `import { faker } from '@stacksjs/faker'\nimport { schema } from '@stacksjs/validation'\nimport type { Model } from '@stacksjs/types'\n\nexport default {\n name: '${name}',\n\n traits: {\n useTimestamps: true,\n\n useSeeder: {\n count: 10,\n },\n },\n\n attributes: {\n // your attributes here\n },\n} satisfies Model`,\n })\n\n log.success(`Model created: ${italic(`app/Models/${name}.ts`)}`)\n } catch (error: any) {\n log.error(error)\n }\n}\n"
5
+ "import process from 'node:process'\nimport { italic } from '@stacksjs/cli'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, path as p, projectPath, resolve } from '@stacksjs/path'\nimport { createFolder, doesFolderExist, writeTextFile } from '@stacksjs/storage'\nimport type { MakeOptions } from '@stacksjs/types'\n\nexport async function invoke(options: MakeOptions) {\n if (options.component) await makeComponent(options)\n if (options.database) makeDatabase(options)\n if (options.function) await makeFunction(options)\n if (options.language) await makeLanguage(options)\n\n // if (options.migration)\n // await migration(options)\n\n if (options.notification) await makeNotification(options)\n if (options.page) await makePage(options)\n if (options.stack) makeStack(options)\n}\n\nexport async function make(options: MakeOptions) {\n return invoke(options)\n}\n\nexport async function makeAction(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your action...')\n await createAction(options)\n log.success(`Created ${italic(name)} action`)\n } catch (error) {\n log.error('There was an error creating your action', error)\n process.exit()\n }\n}\n\nexport async function makeComponent(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your component...')\n await createComponent(options)\n log.success(`Created ${italic(name)} component`)\n } catch (error) {\n log.error('There was an error creating your component', error)\n process.exit()\n }\n}\n\nexport async function createAction(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userActionsPath(name),\n data: `import { Action } from '@stacksjs/actions'\n\nexport default new Action({\n name: '${name}',\n description: '${name} action',\n\n handle() {\n return 'Hello World action'\n },\n})\n`,\n })\n}\n\nexport async function createComponent(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userComponentsPath(`${name}.vue`),\n data: `<script setup lang=\"ts\">\nconsole.log('Hello World component created')\n</script>\n\n<template>\n <div>\n Some HTML block\n </div>\n</template>\n`,\n })\n}\n\nexport function makeDatabase(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} database...`)\n createDatabase(options)\n log.success(`Created ${italic(name)} database`)\n } catch (error) {\n log.error('There was an error creating your database', error)\n process.exit()\n }\n}\n\nexport function createDatabase(options: MakeOptions) {\n console.log('createDatabase options', options) // wip\n}\n\nexport function factory(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} factory...`)\n createDatabase(options)\n log.success(`Created ${italic(name)} factory`)\n } catch (error) {\n log.error('There was an error creating your factory', error)\n process.exit()\n }\n}\n\nexport function createFactory(options: MakeOptions) {\n console.log('options', options) // wip\n}\n\nexport async function makeNotification(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} notification...`)\n await createNotification(options)\n log.success(`Created ${italic(name)} notification`)\n } catch (error) {\n log.error('There was an error creating your notification', error)\n process.exit()\n }\n}\n\nexport async function makePage(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your page...')\n await createPage(options)\n log.success(`Created ${name} page`)\n } catch (error) {\n log.error('There was an error creating your page', error)\n process.exit()\n }\n}\n\nexport async function createPage(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userViewsPath(`${name}.vue`),\n data: `<script setup lang=\"ts\">\nconsole.log('Hello World page created')\n</script>\n\n<template>\n <div>\n Visit http://127.0.0.1/${name}\n </div>\n</template>\n`,\n })\n}\n\nexport async function makeFunction(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your function...')\n await createFunction(options)\n log.success(`Created ${name} function`)\n } catch (error) {\n log.error('There was an error creating your function', error)\n process.exit()\n }\n}\n\nexport async function createFunction(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userFunctionsPath(`${name}.ts`),\n data: `// reactive state\nconst ${name} = ref(0)\n\n// functions that mutate state and trigger updates\nfunction increment() {\n ${name}.value++\n}\n\nexport {\n ${name},\n increment,\n}\n`,\n })\n}\n\nexport async function makeLanguage(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your translation file...')\n await createLanguage(options)\n log.success(`Created ${name} translation file`)\n } catch (error) {\n log.error('There was an error creating your language.', error)\n process.exit()\n }\n}\n\nexport async function createLanguage(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.resourcesPath(`lang/${name}.yml`),\n data: `button:\n text: Copy\n`,\n })\n}\n\nexport function makeStack(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${name} stack...`)\n const path = resolve(process.cwd(), name)\n\n // await spawn(`giget stacks ${path}`)\n log.success('Successfully scaffolded your project')\n log.info(`cd ${path} && bun install`)\n } catch (error) {\n log.error('There was an error creating your stack', error)\n process.exit()\n }\n}\n\nexport async function createNotification(options: MakeOptions) {\n const name = options.name\n try {\n let importOption = 'EmailOptions'\n\n if (!doesFolderExist('notifications')) await createFolder('./notifications')\n\n if (options.chat) importOption = 'ChatOptions'\n\n if (options.sms) importOption = 'SMSOptions'\n\n await writeTextFile({\n path: p.userNotificationsPath(`${name}.ts`),\n data: `import type { ${importOption} } from \\'@stacksjs/types\\'\n\nfunction content(): string {\n return 'example'\n}\n\nfunction send(): ${importOption} {\n return {\n content: content(),\n }\n}`,\n })\n\n return true\n } catch (error) {\n return false\n }\n}\n\nexport async function createMigration(options: MakeOptions) {\n const optionName = options.name\n // const table = options.tableName\n const table = 'dummy-name'\n\n if (!optionName[0]) throw new Error('options.name is required and cannot be empty')\n\n const name = optionName[0].toUpperCase() + optionName.slice(1)\n const path = frameworkPath(`database/migrations/${name}.ts`)\n\n try {\n await writeTextFile({\n path: `${path}`,\n data: `import { Kysely } from 'kysely'\n\nexport async function up(db: Kysely<any>): Promise<void> {\n await db.schema\n .createTable('${table}')\n .addColumn('id', 'integer', col => col.autoIncrement().primaryKey())\n .execute()\n}`,\n })\n\n log.success(`Successfully created your migration file at stacks/database/migrations/${name}.ts`)\n } catch (error: any) {\n log.error(error)\n }\n}\n\nexport async function createModel(options: MakeOptions) {\n const optionName = options.name\n\n if (!optionName[0]) throw new Error('options.name is required and cannot be empty')\n\n const name = optionName[0].toUpperCase() + optionName.slice(1)\n const path = p.userModelsPath(`${name}.ts`)\n\n try {\n await writeTextFile({\n path: `${path}`,\n data: `import { faker } from '@stacksjs/faker'\nimport { schema } from '@stacksjs/validation'\nimport type { Model } from '@stacksjs/types'\n\nexport default {\n name: '${name}',\n\n traits: {\n useTimestamps: true,\n\n useSeeder: {\n count: 10,\n },\n },\n\n attributes: {\n // your attributes here\n },\n} satisfies Model`,\n })\n\n log.success(`Model created: ${italic(`app/Models/${name}.ts`)}`)\n } catch (error: any) {\n log.error(error)\n }\n}\n"
6
6
  ],
7
7
  "mappings": "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",
8
- "debugId": "522C7356AA73F3EF64756E2164756E21",
8
+ "debugId": "A40F70C0E6EEB02864756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/release.js CHANGED
@@ -14,7 +14,7 @@ export default new Action({
14
14
  return 'Hello World action'
15
15
  },
16
16
  })
17
- `})}async function h(v){const D=v.name;await K({path:Q.userComponentsPath(`${D}.stx`),data:`<script setup lang="ts">
17
+ `})}async function h(v){const D=v.name;await K({path:Q.userComponentsPath(`${D}.vue`),data:`<script setup lang="ts">
18
18
  console.log('Hello World component created')
19
19
  </script>
20
20
 
@@ -23,7 +23,7 @@ console.log('Hello World component created')
23
23
  Some HTML block
24
24
  </div>
25
25
  </template>
26
- `})}function m(v){try{const D=v.name;f.info(`Creating your ${G(D)} database...`),C(v),f.success(`Created ${G(D)} database`)}catch(D){f.error("There was an error creating your database",D),U.exit()}}function C(v){console.log("createDatabase options",v)}function gD(v){try{const D=v.name;f.info(`Creating your ${G(D)} factory...`),C(v),f.success(`Created ${G(D)} factory`)}catch(D){f.error("There was an error creating your factory",D),U.exit()}}function uv(v){console.log("options",v)}async function r(v){try{const D=v.name;f.info(`Creating your ${G(D)} notification...`),await i(v),f.success(`Created ${G(D)} notification`)}catch(D){f.error("There was an error creating your notification",D),U.exit()}}async function g(v){try{const D=v.name;f.info("Creating your page..."),await c(v),f.success(`Created ${D} page`)}catch(D){f.error("There was an error creating your page",D),U.exit()}}async function c(v){const D=v.name;await K({path:Q.userViewsPath(`${D}.stx`),data:`<script setup lang="ts">
26
+ `})}function m(v){try{const D=v.name;f.info(`Creating your ${G(D)} database...`),C(v),f.success(`Created ${G(D)} database`)}catch(D){f.error("There was an error creating your database",D),U.exit()}}function C(v){console.log("createDatabase options",v)}function gD(v){try{const D=v.name;f.info(`Creating your ${G(D)} factory...`),C(v),f.success(`Created ${G(D)} factory`)}catch(D){f.error("There was an error creating your factory",D),U.exit()}}function uv(v){console.log("options",v)}async function r(v){try{const D=v.name;f.info(`Creating your ${G(D)} notification...`),await i(v),f.success(`Created ${G(D)} notification`)}catch(D){f.error("There was an error creating your notification",D),U.exit()}}async function g(v){try{const D=v.name;f.info("Creating your page..."),await c(v),f.success(`Created ${D} page`)}catch(D){f.error("There was an error creating your page",D),U.exit()}}async function c(v){const D=v.name;await K({path:Q.userViewsPath(`${D}.vue`),data:`<script setup lang="ts">
27
27
  console.log('Hello World page created')
28
28
  </script>
29
29
 
@@ -83,5 +83,5 @@ export default {
83
83
  },
84
84
  } satisfies Model`}),f.success(`Model created: ${G(`app/Models/${y}.ts`)}`)}catch(x){f.error(x)}}class kv{name;description;rate;tries;backoff;enabled;path;method;validations;requestFile;handle;constructor({name:v,description:D,validations:y,handle:S,rate:x,tries:O,backoff:Z,enabled:_,path:z,method:L,requestFile:s}){this.name=v,this.description=D,this.validations=y,this.rate=x,this.tries=O,this.backoff=Z,this.enabled=_,this.path=z,this.method=L,this.handle=S,this.requestFile=s}}import{app as jv}from"@stacksjs/config";import{Action as A}from"@stacksjs/enums";import{log as dv}from"@stacksjs/logging";import{projectPath as hv}from"@stacksjs/path";await u([A.GenerateLibraryEntries,A.LintFix,A.Bump],{cwd:hv(),stdin:"inherit"});dv.success(`Successfully released ${jv.name}`);
85
85
 
86
- //# debugId=6A5B29115A136CAD64756E2164756E21
86
+ //# debugId=2AB5ADB70259A7AF64756E2164756E21
87
87
  //# sourceMappingURL=release.js.map
@@ -6,14 +6,14 @@
6
6
  "import { Action } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport type { DevOptions } from '@stacksjs/types'\nimport { runAction } from '../helpers'\n\nexport async function runDevServer(options: DevOptions) {\n log.info('Starting your Frontend Engine...')\n await runAction(Action.Dev, options)\n}\n\nexport async function runFrontendDevServer(options: DevOptions) {\n log.info('Starting your UI Engine...')\n await runAction(Action.Dev, options)\n}\n\nexport async function runBackendDevServer(options: DevOptions) {\n runApiDevServer(options)\n}\n\nexport async function runApiDevServer(options: DevOptions) {\n log.info('Starting your API...')\n await runAction(Action.DevApi, options)\n}\n\nexport async function runComponentsDevServer(options: DevOptions) {\n log.info('Starting your Library Engine...')\n await runAction(Action.DevComponents, options)\n}\n\nexport async function runDashboardDevServer(options: DevOptions) {\n log.info('Starting your Dashboard...')\n await runAction(Action.DevDashboard, options)\n}\n\nexport async function runSystemTrayDevServer(options: DevOptions) {\n log.info('Starting your System Tray...')\n await runAction(Action.DevSystemTray, options)\n}\n\nexport async function runDesktopDevServer(options: DevOptions) {\n log.info('Starting your Desktop Engine...')\n await runAction(Action.DevDesktop, options)\n}\n\nexport async function runDocsDevServer(options: DevOptions) {\n log.info('Starting your Docs Engine...')\n await runAction(Action.DevDocs, options)\n}\n",
7
7
  "import { log } from '@stacksjs/logging'\nimport { customElementsDataPath } from '@stacksjs/path'\nimport { writeTextFile } from '@stacksjs/storage'\nimport library from '~/config/library'\n\nexport async function generateVsCodeCustomData() {\n try {\n log.info('Generating custom-elements.json...')\n // the version does not have to be set here,\n // it will be set automatically by the release script\n await writeTextFile({\n path: customElementsDataPath(),\n data: generateComponentInfoData(),\n })\n log.success('Generated custom-elements.json for IDEs.')\n } catch (err) {\n log.error('There was an error generating the custom-elements.json file.', err)\n }\n}\n\nexport async function generateWebTypes() {\n log.info('Generating web-types.json...')\n log.info('This feature is not yet implemented.')\n}\n\nfunction generateComponentInfoData() {\n const componentsData = JSON.stringify(library.vueComponents?.tags)\n\n return `{\n \"version\": 1.1,\n \"tags\": ${componentsData}\n}\n`\n}\n",
8
8
  "import type { LibraryConfig } from '@stacksjs/types'\n\n/**\n * **Library Configuration**\n *\n * This configuration defines all of your library options. Because Stacks is fully-typed, you\n * may hover any of the options below and the definitions will be provided. In case you\n * have any questions, feel free to reach out via Discord or GitHub Discussions.\n */\nexport default {\n name: 'hello-world',\n owner: '@stacksjs', // you may or may not add the @ prefix here (it is added automatically)\n repository: 'stacksjs/stacks',\n license: 'MIT',\n author: 'Chris Breuer',\n contributors: ['Chris Breuer <chris@stacksjs.org>'],\n defaultLanguage: 'en',\n releaseable: true,\n\n vueComponents: {\n name: 'hello-world-vue',\n description: 'Your Vue component library description',\n keywords: ['component', 'library', 'vue', 'vite', 'typescript', 'javascript'],\n tags: [\n {\n name: ['HelloWorld', 'AppHelloWorld'],\n description: 'The Hello World custom element, built via this framework.',\n attributes: [\n {\n name: 'greeting',\n description: 'The greeting.',\n },\n ],\n },\n ],\n },\n\n webComponents: {\n name: 'hello-world-elements',\n description: 'Your framework agnostic web component library description.',\n keywords: ['custom-elements', 'web-components', 'library', 'framework-agnostic', 'typescript', 'javascript'],\n tags: [\n {\n name: ['HelloWorld', 'AppHelloWorld'],\n description: 'The Hello World custom element, built via this framework.',\n attributes: [\n {\n name: 'greeting',\n description: 'The greeting.',\n },\n ],\n },\n ],\n },\n\n functions: {\n name: 'hello-world-fx',\n description: 'Your function library description.',\n keywords: ['functions', 'composables', 'library', 'typescript', 'javascript'],\n shouldGenerateSourcemap: false,\n files: ['counter', 'dark'],\n },\n} satisfies LibraryConfig\n",
9
- "import process from 'node:process'\nimport { runCommand } from '@stacksjs/cli'\nimport { Action, NpmScript } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, projectPath } from '@stacksjs/path'\nimport type { GeneratorOptions } from '@stacksjs/types'\nimport { runNpmScript } from '@stacksjs/utils'\nimport { runAction } from '../helpers'\nimport { generateVsCodeCustomData as genVsCodeCustomData } from '../helpers/vscode-custom-data'\n\n// import { files } from '@stacksjs/storage'\n\nexport async function invoke(options?: GeneratorOptions) {\n if (options?.types) await generateTypes(options)\n else if (options?.entries) await generateLibEntries(options)\n else if (options?.webTypes) await generateWebTypes(options)\n else if (options?.customData) await generateVsCodeCustomData(options)\n else if (options?.ideHelpers) await generateIdeHelpers(options)\n else if (options?.componentMeta) await generateComponentMeta(options)\n else if (options?.coreSymlink) await generateCoreSymlink()\n}\n\nexport function generate(options: GeneratorOptions) {\n return invoke(options)\n}\n\nexport async function generateLibEntries(options: GeneratorOptions) {\n const result = await runAction(Action.GenerateLibraryEntries, {\n ...options,\n cwd: projectPath(),\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your library entry points', result.error)\n process.exit()\n }\n\n log.success('Library entry points generated successfully')\n}\n\nexport async function generateWebTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateWebTypes, options)\n\n if (result.isErr()) {\n log.error('There was an error generating the web-types.json file.', result.error)\n process.exit()\n }\n\n log.success('Successfully generated the web-types.json file')\n}\n\nexport async function generateVsCodeCustomData(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating the custom-elements.json file.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // because the generated json file needs to be linted\n\n log.success('Successfully generated the custom-elements.json file')\n}\n\nexport async function generateIdeHelpers(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateIdeHelpers, options)\n\n if (result.isErr()) {\n log.error('There was an error generating IDE helpers.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated IDE helpers')\n}\n\nexport async function generateComponentMeta(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating your component meta information.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated component meta information')\n}\n\nexport async function generateTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateTypes, {\n cwd: frameworkPath(),\n ...options,\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your types.', result.error)\n process.exit()\n }\n\n log.success('Types were generated successfully')\n}\n\nexport function generatePkgxConfig() {\n // write the yaml string to a file in your project root\n // files.put(projectPath('./pkgx.yaml'), yamlStr)\n\n log.success('Successfully generated `./pkgx.yaml` based on your config')\n}\n\nexport async function generateSeeder() {\n // await seed()\n}\n\nexport async function generateCoreSymlink() {\n await runCommand(`ln -s ${frameworkPath()} ${projectPath('.stacks')}`)\n}\n",
9
+ "import process from 'node:process'\nimport { runCommand } from '@stacksjs/cli'\nimport { Action, NpmScript } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, projectPath } from '@stacksjs/path'\nimport type { GeneratorOptions } from '@stacksjs/types'\nimport { runNpmScript } from '@stacksjs/utils'\nimport { runAction } from '../helpers'\nimport { generateVsCodeCustomData as genVsCodeCustomData } from '../helpers/vscode-custom-data'\n\n// import { files } from '@stacksjs/storage'\n\nexport async function invoke(options?: GeneratorOptions) {\n if (options?.types) await generateTypes(options)\n else if (options?.entries) await generateLibEntries(options)\n else if (options?.webTypes) await generateWebTypes(options)\n else if (options?.customData) await generateVsCodeCustomData(options)\n else if (options?.ideHelpers) await generateIdeHelpers(options)\n else if (options?.componentMeta) await generateComponentMeta(options)\n else if (options?.coreSymlink) await generateCoreSymlink()\n // else if (options?.openApiSpec) await generateOpenApiSpec()\n}\n\nexport function generate(options: GeneratorOptions) {\n return invoke(options)\n}\n\nexport async function generateLibEntries(options: GeneratorOptions) {\n const result = await runAction(Action.GenerateLibraryEntries, {\n ...options,\n cwd: projectPath(),\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your library entry points', result.error)\n process.exit()\n }\n\n log.success('Library entry points generated successfully')\n}\n\nexport async function generateWebTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateWebTypes, options)\n\n if (result.isErr()) {\n log.error('There was an error generating the web-types.json file.', result.error)\n process.exit()\n }\n\n log.success('Successfully generated the web-types.json file')\n}\n\nexport async function generateVsCodeCustomData(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating the custom-elements.json file.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // because the generated json file needs to be linted\n\n log.success('Successfully generated the custom-elements.json file')\n}\n\nexport async function generateIdeHelpers(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateIdeHelpers, options)\n\n if (result.isErr()) {\n log.error('There was an error generating IDE helpers.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated IDE helpers')\n}\n\nexport async function generateComponentMeta(options?: GeneratorOptions) {\n const result = await genVsCodeCustomData()\n\n if (result.isErr()) {\n log.error('There was an error generating your component meta information.', result.error)\n process.exit()\n }\n\n await runAction(Action.LintFix, { verbose: true }) // the generated json file needs to be linted\n log.success('Successfully generated component meta information')\n}\n\nexport async function generateTypes(options?: GeneratorOptions) {\n const result = await runNpmScript(NpmScript.GenerateTypes, {\n cwd: frameworkPath(),\n ...options,\n })\n\n if (result.isErr()) {\n log.error('There was an error generating your types.', result.error)\n process.exit()\n }\n\n log.success('Types were generated successfully')\n}\n\nexport function generatePkgxConfig() {\n // write the yaml string to a file in your project root\n // files.put(projectPath('./pkgx.yaml'), yamlStr)\n\n log.success('Successfully generated `./pkgx.yaml` based on your config')\n}\n\nexport async function generateSeeder() {\n // await seed()\n}\n\nexport async function generateCoreSymlink() {\n await runCommand(`ln -s ${frameworkPath()} ${projectPath('.stacks')}`)\n}\n",
10
10
  "import { installPackage } from '@stacksjs/cli'\nimport type { AddOptions } from '@stacksjs/types'\n\nexport async function invoke(options: AddOptions) {\n if (options?.table) await addTable()\n\n if (options?.calendar) await addCalendar()\n}\n\nexport async function add(options: AddOptions) {\n return invoke(options)\n}\n\nexport async function addTable() {\n await installPackage('@stacksjs/table')\n}\n\nexport async function addCalendar() {\n await installPackage('@stacksjs/calendar')\n}\n\nexport async function installPackages(names: string[]) {\n for (const name of names) await installPackage(name)\n}\n",
11
11
  "import { NpmScript } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport type { CleanOptions } from '@stacksjs/types'\nimport { runNpmScript } from '@stacksjs/utils'\n\nexport async function invoke(options: CleanOptions) {\n log.info('Committing...')\n await runNpmScript(NpmScript.Commit, options)\n log.success('Committed')\n}\n\nexport async function commit(options: CleanOptions) {\n return invoke(options)\n}\n",
12
- "import process from 'node:process'\nimport { italic } from '@stacksjs/cli'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, path as p, projectPath, resolve } from '@stacksjs/path'\nimport { createFolder, doesFolderExist, writeTextFile } from '@stacksjs/storage'\nimport type { MakeOptions } from '@stacksjs/types'\n\nexport async function invoke(options: MakeOptions) {\n if (options.component) await makeComponent(options)\n if (options.database) makeDatabase(options)\n if (options.function) await makeFunction(options)\n if (options.language) await makeLanguage(options)\n\n // if (options.migration)\n // await migration(options)\n\n if (options.notification) await makeNotification(options)\n if (options.page) await makePage(options)\n if (options.stack) makeStack(options)\n}\n\nexport async function make(options: MakeOptions) {\n return invoke(options)\n}\n\nexport async function makeAction(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your action...')\n await createAction(options)\n log.success(`Created ${italic(name)} action`)\n } catch (error) {\n log.error('There was an error creating your action', error)\n process.exit()\n }\n}\n\nexport async function makeComponent(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your component...')\n await createComponent(options)\n log.success(`Created ${italic(name)} component`)\n } catch (error) {\n log.error('There was an error creating your component', error)\n process.exit()\n }\n}\n\nexport async function createAction(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userActionsPath(name),\n data: `import { Action } from '@stacksjs/actions'\n\nexport default new Action({\n name: '${name}',\n description: '${name} action',\n\n handle() {\n return 'Hello World action'\n },\n})\n`,\n })\n}\n\nexport async function createComponent(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userComponentsPath(`${name}.stx`),\n data: `<script setup lang=\"ts\">\nconsole.log('Hello World component created')\n</script>\n\n<template>\n <div>\n Some HTML block\n </div>\n</template>\n`,\n })\n}\n\nexport function makeDatabase(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} database...`)\n createDatabase(options)\n log.success(`Created ${italic(name)} database`)\n } catch (error) {\n log.error('There was an error creating your database', error)\n process.exit()\n }\n}\n\nexport function createDatabase(options: MakeOptions) {\n console.log('createDatabase options', options) // wip\n}\n\nexport function factory(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} factory...`)\n createDatabase(options)\n log.success(`Created ${italic(name)} factory`)\n } catch (error) {\n log.error('There was an error creating your factory', error)\n process.exit()\n }\n}\n\nexport function createFactory(options: MakeOptions) {\n console.log('options', options) // wip\n}\n\nexport async function makeNotification(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} notification...`)\n await createNotification(options)\n log.success(`Created ${italic(name)} notification`)\n } catch (error) {\n log.error('There was an error creating your notification', error)\n process.exit()\n }\n}\n\nexport async function makePage(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your page...')\n await createPage(options)\n log.success(`Created ${name} page`)\n } catch (error) {\n log.error('There was an error creating your page', error)\n process.exit()\n }\n}\n\nexport async function createPage(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userViewsPath(`${name}.stx`),\n data: `<script setup lang=\"ts\">\nconsole.log('Hello World page created')\n</script>\n\n<template>\n <div>\n Visit http://127.0.0.1/${name}\n </div>\n</template>\n`,\n })\n}\n\nexport async function makeFunction(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your function...')\n await createFunction(options)\n log.success(`Created ${name} function`)\n } catch (error) {\n log.error('There was an error creating your function', error)\n process.exit()\n }\n}\n\nexport async function createFunction(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userFunctionsPath(`${name}.ts`),\n data: `// reactive state\nconst ${name} = ref(0)\n\n// functions that mutate state and trigger updates\nfunction increment() {\n ${name}.value++\n}\n\nexport {\n ${name},\n increment,\n}\n`,\n })\n}\n\nexport async function makeLanguage(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your translation file...')\n await createLanguage(options)\n log.success(`Created ${name} translation file`)\n } catch (error) {\n log.error('There was an error creating your language.', error)\n process.exit()\n }\n}\n\nexport async function createLanguage(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.resourcesPath(`lang/${name}.yml`),\n data: `button:\n text: Copy\n`,\n })\n}\n\nexport function makeStack(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${name} stack...`)\n const path = resolve(process.cwd(), name)\n\n // await spawn(`giget stacks ${path}`)\n log.success('Successfully scaffolded your project')\n log.info(`cd ${path} && bun install`)\n } catch (error) {\n log.error('There was an error creating your stack', error)\n process.exit()\n }\n}\n\nexport async function createNotification(options: MakeOptions) {\n const name = options.name\n try {\n let importOption = 'EmailOptions'\n\n if (!doesFolderExist('notifications')) await createFolder('./notifications')\n\n if (options.chat) importOption = 'ChatOptions'\n\n if (options.sms) importOption = 'SMSOptions'\n\n await writeTextFile({\n path: p.userNotificationsPath(`${name}.ts`),\n data: `import type { ${importOption} } from \\'@stacksjs/types\\'\n\nfunction content(): string {\n return 'example'\n}\n\nfunction send(): ${importOption} {\n return {\n content: content(),\n }\n}`,\n })\n\n return true\n } catch (error) {\n return false\n }\n}\n\nexport async function createMigration(options: MakeOptions) {\n const optionName = options.name\n // const table = options.tableName\n const table = 'dummy-name'\n\n if (!optionName[0]) throw new Error('options.name is required and cannot be empty')\n\n const name = optionName[0].toUpperCase() + optionName.slice(1)\n const path = frameworkPath(`database/migrations/${name}.ts`)\n\n try {\n await writeTextFile({\n path: `${path}`,\n data: `import { Kysely } from 'kysely'\n\nexport async function up(db: Kysely<any>): Promise<void> {\n await db.schema\n .createTable('${table}')\n .addColumn('id', 'integer', col => col.autoIncrement().primaryKey())\n .execute()\n}`,\n })\n\n log.success(`Successfully created your migration file at stacks/database/migrations/${name}.ts`)\n } catch (error: any) {\n log.error(error)\n }\n}\n\nexport async function createModel(options: MakeOptions) {\n const optionName = options.name\n\n if (!optionName[0]) throw new Error('options.name is required and cannot be empty')\n\n const name = optionName[0].toUpperCase() + optionName.slice(1)\n const path = p.userModelsPath(`${name}.ts`)\n\n try {\n await writeTextFile({\n path: `${path}`,\n data: `import { faker } from '@stacksjs/faker'\nimport { schema } from '@stacksjs/validation'\nimport type { Model } from '@stacksjs/types'\n\nexport default {\n name: '${name}',\n\n traits: {\n useTimestamps: true,\n\n useSeeder: {\n count: 10,\n },\n },\n\n attributes: {\n // your attributes here\n },\n} satisfies Model`,\n })\n\n log.success(`Model created: ${italic(`app/Models/${name}.ts`)}`)\n } catch (error: any) {\n log.error(error)\n }\n}\n",
12
+ "import process from 'node:process'\nimport { italic } from '@stacksjs/cli'\nimport { log } from '@stacksjs/logging'\nimport { frameworkPath, path as p, projectPath, resolve } from '@stacksjs/path'\nimport { createFolder, doesFolderExist, writeTextFile } from '@stacksjs/storage'\nimport type { MakeOptions } from '@stacksjs/types'\n\nexport async function invoke(options: MakeOptions) {\n if (options.component) await makeComponent(options)\n if (options.database) makeDatabase(options)\n if (options.function) await makeFunction(options)\n if (options.language) await makeLanguage(options)\n\n // if (options.migration)\n // await migration(options)\n\n if (options.notification) await makeNotification(options)\n if (options.page) await makePage(options)\n if (options.stack) makeStack(options)\n}\n\nexport async function make(options: MakeOptions) {\n return invoke(options)\n}\n\nexport async function makeAction(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your action...')\n await createAction(options)\n log.success(`Created ${italic(name)} action`)\n } catch (error) {\n log.error('There was an error creating your action', error)\n process.exit()\n }\n}\n\nexport async function makeComponent(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your component...')\n await createComponent(options)\n log.success(`Created ${italic(name)} component`)\n } catch (error) {\n log.error('There was an error creating your component', error)\n process.exit()\n }\n}\n\nexport async function createAction(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userActionsPath(name),\n data: `import { Action } from '@stacksjs/actions'\n\nexport default new Action({\n name: '${name}',\n description: '${name} action',\n\n handle() {\n return 'Hello World action'\n },\n})\n`,\n })\n}\n\nexport async function createComponent(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userComponentsPath(`${name}.vue`),\n data: `<script setup lang=\"ts\">\nconsole.log('Hello World component created')\n</script>\n\n<template>\n <div>\n Some HTML block\n </div>\n</template>\n`,\n })\n}\n\nexport function makeDatabase(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} database...`)\n createDatabase(options)\n log.success(`Created ${italic(name)} database`)\n } catch (error) {\n log.error('There was an error creating your database', error)\n process.exit()\n }\n}\n\nexport function createDatabase(options: MakeOptions) {\n console.log('createDatabase options', options) // wip\n}\n\nexport function factory(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} factory...`)\n createDatabase(options)\n log.success(`Created ${italic(name)} factory`)\n } catch (error) {\n log.error('There was an error creating your factory', error)\n process.exit()\n }\n}\n\nexport function createFactory(options: MakeOptions) {\n console.log('options', options) // wip\n}\n\nexport async function makeNotification(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${italic(name)} notification...`)\n await createNotification(options)\n log.success(`Created ${italic(name)} notification`)\n } catch (error) {\n log.error('There was an error creating your notification', error)\n process.exit()\n }\n}\n\nexport async function makePage(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your page...')\n await createPage(options)\n log.success(`Created ${name} page`)\n } catch (error) {\n log.error('There was an error creating your page', error)\n process.exit()\n }\n}\n\nexport async function createPage(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userViewsPath(`${name}.vue`),\n data: `<script setup lang=\"ts\">\nconsole.log('Hello World page created')\n</script>\n\n<template>\n <div>\n Visit http://127.0.0.1/${name}\n </div>\n</template>\n`,\n })\n}\n\nexport async function makeFunction(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your function...')\n await createFunction(options)\n log.success(`Created ${name} function`)\n } catch (error) {\n log.error('There was an error creating your function', error)\n process.exit()\n }\n}\n\nexport async function createFunction(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.userFunctionsPath(`${name}.ts`),\n data: `// reactive state\nconst ${name} = ref(0)\n\n// functions that mutate state and trigger updates\nfunction increment() {\n ${name}.value++\n}\n\nexport {\n ${name},\n increment,\n}\n`,\n })\n}\n\nexport async function makeLanguage(options: MakeOptions) {\n try {\n const name = options.name\n log.info('Creating your translation file...')\n await createLanguage(options)\n log.success(`Created ${name} translation file`)\n } catch (error) {\n log.error('There was an error creating your language.', error)\n process.exit()\n }\n}\n\nexport async function createLanguage(options: MakeOptions) {\n const name = options.name\n await writeTextFile({\n path: p.resourcesPath(`lang/${name}.yml`),\n data: `button:\n text: Copy\n`,\n })\n}\n\nexport function makeStack(options: MakeOptions) {\n try {\n const name = options.name\n log.info(`Creating your ${name} stack...`)\n const path = resolve(process.cwd(), name)\n\n // await spawn(`giget stacks ${path}`)\n log.success('Successfully scaffolded your project')\n log.info(`cd ${path} && bun install`)\n } catch (error) {\n log.error('There was an error creating your stack', error)\n process.exit()\n }\n}\n\nexport async function createNotification(options: MakeOptions) {\n const name = options.name\n try {\n let importOption = 'EmailOptions'\n\n if (!doesFolderExist('notifications')) await createFolder('./notifications')\n\n if (options.chat) importOption = 'ChatOptions'\n\n if (options.sms) importOption = 'SMSOptions'\n\n await writeTextFile({\n path: p.userNotificationsPath(`${name}.ts`),\n data: `import type { ${importOption} } from \\'@stacksjs/types\\'\n\nfunction content(): string {\n return 'example'\n}\n\nfunction send(): ${importOption} {\n return {\n content: content(),\n }\n}`,\n })\n\n return true\n } catch (error) {\n return false\n }\n}\n\nexport async function createMigration(options: MakeOptions) {\n const optionName = options.name\n // const table = options.tableName\n const table = 'dummy-name'\n\n if (!optionName[0]) throw new Error('options.name is required and cannot be empty')\n\n const name = optionName[0].toUpperCase() + optionName.slice(1)\n const path = frameworkPath(`database/migrations/${name}.ts`)\n\n try {\n await writeTextFile({\n path: `${path}`,\n data: `import { Kysely } from 'kysely'\n\nexport async function up(db: Kysely<any>): Promise<void> {\n await db.schema\n .createTable('${table}')\n .addColumn('id', 'integer', col => col.autoIncrement().primaryKey())\n .execute()\n}`,\n })\n\n log.success(`Successfully created your migration file at stacks/database/migrations/${name}.ts`)\n } catch (error: any) {\n log.error(error)\n }\n}\n\nexport async function createModel(options: MakeOptions) {\n const optionName = options.name\n\n if (!optionName[0]) throw new Error('options.name is required and cannot be empty')\n\n const name = optionName[0].toUpperCase() + optionName.slice(1)\n const path = p.userModelsPath(`${name}.ts`)\n\n try {\n await writeTextFile({\n path: `${path}`,\n data: `import { faker } from '@stacksjs/faker'\nimport { schema } from '@stacksjs/validation'\nimport type { Model } from '@stacksjs/types'\n\nexport default {\n name: '${name}',\n\n traits: {\n useTimestamps: true,\n\n useSeeder: {\n count: 10,\n },\n },\n\n attributes: {\n // your attributes here\n },\n} satisfies Model`,\n })\n\n log.success(`Model created: ${italic(`app/Models/${name}.ts`)}`)\n } catch (error: any) {\n log.error(error)\n }\n}\n",
13
13
  "import type { JobOptions, Nullable } from '@stacksjs/types'\nimport type { ValidationBoolean, ValidationNumber, ValidationString } from '@stacksjs/validation'\n\ntype ValidationKey = string\ninterface ValidationValue {\n rule: ValidationString | ValidationNumber | ValidationBoolean | Date | Nullable<any>\n message: string\n}\n\ninterface ActionValidations {\n [key: string]: {\n rule: ReturnType<typeof schema.string>\n message?: string | Record<string, string>\n }\n}\n\ntype Request = any\ninterface ActionOptions {\n name?: string\n description?: string\n apiResponse?: boolean\n validations?: ActionValidations\n method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'\n rate?: JobOptions['rate']\n tries?: JobOptions['tries']\n backoff?: JobOptions['backoff']\n enabled?: JobOptions['enabled']\n path?: string\n requestFile?: string\n handle: (options?: Request) => Promise<any>\n}\n\nexport class Action {\n name?: string\n description?: string\n rate?: ActionOptions['rate']\n tries?: ActionOptions['tries']\n backoff?: ActionOptions['backoff']\n enabled?: ActionOptions['enabled']\n path?: ActionOptions['path']\n method?: ActionOptions['method']\n validations?: Record<ValidationKey, ValidationValue>\n requestFile?: string\n handle: ActionOptions['handle']\n\n constructor({\n name,\n description,\n validations,\n handle,\n rate,\n tries,\n backoff,\n enabled,\n path,\n method,\n requestFile,\n }: ActionOptions) {\n // log.debug(`Action ${name} created`) // TODO: this does not yet work because the cloud does not yet have proper file system (efs) access\n\n this.name = name\n this.description = description\n this.validations = validations\n this.rate = rate\n this.tries = tries\n this.backoff = backoff\n this.enabled = enabled\n this.path = path\n this.method = method\n this.handle = handle\n this.requestFile = requestFile\n }\n}\n",
14
14
  "#!/usr/bin/env bun\nimport { app } from '@stacksjs/config'\nimport { Action } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport { projectPath } from '@stacksjs/path'\nimport { runActions } from '.'\n\nawait runActions(\n [\n Action.GenerateLibraryEntries, // generates the package/library entry points\n Action.LintFix, // ensure there are no lint errors\n // Action.Test, // run the tests\n Action.Bump, // bump the versions, create the git tag, generate the changelog, commit & push the changes\n ],\n {\n // debug mode needs to be enabled to see the output due to the interactive prompts\n cwd: projectPath(),\n stdin: 'inherit',\n },\n)\n\nlog.success(`Successfully released ${app.name}`)\n"
15
15
  ],
16
- "mappings": "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",
17
- "debugId": "6A5B29115A136CAD64756E2164756E21",
16
+ "mappings": ";;ogBACA,uBAAS,gBAAc,kBAAY,uBACnC,cAAS,iCACT,cAAS,0BACT,iCACA,eAAS,0BAcT,eAAsB,CAAS,CAAC,EAAgB,EAAyB,CAGvE,MAAM,EAAO,IAAI,IAAI,KAAK,cAAc,EAClC,EAAc,CAAE,IAAO,kBAAgB,EAAG,UAAW,EAAK,EAEhE,cAAiB,KAAQ,EAAK,KAAK,CAAW,EAAG,CAC/C,GAAI,IAAS,GAAG,QAAe,EAAK,SAAS,GAAG,MAAW,EACzD,OAAS,MAAgC,OAAE,kBAAgB,CAAI,IAAI,QAAuB,OAAO,EAEnG,GAAI,IAAS,GAAG,QAAe,EAAK,SAAS,GAAG,MAAW,EACzD,OAAS,MAAgC,OAAE,kBAAgB,CAAI,IAAI,QAAuB,OAAO,EAGnG,GAAI,CACF,MAAM,EAAI,MAAgC,OAAE,kBAAgB,CAAI,GAChE,GAAI,EAAE,OAAS,EAEb,OADA,QAAQ,IAAI,iBAAkB,EAAE,IAAI,EAC7B,MAAM,EAAE,OAAO,QAEjB,EAAP,CACA,QAAQ,IAAI,QAAS,CAAK,EAC1B,QAAQ,KAAK,GAKjB,MAAM,EAAO,EAAa,EAEpB,EAAM,aADG,sBAAoB,OAAO,MAAW,KACpB,IAAO,QAAQ,EAC1C,EAAiB,CACrB,IAAK,GAAS,KAAS,cAAY,KAChC,CACL,EAKA,OAHA,EAAI,MAAM,aAAc,CAAG,EAC3B,EAAI,MAAM,kBAAmB,CAAc,EAEpC,MAAM,GAAW,EAAK,CAAc,EAU7C,eAAsB,CAAU,CAAC,EAAmB,EAAyB,CAG3E,GAFA,EAAI,MAAM,cAAe,EAAS,CAAO,GAEpC,EAAQ,OAAQ,OAAO,EAAI,2BAA2B,EAE3D,QAAW,KAAU,EAEnB,GADA,EAAI,MAAM,mBAAmB,IAAS,GACjC,GAAU,CAAM,EAAG,OAAO,EAAI,yBAAyB,mBAAwB,EAGtF,MAAM,EAAO,EAAa,EAEpB,EAAI,CACR,IAAK,GAAS,KAAS,cAAY,KAChC,CACL,EAEM,EAAW,EAAQ,IAAI,CAAC,IAAW,aAAe,sBAAoB,OAAO,MAAW,KAAK,GAAM,EAIzG,OAFA,EAAI,MAAM,YAAa,CAAQ,EAExB,MAAM,GAAY,EAAU,CAAC,EAI/B,SAAS,EAAS,CAAC,EAAgB,CAExC,MAAM,EAAqB,CACzB,GAAG,OACH,GAAG,IACH,aAAa,OACb,aAAa,IACb,SAAS,OACT,SAAS,GACX,EAGM,EAAiB,CAAC,OAAO,OAAa,OAAO,IAAU,GAAG,OAAa,GAAG,GAAQ,EAGlF,EAAkB,EAAK,KAAK,EAAmB,IAAI,CAAC,IAAc,kBAAgB,CAAO,CAAC,CAAC,EAG3F,EAAc,EAAK,KAAK,EAAe,IAAI,CAAC,IAAc,cAAY,CAAO,CAAC,CAAC,EAErF,OAAO,EAAgB,OAAS,GAAK,EAAY,OAAS,EChH5D,iBAAS,wBACT,cAAS,0BAIT,eAAsB,EAAY,CAAC,EAAqB,CACtD,EAAI,KAAK,kCAAkC,EAC3C,MAAM,EAAU,EAAO,IAAK,CAAO,EAGrC,eAAsB,EAAoB,CAAC,EAAqB,CAC9D,EAAI,KAAK,4BAA4B,EACrC,MAAM,EAAU,EAAO,IAAK,CAAO,EAGrC,eAAsB,EAAmB,CAAC,EAAqB,CAC7D,GAAgB,CAAO,EAGzB,eAAsB,EAAe,CAAC,EAAqB,CACzD,EAAI,KAAK,sBAAsB,EAC/B,MAAM,EAAU,EAAO,OAAQ,CAAO,EAGxC,eAAsB,EAAsB,CAAC,EAAqB,CAChE,EAAI,KAAK,iCAAiC,EAC1C,MAAM,EAAU,EAAO,cAAe,CAAO,EAG/C,eAAsB,EAAqB,CAAC,EAAqB,CAC/D,EAAI,KAAK,4BAA4B,EACrC,MAAM,EAAU,EAAO,aAAc,CAAO,EAG9C,eAAsB,EAAsB,CAAC,EAAqB,CAChE,EAAI,KAAK,8BAA8B,EACvC,MAAM,EAAU,EAAO,cAAe,CAAO,EAG/C,eAAsB,EAAmB,CAAC,EAAqB,CAC7D,EAAI,KAAK,iCAAiC,EAC1C,MAAM,EAAU,EAAO,WAAY,CAAO,EAG5C,eAAsB,EAAgB,CAAC,EAAqB,CAC1D,EAAI,KAAK,8BAA8B,EACvC,MAAM,EAAU,EAAO,QAAS,CAAO,EC9CzC,cAAS,0BACT,iCAAS,wBACT,wBAAS,2BCOT,IAAe,GACb,KAAM,cACN,MAAO,YACP,WAAY,kBACZ,QAAS,MACT,OAAQ,eACR,aAAc,CAAC,mCAAmC,EAClD,gBAAiB,KACjB,YAAa,GAEb,cAAe,CACb,KAAM,kBACN,YAAa,yCACb,SAAU,CAAC,YAAa,UAAW,MAAO,OAAQ,aAAc,YAAY,EAC5E,KAAM,CACJ,CACE,KAAM,CAAC,aAAc,eAAe,EACpC,YAAa,4DACb,WAAY,CACV,CACE,KAAM,WACN,YAAa,eACf,CACF,CACF,CACF,CACF,EAEA,cAAe,CACb,KAAM,uBACN,YAAa,6DACb,SAAU,CAAC,kBAAmB,iBAAkB,UAAW,qBAAsB,aAAc,YAAY,EAC3G,KAAM,CACJ,CACE,KAAM,CAAC,aAAc,eAAe,EACpC,YAAa,4DACb,WAAY,CACV,CACE,KAAM,WACN,YAAa,eACf,CACF,CACF,CACF,CACF,EAEA,UAAW,CACT,KAAM,iBACN,YAAa,qCACb,SAAU,CAAC,YAAa,cAAe,UAAW,aAAc,YAAY,EAC5E,wBAAyB,GACzB,MAAO,CAAC,UAAW,MAAM,CAC3B,CACF,EDzDA,eAAsB,CAAwB,EAAG,CAC/C,GAAI,CACF,EAAI,KAAK,oCAAoC,EAG7C,MAAM,GAAc,CAClB,KAAM,GAAuB,EAC7B,KAAM,GAA0B,CAClC,CAAC,EACD,EAAI,QAAQ,0CAA0C,QAC/C,EAAP,CACA,EAAI,MAAM,+DAAgE,CAAG,GAIjF,eAAsB,EAAgB,EAAG,CACvC,EAAI,KAAK,8BAA8B,EACvC,EAAI,KAAK,sCAAsC,EAGjD,SAAS,EAAyB,EAAG,CAGnC,MAAO;AAAA;AAAA,YAFgB,KAAK,UAAU,EAAQ,eAAe,IAAI;AAAA;EE1BnE,uBACA,qBAAS,uBACT,iBAAS,eAAQ,wBACjB,cAAS,0BACT,wBAAS,iBAAe,uBAExB,uBAAS,wBAMT,eAAsB,EAAM,CAAC,EAA4B,CACvD,GAAI,GAAS,MAAO,MAAM,GAAc,CAAO,UACtC,GAAS,QAAS,MAAM,GAAmB,CAAO,UAClD,GAAS,SAAU,MAAM,GAAiB,CAAO,UACjD,GAAS,WAAY,MAAM,GAAyB,CAAO,UAC3D,GAAS,WAAY,MAAM,GAAmB,CAAO,UACrD,GAAS,cAAe,MAAM,GAAsB,CAAO,UAC3D,GAAS,YAAa,MAAM,GAAoB,EAIpD,SAAS,EAAQ,CAAC,EAA2B,CAClD,OAAO,GAAO,CAAO,EAGvB,eAAsB,EAAkB,CAAC,EAA2B,CAClE,MAAM,EAAS,MAAM,EAAU,EAAO,uBAAwB,IACzD,EACH,IAAK,EAAY,CACnB,CAAC,EAED,GAAI,EAAO,MAAM,EACf,EAAI,MAAM,0DAA2D,EAAO,KAAK,EACjF,EAAQ,KAAK,EAGf,EAAI,QAAQ,6CAA6C,EAG3D,eAAsB,EAAgB,CAAC,EAA4B,CACjE,MAAM,EAAS,MAAM,EAAa,EAAU,iBAAkB,CAAO,EAErE,GAAI,EAAO,MAAM,EACf,EAAI,MAAM,yDAA0D,EAAO,KAAK,EAChF,EAAQ,KAAK,EAGf,EAAI,QAAQ,gDAAgD,EAG9D,eAAsB,EAAwB,CAAC,EAA4B,CACzE,MAAM,EAAS,MAAM,EAAoB,EAEzC,GAAI,EAAO,MAAM,EACf,EAAI,MAAM,+DAAgE,EAAO,KAAK,EACtF,EAAQ,KAAK,EAGf,MAAM,EAAU,EAAO,QAAS,CAAE,QAAS,EAAK,CAAC,EAEjD,EAAI,QAAQ,sDAAsD,EAGpE,eAAsB,EAAkB,CAAC,EAA4B,CACnE,MAAM,EAAS,MAAM,EAAa,EAAU,mBAAoB,CAAO,EAEvE,GAAI,EAAO,MAAM,EACf,EAAI,MAAM,6CAA8C,EAAO,KAAK,EACpE,EAAQ,KAAK,EAGf,MAAM,EAAU,EAAO,QAAS,CAAE,QAAS,EAAK,CAAC,EACjD,EAAI,QAAQ,oCAAoC,EAGlD,eAAsB,EAAqB,CAAC,EAA4B,CACtE,MAAM,EAAS,MAAM,EAAoB,EAEzC,GAAI,EAAO,MAAM,EACf,EAAI,MAAM,iEAAkE,EAAO,KAAK,EACxF,EAAQ,KAAK,EAGf,MAAM,EAAU,EAAO,QAAS,CAAE,QAAS,EAAK,CAAC,EACjD,EAAI,QAAQ,mDAAmD,EAGjE,eAAsB,EAAa,CAAC,EAA4B,CAC9D,MAAM,EAAS,MAAM,EAAa,EAAU,cAAe,CACzD,IAAK,EAAc,KAChB,CACL,CAAC,EAED,GAAI,EAAO,MAAM,EACf,EAAI,MAAM,4CAA6C,EAAO,KAAK,EACnE,EAAQ,KAAK,EAGf,EAAI,QAAQ,mCAAmC,EAG1C,SAAS,EAAkB,EAAG,CAInC,EAAI,QAAQ,2DAA2D,EAGzE,eAAsB,EAAc,EAAG,EAIvC,eAAsB,EAAmB,EAAG,CAC1C,MAAM,GAAW,SAAS,EAAc,KAAK,EAAY,SAAS,GAAG,ECnHvE,yBAAS,sBAGT,eAAsB,EAAM,CAAC,EAAqB,CAChD,GAAI,GAAS,MAAO,MAAM,GAAS,EAEnC,GAAI,GAAS,SAAU,MAAM,GAAY,EAG3C,eAAsB,EAAG,CAAC,EAAqB,CAC7C,OAAO,GAAO,CAAO,EAGvB,eAAsB,EAAQ,EAAG,CAC/B,MAAM,EAAe,iBAAiB,EAGxC,eAAsB,EAAW,EAAG,CAClC,MAAM,EAAe,oBAAoB,EAG3C,eAAsB,EAAe,CAAC,EAAiB,CACrD,QAAW,KAAQ,EAAO,MAAM,EAAe,CAAI,ECtBrD,oBAAS,yBACT,cAAS,0BAET,uBAAS,yBAET,eAAsB,EAAM,CAAC,EAAuB,CAClD,EAAI,KAAK,eAAe,EACxB,MAAM,GAAa,GAAU,OAAQ,CAAO,EAC5C,EAAI,QAAQ,WAAW,EAGzB,eAAsB,EAAM,CAAC,EAAuB,CAClD,OAAO,GAAO,CAAO,ECZvB,uBACA,iBAAS,sBACT,cAAS,0BACT,wBAAS,WAAe,aAAwB,wBAChD,uBAAS,sBAAc,oBAAiB,0BAGxC,eAAsB,EAAM,CAAC,EAAsB,CACjD,GAAI,EAAQ,UAAW,MAAM,EAAc,CAAO,EAClD,GAAI,EAAQ,SAAU,EAAa,CAAO,EAC1C,GAAI,EAAQ,SAAU,MAAM,EAAa,CAAO,EAChD,GAAI,EAAQ,SAAU,MAAM,EAAa,CAAO,EAKhD,GAAI,EAAQ,aAAc,MAAM,EAAiB,CAAO,EACxD,GAAI,EAAQ,KAAM,MAAM,EAAS,CAAO,EACxC,GAAI,EAAQ,MAAO,EAAU,CAAO,EAGtC,eAAsB,EAAI,CAAC,EAAsB,CAC/C,OAAO,GAAO,CAAO,EAGvB,eAAsB,EAAU,CAAC,EAAsB,CACrD,GAAI,CACF,MAAM,EAAO,EAAQ,KACrB,EAAI,KAAK,yBAAyB,EAClC,MAAM,GAAa,CAAO,EAC1B,EAAI,QAAQ,WAAW,EAAO,CAAI,UAAU,QACrC,EAAP,CACA,EAAI,MAAM,0CAA2C,CAAK,EAC1D,EAAQ,KAAK,GAIjB,eAAsB,CAAa,CAAC,EAAsB,CACxD,GAAI,CACF,MAAM,EAAO,EAAQ,KACrB,EAAI,KAAK,4BAA4B,EACrC,MAAM,EAAgB,CAAO,EAC7B,EAAI,QAAQ,WAAW,EAAO,CAAI,aAAa,QACxC,EAAP,CACA,EAAI,MAAM,6CAA8C,CAAK,EAC7D,EAAQ,KAAK,GAIjB,eAAsB,EAAY,CAAC,EAAsB,CACvD,MAAM,EAAO,EAAQ,KACrB,MAAM,EAAc,CAClB,KAAM,EAAE,gBAAgB,CAAI,EAC5B,KAAM;AAAA;AAAA;AAAA,WAGC;AAAA,kBACO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAOhB,CAAC,EAGH,eAAsB,CAAe,CAAC,EAAsB,CAC1D,MAAM,EAAO,EAAQ,KACrB,MAAM,EAAc,CAClB,KAAM,EAAE,mBAAmB,GAAG,OAAU,EACxC,KAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAUR,CAAC,EAGI,SAAS,CAAY,CAAC,EAAsB,CACjD,GAAI,CACF,MAAM,EAAO,EAAQ,KACrB,EAAI,KAAK,iBAAiB,EAAO,CAAI,eAAe,EACpD,EAAe,CAAO,EACtB,EAAI,QAAQ,WAAW,EAAO,CAAI,YAAY,QACvC,EAAP,CACA,EAAI,MAAM,4CAA6C,CAAK,EAC5D,EAAQ,KAAK,GAIV,SAAS,CAAc,CAAC,EAAsB,CACnD,QAAQ,IAAI,yBAA0B,CAAO,EAGxC,SAAS,EAAO,CAAC,EAAsB,CAC5C,GAAI,CACF,MAAM,EAAO,EAAQ,KACrB,EAAI,KAAK,iBAAiB,EAAO,CAAI,cAAc,EACnD,EAAe,CAAO,EACtB,EAAI,QAAQ,WAAW,EAAO,CAAI,WAAW,QACtC,EAAP,CACA,EAAI,MAAM,2CAA4C,CAAK,EAC3D,EAAQ,KAAK,GAIV,SAAS,EAAa,CAAC,EAAsB,CAClD,QAAQ,IAAI,UAAW,CAAO,EAGhC,eAAsB,CAAgB,CAAC,EAAsB,CAC3D,GAAI,CACF,MAAM,EAAO,EAAQ,KACrB,EAAI,KAAK,iBAAiB,EAAO,CAAI,mBAAmB,EACxD,MAAM,EAAmB,CAAO,EAChC,EAAI,QAAQ,WAAW,EAAO,CAAI,gBAAgB,QAC3C,EAAP,CACA,EAAI,MAAM,gDAAiD,CAAK,EAChE,EAAQ,KAAK,GAIjB,eAAsB,CAAQ,CAAC,EAAsB,CACnD,GAAI,CACF,MAAM,EAAO,EAAQ,KACrB,EAAI,KAAK,uBAAuB,EAChC,MAAM,EAAW,CAAO,EACxB,EAAI,QAAQ,WAAW,QAAW,QAC3B,EAAP,CACA,EAAI,MAAM,wCAAyC,CAAK,EACxD,EAAQ,KAAK,GAIjB,eAAsB,CAAU,CAAC,EAAsB,CACrD,MAAM,EAAO,EAAQ,KACrB,MAAM,EAAc,CAClB,KAAM,EAAE,cAAc,GAAG,OAAU,EACnC,KAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAMmB;AAAA;AAAA;AAAA,CAI3B,CAAC,EAGH,eAAsB,CAAY,CAAC,EAAsB,CACvD,GAAI,CACF,MAAM,EAAO,EAAQ,KACrB,EAAI,KAAK,2BAA2B,EACpC,MAAM,EAAe,CAAO,EAC5B,EAAI,QAAQ,WAAW,YAAe,QAC/B,EAAP,CACA,EAAI,MAAM,4CAA6C,CAAK,EAC5D,EAAQ,KAAK,GAIjB,eAAsB,CAAc,CAAC,EAAsB,CACzD,MAAM,EAAO,EAAQ,KACrB,MAAM,EAAc,CAClB,KAAM,EAAE,kBAAkB,GAAG,MAAS,EACtC,KAAM;AAAA,QACF;AAAA;AAAA;AAAA;AAAA,IAIJ;AAAA;AAAA;AAAA;AAAA,IAIA;AAAA;AAAA;AAAA,CAIF,CAAC,EAGH,eAAsB,CAAY,CAAC,EAAsB,CACvD,GAAI,CACF,MAAM,EAAO,EAAQ,KACrB,EAAI,KAAK,mCAAmC,EAC5C,MAAM,EAAe,CAAO,EAC5B,EAAI,QAAQ,WAAW,oBAAuB,QACvC,EAAP,CACA,EAAI,MAAM,6CAA8C,CAAK,EAC7D,EAAQ,KAAK,GAIjB,eAAsB,CAAc,CAAC,EAAsB,CACzD,MAAM,EAAO,EAAQ,KACrB,MAAM,EAAc,CAClB,KAAM,EAAE,cAAc,QAAQ,OAAU,EACxC,KAAM;AAAA;AAAA,CAGR,CAAC,EAGI,SAAS,CAAS,CAAC,EAAsB,CAC9C,GAAI,CACF,MAAM,EAAO,EAAQ,KACrB,EAAI,KAAK,iBAAiB,YAAe,EACzC,MAAM,EAAO,GAAQ,EAAQ,IAAI,EAAG,CAAI,EAGxC,EAAI,QAAQ,sCAAsC,EAClD,EAAI,KAAK,MAAM,kBAAqB,QAC7B,EAAP,CACA,EAAI,MAAM,yCAA0C,CAAK,EACzD,EAAQ,KAAK,GAIjB,eAAsB,CAAkB,CAAC,EAAsB,CAC7D,MAAM,EAAO,EAAQ,KACrB,GAAI,CACF,IAAI,EAAe,eAEnB,IAAK,GAAgB,eAAe,EAAG,MAAM,GAAa,iBAAiB,EAE3E,GAAI,EAAQ,KAAM,EAAe,cAEjC,GAAI,EAAQ,IAAK,EAAe,aAiBhC,OAfA,MAAM,EAAc,CAClB,KAAM,EAAE,sBAAsB,GAAG,MAAS,EAC1C,KAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAMV;AAAA;AAAA;AAAA;AAAA,EAKf,CAAC,EAEM,SACA,EAAP,CACA,MAAO,IAIX,eAAsB,EAAe,CAAC,EAAsB,CAC1D,MAAM,EAAa,EAAQ,KAI3B,IAAK,EAAW,GAAI,MAAM,IAAI,MAAM,8CAA8C,EAElF,MAAM,EAAO,EAAW,GAAG,YAAY,EAAI,EAAW,MAAM,CAAC,EACvD,EAAO,GAAc,uBAAuB,MAAS,EAE3D,GAAI,CACF,MAAM,EAAc,CAClB,KAAM,GAAG,IACT,KAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQR,CAAC,EAED,EAAI,QAAQ,0EAA0E,MAAS,QACxF,EAAP,CACA,EAAI,MAAM,CAAK,GAInB,eAAsB,EAAW,CAAC,EAAsB,CACtD,MAAM,EAAa,EAAQ,KAE3B,IAAK,EAAW,GAAI,MAAM,IAAI,MAAM,8CAA8C,EAElF,MAAM,EAAO,EAAW,GAAG,YAAY,EAAI,EAAW,MAAM,CAAC,EACvD,EAAO,EAAE,eAAe,GAAG,MAAS,EAE1C,GAAI,CACF,MAAM,EAAc,CAClB,KAAM,GAAG,IACT,KAAM;AAAA;AAAA;AAAA;AAAA;AAAA,WAKD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAcP,CAAC,EAED,EAAI,QAAQ,kBAAkB,EAAO,cAAc,MAAS,GAAG,QACxD,EAAP,CACA,EAAI,MAAM,CAAK,GCjSZ,MAAM,EAAO,CAClB,KACA,YACA,KACA,MACA,QACA,QACA,KACA,OACA,YACA,YACA,OAEA,WAAW,EACT,OACA,cACA,cACA,SACA,OACA,QACA,UACA,UACA,OACA,SACA,eACgB,CAGhB,KAAK,KAAO,EACZ,KAAK,YAAc,EACnB,KAAK,YAAc,EACnB,KAAK,KAAO,EACZ,KAAK,MAAQ,EACb,KAAK,QAAU,EACf,KAAK,QAAU,EACf,KAAK,KAAO,EACZ,KAAK,OAAS,EACd,KAAK,OAAS,EACd,KAAK,YAAc,EAEvB,CCvEA,cAAS,0BACT,iBAAS,wBACT,cAAS,2BACT,sBAAS,wBAGT,MAAM,EACJ,CACE,EAAO,uBACP,EAAO,QAEP,EAAO,IACT,EACA,CAEE,IAAK,GAAY,EACjB,MAAO,SACT,CACF,EAEA,GAAI,QAAQ,yBAAyB,GAAI,MAAM",
17
+ "debugId": "2AB5ADB70259A7AF64756E2164756E21",
18
18
  "names": []
19
19
  }
package/dist/upgrade.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- var o=Object.create;var{getPrototypeOf:j,defineProperty:r,getOwnPropertyNames:h}=Object;var m=Object.prototype.hasOwnProperty;var p=(s,t,e)=>{e=s!=null?o(j(s)):{};const i=t||!s||!s.__esModule?r(e,"default",{value:s,enumerable:!0}):e;for(let c of h(s))if(!m.call(i,c))r(i,c,{get:()=>s[c],enumerable:!0});return i};var w=(s,t)=>()=>(t||s((t={exports:{}}).exports,t),t.exports);var x=(s,t)=>{for(var e in t)r(s,e,{get:t[e],enumerable:!0,configurable:!0,set:(i)=>t[e]=()=>i})};var f=(s,t)=>()=>(s&&(t=s(s=0)),t);import n from"process";import{intro as y,outro as l,runCommand as u}from"@stacksjs/cli";import{NpmScript as v}from"@stacksjs/enums";import{log as k}from"@stacksjs/logging";import{projectPath as b}from"@stacksjs/path";import*as a from"@stacksjs/storage";var d="0.64.4";function q(s){try{}catch(t){}}async function z(s){const e=b("updates");if(a.doesFolderExist(e))await a.deleteFolder(e);k.info("Downloading framework updates..."),await u("giget stacks updates",s),k.success(`Your framework updated correctly to version: v${d}`)}async function C(){const s=await y("buddy upgrade:dependencies"),t=await u(v.UpgradeDependencies,{cwd:b()});if(t.isErr())await l("While running the upgrade:dependencies command, there was an issue",{startTime:s,useSeconds:!0},t.error),n.exit();await l("Freshly updated your dependencies.",{startTime:s,useSeconds:!0}),n.exit()}export{C as updateDependencies,z as downloadFrameworkUpdate,q as checkForUncommittedChanges};
2
+ var o=Object.create;var{getPrototypeOf:j,defineProperty:r,getOwnPropertyNames:h}=Object;var m=Object.prototype.hasOwnProperty;var p=(s,t,e)=>{e=s!=null?o(j(s)):{};const i=t||!s||!s.__esModule?r(e,"default",{value:s,enumerable:!0}):e;for(let c of h(s))if(!m.call(i,c))r(i,c,{get:()=>s[c],enumerable:!0});return i};var w=(s,t)=>()=>(t||s((t={exports:{}}).exports,t),t.exports);var x=(s,t)=>{for(var e in t)r(s,e,{get:t[e],enumerable:!0,configurable:!0,set:(i)=>t[e]=()=>i})};var f=(s,t)=>()=>(s&&(t=s(s=0)),t);import n from"process";import{intro as y,outro as l,runCommand as u}from"@stacksjs/cli";import{NpmScript as v}from"@stacksjs/enums";import{log as k}from"@stacksjs/logging";import{projectPath as b}from"@stacksjs/path";import*as a from"@stacksjs/storage";var d="0.64.6";function q(s){try{}catch(t){}}async function z(s){const e=b("updates");if(a.doesFolderExist(e))await a.deleteFolder(e);k.info("Downloading framework updates..."),await u("giget stacks updates",s),k.success(`Your framework updated correctly to version: v${d}`)}async function C(){const s=await y("buddy upgrade:dependencies"),t=await u(v.UpgradeDependencies,{cwd:b()});if(t.isErr())await l("While running the upgrade:dependencies command, there was an issue",{startTime:s,useSeconds:!0},t.error),n.exit();await l("Freshly updated your dependencies.",{startTime:s,useSeconds:!0}),n.exit()}export{C as updateDependencies,z as downloadFrameworkUpdate,q as checkForUncommittedChanges};
3
3
 
4
- //# debugId=EF340CBF9A5E9CCB64756E2164756E21
4
+ //# debugId=CDCF072A91D70B3364756E2164756E21
5
5
  //# sourceMappingURL=upgrade.js.map
@@ -5,6 +5,6 @@
5
5
  "import process from 'node:process'\nimport { intro, outro, runCommand } from '@stacksjs/cli'\nimport { NpmScript } from '@stacksjs/enums'\nimport { log } from '@stacksjs/logging'\nimport { projectPath } from '@stacksjs/path'\nimport * as storage from '@stacksjs/storage'\nimport type { UpgradeOptions } from '@stacksjs/types'\nimport { version } from '../package.json'\n\n// import { determineDebugLevel } from '@stacksjs/utils'\n\n// export async function checkForUncommittedChanges(path = './stacks', options: UpgradeOptions) {\nexport function checkForUncommittedChanges(options: UpgradeOptions) {\n try {\n // const stdio = determineDebugLevel(options) ? 'inherit' : 'ignore'\n // check if the stacks folder has any updates\n // https://carlosbecker.com/posts/git-changed/\n // await spawn(`git diff --quiet HEAD -- ${path}`, { stdio, cwd: projectPath() })\n } catch (error: any) {\n // if (error.status === 1) {\n // even though the ./stacks folder should not be edited, instead config values should be adjusted,\n // there is a chance that users may apply local core edits, as it’s totally acceptable, as long as\n // the user knows what they are doing. There is also a change that simply the deps within stacks\n // folder have been updated and that could produce a diff.\n // if (!options?.force) {\n // const confirmed = await log.prompt('We detected there are uncommitted in the ./stacks folder. Do you want to overwrite those?', {\n // type: 'confirm',\n // })\n // if (!confirmed) {\n // log.info('Aborted. Stacks did not update itself.')\n // log.info('Note: if you commit your changes and replay the update, you can see what changed.')\n // process.exit(ExitCode.Success)\n // }\n // }\n // }\n }\n}\n\nexport async function downloadFrameworkUpdate(options: UpgradeOptions) {\n const tempFolderName = 'updates'\n const tempUpdatePath = projectPath(tempFolderName)\n\n if (storage.doesFolderExist(tempUpdatePath)) await storage.deleteFolder(tempUpdatePath)\n\n log.info('Downloading framework updates...')\n await runCommand(`giget stacks ${tempFolderName}`, options)\n log.success(`Your framework updated correctly to version: v${version}`)\n}\n\n// export async function updateDependencies(options: UpgradeOptions) {\nexport async function updateDependencies() {\n const perf = await intro('buddy upgrade:dependencies')\n const result = await runCommand(NpmScript.UpgradeDependencies, {\n cwd: projectPath(),\n })\n\n if (result.isErr()) {\n await outro(\n 'While running the upgrade:dependencies command, there was an issue',\n { startTime: perf, useSeconds: true },\n result.error,\n )\n process.exit()\n }\n\n await outro('Freshly updated your dependencies.', {\n startTime: perf,\n useSeconds: true,\n })\n process.exit()\n}\n"
6
6
  ],
7
7
  "mappings": ";4fAAA,uBACA,gBAAS,WAAO,gBAAO,sBACvB,oBAAS,wBACT,cAAS,0BACT,sBAAS,uBACT,mDAOO,SAAS,CAA0B,CAAC,EAAyB,CAClE,GAAI,QAKK,EAAP,GAoBJ,eAAsB,CAAuB,CAAC,EAAyB,CAErE,MAAM,EAAiB,EADA,SAC0B,EAEjD,GAAY,kBAAgB,CAAc,EAAG,MAAc,eAAa,CAAc,EAEtF,EAAI,KAAK,kCAAkC,EAC3C,MAAM,EAAW,uBAAkC,CAAO,EAC1D,EAAI,QAAQ,iDAAiD,GAAS,EAIxE,eAAsB,CAAkB,EAAG,CACzC,MAAM,EAAO,MAAM,EAAM,4BAA4B,EAC/C,EAAS,MAAM,EAAW,EAAU,oBAAqB,CAC7D,IAAK,EAAY,CACnB,CAAC,EAED,GAAI,EAAO,MAAM,EACf,MAAM,EACJ,qEACA,CAAE,UAAW,EAAM,WAAY,EAAK,EACpC,EAAO,KACT,EACA,EAAQ,KAAK,EAGf,MAAM,EAAM,qCAAsC,CAChD,UAAW,EACX,WAAY,EACd,CAAC,EACD,EAAQ,KAAK",
8
- "debugId": "EF340CBF9A5E9CCB64756E2164756E21",
8
+ "debugId": "CDCF072A91D70B3364756E2164756E21",
9
9
  "names": []
10
10
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/actions",
3
3
  "type": "module",
4
- "version": "0.64.4",
4
+ "version": "0.64.6",
5
5
  "description": "The Stacks actions.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -41,28 +41,28 @@ if (registrar.includes('Amazon')) {
41
41
  if (options.deploy) {
42
42
  await runCommand('buddy deploy')
43
43
  } else {
44
- log.info('', { styled: false })
45
- log.info('You can now continue your deployment process by re-running:', { styled: false })
46
- log.info('', { styled: false })
47
- log.info(` ➡️ ${italic('buddy deploy')}`, { styled: false })
48
- log.info('', { styled: false })
44
+ log.info('')
45
+ log.info('You can now continue your deployment process by re-running:')
46
+ log.info('')
47
+ log.info(` ➡️ ${italic('buddy deploy')}`)
48
+ log.info('')
49
49
  }
50
50
  process.exit(0)
51
51
  }
52
52
 
53
- log.info('', { styled: false })
54
- log.info('ℹ️ Please note, before continuing your deployment process,', { styled: false })
55
- log.info(` update your ${registrar} nameservers to the following:`, { styled: false })
53
+ log.info('')
54
+ log.info('ℹ️ Please note, before continuing your deployment process,')
55
+ log.info(` update your ${registrar} nameservers to the following:`)
56
56
 
57
57
  const emojis = ['1️⃣', '2️⃣', '3️⃣', '4️⃣']
58
- log.info('', { styled: false })
58
+ log.info('')
59
59
  nameServers.forEach((nameserver: string, index: number) => {
60
- log.info(` ${emojis[index]} Nameserver: ${nameserver}`, { styled: false })
60
+ log.info(` ${emojis[index]} Nameserver: ${nameserver}`)
61
61
  })
62
- log.info('', { styled: false })
63
- log.info(italic(`stored in ${projectConfigPath('dns.ts')}`), { styled: false })
64
- log.info('', { styled: false })
65
- log.info('Once the nameservers have been updated, re-run the following command:', { styled: false })
66
- log.info('', { styled: false })
67
- log.info(` ➡️ ${italic('buddy deploy')}`, { styled: false })
68
- log.info('', { styled: false })
62
+ log.info('')
63
+ log.info(italic(`stored in ${projectConfigPath('dns.ts')}`))
64
+ log.info('')
65
+ log.info('Once the nameservers have been updated, re-run the following command:')
66
+ log.info('')
67
+ log.info(` ➡️ ${italic('buddy deploy')}`)
68
+ log.info('')
@@ -25,7 +25,7 @@ if (!options.domain) {
25
25
  }
26
26
  }
27
27
 
28
- if (options.verbose) log.info(`Removing domain: ${options.domain}`, { styled: false })
28
+ if (options.verbose) log.info(`Removing domain: ${options.domain}`)
29
29
 
30
30
  // const result = await deleteHostedZone(options.domain)
31
31
  const result = await deleteHostedZoneRecords(options.domain)
package/src/fresh.ts CHANGED
@@ -6,10 +6,10 @@ import { projectPath } from '@stacksjs/path'
6
6
  import { ExitCode } from '@stacksjs/types'
7
7
  import { cleanProject } from '@stacksjs/utils'
8
8
 
9
- log.info('Cleaning project...', { styled: false })
9
+ log.info('Cleaning project...')
10
10
  await cleanProject()
11
11
 
12
- log.info('Installing dependencies...', { styled: false })
12
+ log.info('Installing dependencies...')
13
13
  const result = await runCommand('bun install', {
14
14
  cwd: projectPath(),
15
15
  })
@@ -3,7 +3,7 @@ import { log } from '@stacksjs/logging'
3
3
  import { path as p } from '@stacksjs/path'
4
4
  import { storage } from '@stacksjs/storage'
5
5
 
6
- log.info('Generating action types...', { styled: false })
6
+ log.info('Generating action types...')
7
7
 
8
8
  const domain = 'Actions'
9
9
  const files = await readdir(p.appPath(domain), { recursive: true })
@@ -4,7 +4,7 @@ import { path as p } from '@stacksjs/path'
4
4
  import { storage } from '@stacksjs/storage'
5
5
  import { envKeys } from '../../../../env'
6
6
 
7
- log.info('Generating type env files...', { styled: false })
7
+ log.info('Generating type env files...')
8
8
 
9
9
  // generate ./storage/framework/types/env.d.ts file from .env
10
10
  const envTypes = `
@@ -63,7 +63,7 @@ declare module 'bun' {
63
63
 
64
64
  await storage.writeFile(p.frameworkPath('types/env.d.ts'), envTypes)
65
65
 
66
- log.info(' - ./storage/framework/env.ts', { styled: false })
66
+ log.info(' - ./storage/framework/env.ts')
67
67
 
68
68
  // generate ./storage/framework/env.ts file based on Bun.env
69
69
  const env = `
@@ -81,4 +81,4 @@ export type EnvKey = typeof envKeys[number]
81
81
 
82
82
  await storage.writeFile(p.frameworkPath('env.ts'), env)
83
83
 
84
- log.info(' - ./storage/framework/env.d.ts', { styled: false })
84
+ log.info(' - ./storage/framework/env.d.ts')
@@ -18,6 +18,7 @@ export async function invoke(options?: GeneratorOptions) {
18
18
  else if (options?.ideHelpers) await generateIdeHelpers(options)
19
19
  else if (options?.componentMeta) await generateComponentMeta(options)
20
20
  else if (options?.coreSymlink) await generateCoreSymlink()
21
+ // else if (options?.openApiSpec) await generateOpenApiSpec()
21
22
  }
22
23
 
23
24
  export function generate(options: GeneratorOptions) {
@@ -104,8 +104,8 @@ export function generateEntryPointData(type: LibraryType): string {
104
104
 
105
105
  for (const component of library.vueComponents.tags.map((tag) => tag.name)) {
106
106
  if (Array.isArray(component))
107
- arr.push(`export { default as ${component[1]} } from '${componentsPath(component[0])}.stx'`)
108
- else arr.push(`export { default as ${component} } from '${componentsPath(component)}.stx'`)
107
+ arr.push(`export { default as ${component[1]} } from '${componentsPath(component[0])}.vue'`)
108
+ else arr.push(`export { default as ${component} } from '${componentsPath(component)}.vue'`)
109
109
  }
110
110
 
111
111
  // join the array into a string with each element being on a new line
@@ -129,11 +129,11 @@ export function generateEntryPointData(type: LibraryType): string {
129
129
 
130
130
  for (const component of library.webComponents.tags.map((tag) => tag.name)) {
131
131
  if (Array.isArray(component)) {
132
- imports.push(`import ${component[1]} from '${componentsPath(component[0])}.stx'`)
132
+ imports.push(`import ${component[1]} from '${componentsPath(component[0])}.vue'`)
133
133
  declarations.push(`const ${component[1]}CustomElement = defineCustomElement(${component[1]})`)
134
134
  definitions.push(`customElements.define('${kebabCase(component[1] as string)}', ${component[1]}CustomElement)`)
135
135
  } else {
136
- imports.push(`import ${component} from '${componentsPath(component)}.stx'`)
136
+ imports.push(`import ${component} from '${componentsPath(component)}.vue'`)
137
137
  declarations.push(`const ${component}CustomElement = defineCustomElement(${component})`)
138
138
  definitions.push(`customElements.define('${kebabCase(component)}', ${component}CustomElement)`)
139
139
  }
package/src/make.ts CHANGED
@@ -68,7 +68,7 @@ export default new Action({
68
68
  export async function createComponent(options: MakeOptions) {
69
69
  const name = options.name
70
70
  await writeTextFile({
71
- path: p.userComponentsPath(`${name}.stx`),
71
+ path: p.userComponentsPath(`${name}.vue`),
72
72
  data: `<script setup lang="ts">
73
73
  console.log('Hello World component created')
74
74
  </script>
@@ -141,7 +141,7 @@ export async function makePage(options: MakeOptions) {
141
141
  export async function createPage(options: MakeOptions) {
142
142
  const name = options.name
143
143
  await writeTextFile({
144
- path: p.userViewsPath(`${name}.stx`),
144
+ path: p.userViewsPath(`${name}.vue`),
145
145
  data: `<script setup lang="ts">
146
146
  console.log('Hello World page created')
147
147
  </script>
@@ -58,9 +58,6 @@ async function generateApiRoutes(modelFiles: string[]) {
58
58
  const apiRoutes = model.traits.useApi.routes
59
59
  for (const apiRoute in apiRoutes) {
60
60
  if (Object.prototype.hasOwnProperty.call(apiRoutes, apiRoute)) {
61
- // console.log(`Route: ${apiRoute}, Path: ${apiRoutes[apiRoute]}`);
62
- // }
63
-
64
61
  let path: string | null = ''
65
62
 
66
63
  await writeOrmActions(apiRoute as string, modelName)
@@ -101,7 +98,7 @@ async function generateApiRoutes(modelFiles: string[]) {
101
98
  }
102
99
 
103
100
  async function lookupFile(fileName: string): Promise<string | null> {
104
- const ormDirectory = path.builtUserActionsPath('src')
101
+ const ormDirectory = path.builtUserActionsPath('src', { relative: true })
105
102
  const filePath = path.join(ormDirectory, fileName)
106
103
  const pathExists = await fs.existsSync(filePath)
107
104
 
@@ -149,10 +146,10 @@ async function writeModelRequest() {
149
146
 
150
147
  let importTypes = ``
151
148
  let importTypesString = ``
152
- let typeString = `import { Request } from '../core/router/src/request'\n\n`
149
+ let typeString = `import { Request } from '../core/router/src/request'\nimport type { VineType } from '@stacksjs/types'\n\n`
153
150
 
154
151
  typeString += `interface ValidationField {
155
- rule: ReturnType<typeof schema.string>
152
+ rule: VineType
156
153
  message: Record<string, string>
157
154
  }\n\n`
158
155
 
@@ -175,12 +172,14 @@ async function writeModelRequest() {
175
172
 
176
173
  fieldString += ` id?: number\n`
177
174
  fieldStringInt += `public id = 1\n`
178
- fieldStringType += `'id' |`
175
+
179
176
  let keyCounter = 0
180
177
  let keyCounterForeign = 0
181
178
 
182
179
  const otherModelRelations = await fetchOtherModelRelations(model, modelName)
183
180
 
181
+ fieldStringType += ` get(key: 'id'): number\n`
182
+
184
183
  for (const attribute of attributes) {
185
184
  const entity = attribute.fieldArray?.entity === 'enum' ? 'string[]' : attribute.fieldArray?.entity
186
185
  let defaultValue: any = `''`
@@ -189,9 +188,8 @@ async function writeModelRequest() {
189
188
  if (attribute.fieldArray?.entity === 'number') defaultValue = 0
190
189
 
191
190
  fieldString += ` ${attribute.field}: ${entity}\n `
192
- fieldStringType += `'${attribute.field}'`
193
191
 
194
- if (keyCounter < attributes.length - 1) fieldStringType += ' |'
192
+ fieldStringType += ` get(key: '${attribute.field}'): ${entity}\n`
195
193
 
196
194
  fieldStringInt += `public ${attribute.field} = ${defaultValue}\n`
197
195
  keyCounter++
@@ -200,12 +198,7 @@ async function writeModelRequest() {
200
198
  for (const otherModel of otherModelRelations) {
201
199
  fieldString += ` ${otherModel.foreignKey}: number\n `
202
200
 
203
- if (keyCounter >= attributes.length - 1) fieldStringType += ' |'
204
-
205
- fieldStringType += `'${otherModel.foreignKey}'`
206
-
207
- // if (keyCounterForeign < otherModelRelations.length - 1)
208
- // fieldStringType += ' |'
201
+ fieldStringType += ` get(key: '${otherModel.foreignKey}'): string \n`
209
202
 
210
203
  fieldStringInt += `public ${otherModel.foreignKey} = 0\n`
211
204
  keyCounterForeign++
@@ -247,7 +240,7 @@ async function writeModelRequest() {
247
240
 
248
241
  const types = `export interface ${modelName}RequestType extends Request {
249
242
  validate(attributes?: CustomAttributes): void
250
- get(key: ${fieldStringType}): string | number | undefined
243
+ ${fieldStringType}
251
244
  all(): RequestData${modelName}
252
245
  ${fieldString}
253
246
  }\n\n`
@@ -291,9 +284,10 @@ async function writeModelRequest() {
291
284
 
292
285
  async function writeOrmActions(apiRoute: string, modelName: String): Promise<void> {
293
286
  const formattedApiRoute = apiRoute.charAt(0).toUpperCase() + apiRoute.slice(1)
287
+
294
288
  let method = 'GET'
295
289
  let actionString = `import { Action } from '@stacksjs/actions'\n`
296
- actionString += `import ${modelName} from '../src/models/${modelName}'\n`
290
+ actionString += `import ${modelName} from '../../orm/src/models/${modelName}'\n`
297
291
 
298
292
  let handleString = ``
299
293