stacks 0.0.9 → 0.37.3

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.
Files changed (219) hide show
  1. package/.gitignore +10 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +65 -104
  4. package/auto-imports.d.ts +826 -0
  5. package/bin/stacks.mjs +4 -0
  6. package/components.d.ts +22 -0
  7. package/core/actions/README.md +59 -0
  8. package/core/actions/node_modules/.bin/markdown-it +17 -0
  9. package/core/actions/node_modules/.bin/mkdist +17 -0
  10. package/core/actions/node_modules/.bin/tsc +17 -0
  11. package/core/actions/node_modules/.bin/tsserver +17 -0
  12. package/core/actions/package.json +64 -0
  13. package/core/actions/src/copy-types.ts +22 -0
  14. package/core/actions/src/generate/component-meta.ts +94 -0
  15. package/core/actions/src/generate/index.ts +4 -0
  16. package/core/actions/src/generate/lib-entries.ts +106 -0
  17. package/core/actions/src/generate/package-json.ts +87 -0
  18. package/core/actions/src/generate/vscode-custom-data.ts +28 -0
  19. package/core/actions/src/generate/vue-compat.ts +17 -0
  20. package/core/actions/src/generate-component-meta.ts +19 -0
  21. package/core/actions/src/generate-ide-helpers.ts +23 -0
  22. package/core/actions/src/generate-lib-entries.ts +22 -0
  23. package/core/actions/src/generate-package-json.ts +15 -0
  24. package/core/actions/src/generate-vscode-custom-data.ts +20 -0
  25. package/core/actions/src/generate-vue-compat.ts +10 -0
  26. package/core/arrays/README.md +59 -0
  27. package/core/arrays/node_modules/.bin/mkdist +17 -0
  28. package/core/arrays/node_modules/.bin/tsc +17 -0
  29. package/core/arrays/node_modules/.bin/tsserver +17 -0
  30. package/core/arrays/package.json +50 -0
  31. package/core/arrays/src/index.ts +3 -0
  32. package/core/build/README.md +59 -0
  33. package/core/build/entries/README.md +7 -0
  34. package/core/build/node_modules/.bin/acorn +17 -0
  35. package/core/build/node_modules/.bin/browserslist +17 -0
  36. package/core/build/node_modules/.bin/jiti +17 -0
  37. package/core/build/node_modules/.bin/mkdist +17 -0
  38. package/core/build/node_modules/.bin/rollup +17 -0
  39. package/core/build/node_modules/.bin/vite +17 -0
  40. package/core/build/node_modules/.bin/vite-ssg +17 -0
  41. package/core/build/node_modules/.bin/vue-docgen-web-types +17 -0
  42. package/core/build/package.json +71 -0
  43. package/core/build/src/example-vue.ts +26 -0
  44. package/core/build/src/example-wc.ts +26 -0
  45. package/core/build/src/functions.ts +56 -0
  46. package/core/build/src/index.ts +7 -0
  47. package/core/build/src/pages.ts +50 -0
  48. package/core/build/src/stacks.ts +204 -0
  49. package/core/build/src/vue-components.ts +76 -0
  50. package/core/build/src/web-components.ts +63 -0
  51. package/core/build/web-types.config.cjs +4 -0
  52. package/core/build/web-types.ts +14 -0
  53. package/core/collections/README.md +59 -0
  54. package/core/collections/node_modules/.bin/mkdist +17 -0
  55. package/core/collections/node_modules/.bin/tsc +17 -0
  56. package/core/collections/node_modules/.bin/tsserver +17 -0
  57. package/core/collections/package.json +54 -0
  58. package/core/collections/src/index.ts +1 -0
  59. package/core/fs/README.md +59 -0
  60. package/core/fs/node_modules/.bin/mkdist +17 -0
  61. package/core/fs/package.json +56 -0
  62. package/core/fs/src/index.ts +170 -0
  63. package/core/helpers/node_modules/.bin/mkdist +17 -0
  64. package/core/helpers/package.json +58 -0
  65. package/core/helpers/src/index.ts +129 -0
  66. package/core/modules/README.md +61 -0
  67. package/core/modules/node_modules/.bin/acorn +17 -0
  68. package/core/modules/node_modules/.bin/mkdist +17 -0
  69. package/core/modules/package.json +51 -0
  70. package/core/modules/src/i18n.ts +23 -0
  71. package/core/modules/src/nprogress.ts +12 -0
  72. package/core/modules/src/pwa.ts +12 -0
  73. package/core/objects/README.md +59 -0
  74. package/core/objects/node_modules/.bin/mkdist +17 -0
  75. package/core/objects/node_modules/.bin/tsc +17 -0
  76. package/core/objects/node_modules/.bin/tsserver +17 -0
  77. package/core/objects/package.json +51 -0
  78. package/core/objects/src/index.ts +1 -0
  79. package/core/paths/node_modules/.bin/mkdist +17 -0
  80. package/core/paths/node_modules/.bin/tsc +17 -0
  81. package/core/paths/node_modules/.bin/tsserver +17 -0
  82. package/core/paths/package.json +51 -0
  83. package/core/paths/src/index.ts +178 -0
  84. package/core/router/README.md +59 -0
  85. package/core/router/node_modules/.bin/mkdist +17 -0
  86. package/core/router/package.json +51 -0
  87. package/core/router/src/index.ts +14 -0
  88. package/core/security/README.md +59 -0
  89. package/core/security/node_modules/.bin/mkdist +17 -0
  90. package/core/security/package.json +56 -0
  91. package/core/security/src/crypt.ts +14 -0
  92. package/core/security/src/hash.ts +52 -0
  93. package/core/security/src/index.ts +3 -0
  94. package/core/security/src/key.ts +11 -0
  95. package/core/strings/README.md +59 -0
  96. package/core/strings/node_modules/.bin/mkdist +17 -0
  97. package/core/strings/node_modules/.bin/tsc +17 -0
  98. package/core/strings/node_modules/.bin/tsserver +17 -0
  99. package/core/strings/package.json +63 -0
  100. package/core/strings/src/index.ts +14 -0
  101. package/core/types/README.md +59 -0
  102. package/core/types/node_modules/.bin/markdown-it +17 -0
  103. package/core/types/node_modules/.bin/mkdist +17 -0
  104. package/core/types/node_modules/.bin/vite +17 -0
  105. package/core/types/node_modules/.bin/vitepress +17 -0
  106. package/core/types/package.json +60 -0
  107. package/core/types/src/app.ts +131 -0
  108. package/core/types/src/auto-imports.ts +3 -0
  109. package/core/types/src/build.ts +3 -0
  110. package/core/types/src/cli.ts +49 -0
  111. package/core/types/src/components.ts +66 -0
  112. package/core/types/src/deploy.ts +11 -0
  113. package/core/types/src/docs.ts +3 -0
  114. package/core/types/src/exit-code.ts +10 -0
  115. package/core/types/src/fs.ts +17 -0
  116. package/core/types/src/git.ts +131 -0
  117. package/core/types/src/hashing.ts +107 -0
  118. package/core/types/src/i18n.ts +19 -0
  119. package/core/types/src/index.ts +21 -0
  120. package/core/types/src/inspect.ts +10 -0
  121. package/core/types/src/layout.ts +8 -0
  122. package/core/types/src/library.ts +148 -0
  123. package/core/types/src/manifest.ts +9 -0
  124. package/core/types/src/markdown.ts +198 -0
  125. package/core/types/src/pages.ts +8 -0
  126. package/core/types/src/pwa.ts +8 -0
  127. package/core/types/src/ssg.ts +3 -0
  128. package/core/types/src/ui.ts +141 -0
  129. package/core/ui/README.md +60 -0
  130. package/core/ui/node_modules/.bin/mkdist +17 -0
  131. package/core/ui/node_modules/.bin/tsc +17 -0
  132. package/core/ui/node_modules/.bin/tsserver +17 -0
  133. package/core/ui/node_modules/.bin/vite +17 -0
  134. package/core/ui/node_modules/.bin/vue-tsc +17 -0
  135. package/core/ui/package.json +62 -0
  136. package/core/ui/src/index.ts +60 -0
  137. package/custom-elements.json +14 -0
  138. package/examples/vue-components/App.vue +12 -0
  139. package/examples/vue-components/favicon.png +0 -0
  140. package/examples/vue-components/index.html +20 -0
  141. package/examples/web-components/favicon.png +0 -0
  142. package/examples/web-components/index.html +13 -0
  143. package/functions/node_modules/.bin/artisan +17 -0
  144. package/functions/node_modules/.bin/stacks +17 -0
  145. package/functions/node_modules/.bin/stx +17 -0
  146. package/functions/package.json +40 -0
  147. package/netlify.toml +18 -0
  148. package/nitro.config.ts +6 -0
  149. package/package.json +224 -27
  150. package/pages/App.vue +26 -0
  151. package/pages/index.html +23 -0
  152. package/pages/main.ts +26 -0
  153. package/pages/public/_headers +3 -0
  154. package/pages/public/favicon-dark.svg +3 -0
  155. package/pages/public/favicon.svg +3 -0
  156. package/pages/public/pwa-192x192.png +0 -0
  157. package/pages/public/pwa-512x512.png +0 -0
  158. package/pages/public/safari-pinned-tab.svg +41 -0
  159. package/pages/styles/main.css +29 -0
  160. package/pages/styles/markdown.css +28 -0
  161. package/scripts/ensure-env.sh +248 -0
  162. package/shims.d.ts +29 -0
  163. package/simple-git-hooks.cjs +4 -0
  164. package/src/cli/actions/build.ts +160 -0
  165. package/src/cli/actions/commit.ts +9 -0
  166. package/src/cli/actions/dev.ts +47 -0
  167. package/src/cli/actions/examples.ts +74 -0
  168. package/src/cli/actions/fresh.ts +9 -0
  169. package/src/cli/actions/generate.ts +159 -0
  170. package/src/cli/actions/index.ts +12 -0
  171. package/src/cli/actions/key.ts +31 -0
  172. package/src/cli/actions/lint.ts +19 -0
  173. package/src/cli/actions/make.ts +116 -0
  174. package/src/cli/actions/release.ts +9 -0
  175. package/src/cli/actions/test.ts +39 -0
  176. package/src/cli/actions/types.ts +180 -0
  177. package/src/cli/actions/update.ts +90 -0
  178. package/src/cli/build.ts +49 -0
  179. package/src/cli/create.ts +71 -0
  180. package/src/cli/dev.ts +28 -0
  181. package/src/cli/example.ts +28 -0
  182. package/src/cli/generate.ts +64 -0
  183. package/src/cli/index.ts +13 -0
  184. package/src/cli/key.ts +12 -0
  185. package/src/cli/make.ts +47 -0
  186. package/src/cli/test.ts +24 -0
  187. package/src/cli/types.ts +18 -0
  188. package/src/cli/update.ts +17 -0
  189. package/src/cli/utility.ts +39 -0
  190. package/src/cli.ts +48 -0
  191. package/src/docs.ts +4 -0
  192. package/src/index.ts +22 -0
  193. package/tsconfig.json +96 -0
  194. package/vitest.config.ts +22 -0
  195. package/vue-components/dist/.gitkeep +0 -0
  196. package/vue-components/index.html +13 -0
  197. package/vue-components/main.ts +18 -0
  198. package/vue-components/node_modules/.bin/artisan +17 -0
  199. package/vue-components/node_modules/.bin/stacks +17 -0
  200. package/vue-components/node_modules/.bin/stx +17 -0
  201. package/vue-components/node_modules/.vite/deps/@vueuse_core.js +7847 -0
  202. package/vue-components/node_modules/.vite/deps/@vueuse_core.js.map +7 -0
  203. package/vue-components/node_modules/.vite/deps/_metadata.json +13 -0
  204. package/vue-components/node_modules/.vite/deps/package.json +1 -0
  205. package/vue-components/package.json +40 -0
  206. package/web-components/dist/.gitkeep +0 -0
  207. package/web-components/node_modules/.bin/artisan +17 -0
  208. package/web-components/node_modules/.bin/stacks +17 -0
  209. package/web-components/node_modules/.bin/stx +17 -0
  210. package/web-components/package.json +40 -0
  211. package/web-types.json +67 -0
  212. package/.npmignore +0 -1
  213. package/.travis.yml +0 -4
  214. package/examples/stringReverse.js +0 -41
  215. package/examples/sumServer.js +0 -21
  216. package/examples/sumWorker.js +0 -23
  217. package/index.js +0 -1
  218. package/lib/stacks.js +0 -398
  219. package/test/test.stacks.js +0 -148
@@ -0,0 +1,10 @@
1
+ /**
2
+ * CLI exit codes.
3
+ *
4
+ * @see https://nodejs.org/api/process.html#process_exit_codes
5
+ */
6
+ export enum ExitCode {
7
+ Success = 0,
8
+ FatalError = 1,
9
+ InvalidArgument = 9,
10
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Describes a plain-text file.
3
+ */
4
+ export interface TextFile {
5
+ path: string
6
+ data: string
7
+ }
8
+
9
+ /**
10
+ * Describes a JSON file.
11
+ */
12
+ export interface JsonFile {
13
+ path: string
14
+ data: unknown
15
+ indent: string
16
+ newline: string | undefined
17
+ }
@@ -0,0 +1,131 @@
1
+ /**
2
+ * ### Git Options
3
+ *
4
+ * This configuration defines all of your git options. Because Stacks is full-typed, you may
5
+ * hover any of the options below and the definitions will be provided. In case you
6
+ * have any questions, feel free to reach out via Discord or GitHub Discussions.
7
+ */
8
+ export interface GitOptions {
9
+ /**
10
+ * ### Git Hooks
11
+ *
12
+ * The git hooks to use.
13
+ *
14
+ * @see https://git-scm.com/docs/githooks
15
+ * @example
16
+ * ```ts
17
+ * git: {
18
+ * hooks: {
19
+ * 'pre-commit': 'lint-staged',
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ hooks: GitHooks
25
+
26
+ /**
27
+ * ### Git Commit Scopes
28
+ *
29
+ * The git commit scopes to use.
30
+ *
31
+ * @see https://stacksjs.dev/docs/git/scopes
32
+ * @example
33
+ * git: [
34
+ * scopes: [
35
+ * '', 'ci', 'deps', 'dx', 'release', 'readme', 'test', 'actions', 'build', 'cli',
36
+ * 'config', 'examples', 'functions', 'modules', 'pages', 'router', 'scripts',
37
+ * 'ui', 'utils', 'arrays', 'collections', 'fs', 'objects', 'strings',
38
+ * ]
39
+ * ]
40
+ */
41
+ scopes: string[]
42
+
43
+ /**
44
+ * ### Git Commit Types
45
+ *
46
+ * The git commit types to use.
47
+ *
48
+ * @default array
49
+ * @see https://stacksjs.dev/docs/git/types
50
+ * @see https://www.conventionalcommits.org/en/v1.0.0/
51
+ * @example
52
+ * ```ts
53
+ * git: [
54
+ * types: [
55
+ * 'build', 'chore', 'ci', 'docs', 'feat', 'fix', 'perf', 'refactor', 'revert', 'style', 'test',
56
+ * ]
57
+ * ]
58
+ * ```
59
+ */
60
+ types: {
61
+ value: string
62
+ name: string
63
+ emoji: string
64
+ }[]
65
+
66
+ /**
67
+ * ### Messages—Options
68
+ *
69
+ * The git messages/prompts to use.
70
+ *
71
+ * @default object
72
+ * @example
73
+ * ```ts
74
+ * messages: {
75
+ * type: 'Select the type of change that you\'re committing:',
76
+ * scope: 'Denote the SCOPE of this change:',
77
+ * subject: 'Write a SHORT, IMPERATIVE tense description of the change:\n',
78
+ * body: 'Provide a LONGER description of the change (optional). Use "|" to break new line:\n',
79
+ * breaking: 'List any BREAKING CHANGES (optional):\n',
80
+ * footer: 'List any ISSUES CLOSED by this change (optional). E.g.: #31, #34:\n',
81
+ * confirmCommit: 'Are you sure you want to proceed with the commit above?',
82
+ * }
83
+ * ```
84
+ * @see https://stacksjs.dev/docs/git/messages
85
+ */
86
+ messages: {
87
+ type: string
88
+ scope: string
89
+ customScope: string
90
+ subject: string
91
+ body: string
92
+ breaking: string
93
+ footerPrefixsSelect: string
94
+ customFooterPrefixs: string
95
+ footer: string
96
+ confirmCommit: string
97
+ }
98
+ }
99
+
100
+ interface Hooks {
101
+ 'applypatch-msg'?: string
102
+ 'pre-applypatch'?: string
103
+ 'post-applypatch'?: string
104
+ 'pre-commit'?: string
105
+ 'pre-merge-commit'?: string
106
+ 'prepare-commit-msg'?: string
107
+ 'commit-msg'?: string
108
+ 'post-commit'?: string
109
+ 'pre-rebase'?: string
110
+ 'post-checkout'?: string
111
+ 'post-merge'?: string
112
+ 'pre-push'?: string
113
+ 'pre-receive'?: string
114
+ 'update'?: string
115
+ 'proc-receive'?: string
116
+ 'post-receive'?: string
117
+ 'post-update'?: string
118
+ 'reference-transaction'?: string
119
+ 'push-to-checkout'?: string
120
+ 'pre-auto-gc'?: string
121
+ 'post-rewrite'?: string
122
+ 'sendemail-validate'?: string
123
+ 'fsmonitor-watchman'?: string
124
+ 'p4-changelist'?: string
125
+ 'p4-prepare-changelist'?: string
126
+ 'p4-post-changelist'?: string
127
+ 'p4-pre-submit'?: string
128
+ 'post-index-change'?: string
129
+ }
130
+
131
+ export interface GitHooks extends Hooks {}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * The Stacks runtime provides secure Bcrypt & Argon2 hashing for storing user passwords.
3
+ * If you are using one of the Laravel application starter kits, Bcrypt will be used for
4
+ * registration and authentication by default.
5
+ *
6
+ * Bcrypt is a great choice for hashing passwords because its "work factor" is adjustable, which
7
+ * means that the time it takes to generate a hash can be increased as hardware power increases.
8
+ * When hashing passwords, slow is good. The longer an algorithm takes to hash a password, the
9
+ * longer it takes malicious users to generate "rainbow tables" of all possible string hash
10
+ * values that may be used in brute force attacks against applications.
11
+ *
12
+ * @see https://stacksjs.dev/docs/hashing
13
+ */
14
+ export interface HashingOptions {
15
+ /**
16
+ * ### Hashing Driver
17
+ *
18
+ * This option controls the default hash driver that will be used to hash
19
+ * passwords for your application. By default, the bcrypt algorithm is
20
+ * used; however, you remain free to modify this option if you wish.
21
+ *
22
+ * @see https://stacksjs.dev/docs/hashing
23
+ */
24
+ driver: 'argon' | 'bcrypt'
25
+
26
+ /**
27
+ * ### Bcrypt Option
28
+ *
29
+ * Here you may specify the configuration options that should be used when
30
+ * passwords are hashed using the Bcrypt algorithm. This will allow you
31
+ * to control the amount of time it takes to hash the given password.
32
+ *
33
+ * @see https://stacksjs.dev/docs/hashing
34
+ */
35
+ bcrypt?: BcryptOptions
36
+
37
+ /**
38
+ * ### Argon Options
39
+ *
40
+ * Here you may specify the configuration options that should be used when
41
+ * passwords are hashed using the Argon algorithm. These will allow you
42
+ * to control the amount of time it takes to hash the given password.
43
+ *
44
+ * @see https://stacksjs.dev/docs/hashing
45
+ */
46
+ argon?: ArgonOptions
47
+ }
48
+
49
+ /**
50
+ * ### Bcrypt Options
51
+ *
52
+ * Here you may specify the configuration options that should be used when
53
+ * passwords are hashed using the Bcrypt algorithm. This will allow you
54
+ * to control the amount of time it takes to hash the given password.
55
+ *
56
+ * @see https://stacksjs.dev/docs/hashing
57
+ */
58
+ export interface BcryptOptions {
59
+ /**
60
+ * Bcrypt salt rounds.
61
+ *
62
+ * @default number 10
63
+ * @see https://stacksjs.dev/docs/hashing
64
+ */
65
+ rounds?: number
66
+ }
67
+
68
+ /**
69
+ * ### Argon Options
70
+ *
71
+ * Here you may specify the configuration options that should be used when
72
+ * passwords are hashed using the Argon algorithm. These will allow you
73
+ * to control the amount of time it takes to hash the given password.
74
+ *
75
+ * @see https://stacksjs.dev/docs/hashing
76
+ */
77
+ export interface ArgonOptions {
78
+ /**
79
+ * ### Argon Memory
80
+ *
81
+ * Amount of memory (in kibibytes) to use.
82
+ *
83
+ * @default number 65536
84
+ * @see https://stacksjs.dev/docs/hashing
85
+ */
86
+ memory?: number
87
+
88
+ /**
89
+ * ### Argon Parallelism
90
+ *
91
+ * Degree of parallelism (i.e. number of threads).
92
+ *
93
+ * @default number 1
94
+ * @see https://stacksjs.dev/docs/hashing
95
+ */
96
+ threads?: number
97
+
98
+ /**
99
+ * ### Argon time
100
+ *
101
+ * Execution time.
102
+ *
103
+ * @default number 1
104
+ * @see https://stacksjs.dev/docs/hashing
105
+ */
106
+ time?: number
107
+ }
@@ -0,0 +1,19 @@
1
+ interface VitePluginVueI18nOptions {
2
+ forceStringify?: boolean
3
+ runtimeOnly?: boolean
4
+ compositionOnly?: boolean
5
+ fullInstall?: boolean
6
+ include?: string | string[]
7
+ defaultSFCLang?: 'json' | 'json5' | 'yml' | 'yaml'
8
+ globalSFCScope?: boolean
9
+ useVueI18nImportName?: boolean
10
+ }
11
+
12
+ /**
13
+ * ### Internationalization Options
14
+ *
15
+ * The i18n option.
16
+ *
17
+ * @see https://github.com/intlify/bundle-tools/blob/main/packages/vite-plugin-vue-i18n/src/options.ts
18
+ */
19
+ export type i18nOptions = VitePluginVueI18nOptions
@@ -0,0 +1,21 @@
1
+ export * from './app'
2
+ export * from './auto-imports'
3
+ export * from './build'
4
+ export * from './components'
5
+ export * from './cli'
6
+ export * from './deploy'
7
+ export * from './docs'
8
+ export * from './exit-code'
9
+ export * from './fs'
10
+ export * from './git'
11
+ export * from './hashing'
12
+ export * from './i18n'
13
+ export * from './inspect'
14
+ export * from './layout'
15
+ export * from './library'
16
+ export * from './manifest'
17
+ export * from './markdown'
18
+ export * from './pages'
19
+ export * from './pwa'
20
+ export * from './ssg'
21
+ export * from './ui'
@@ -0,0 +1,10 @@
1
+ import type { Options } from 'vite-plugin-inspect'
2
+
3
+ /**
4
+ * ### Inspect Options
5
+ *
6
+ * The inspect options.
7
+ *
8
+ * @see https://github.com/intlify/bundle-tools/blob/main/packages/vite-plugin-vue-i18n/src/options.ts
9
+ */
10
+ export type InspectOptions = Options
@@ -0,0 +1,8 @@
1
+ import type { UserOptions } from 'vite-plugin-vue-layouts'
2
+
3
+ /**
4
+ * ### Layout Options
5
+ *
6
+ * The layout options.
7
+ */
8
+ export type LayoutOptions = UserOptions
@@ -0,0 +1,148 @@
1
+ import type { TagsOptions } from '.'
2
+
3
+ /**
4
+ * ### Library Options
5
+ *
6
+ * This configuration defines all of your library options. Because Stacks is full-typed, you
7
+ * may hover any of the options below and the definitions will be provided. In case you
8
+ * have any questions, feel free to reach out via Discord or GitHub Discussions.
9
+ */
10
+ export interface LibraryOptions {
11
+ /**
12
+ * The base name of your library/libraries.
13
+ */
14
+ name: string
15
+
16
+ /**
17
+ * The name of your organization (parent).
18
+ */
19
+ parentName: string | null
20
+
21
+ /**
22
+ * The path of your repository.
23
+ *
24
+ * @example
25
+ * "your-org/your-repo"
26
+ */
27
+ repository: string
28
+
29
+ /**
30
+ * The list of accepted SPDX licenses.
31
+ * When developing OS packages, you may want to utilize an OSI approved license.
32
+ *
33
+ * @example
34
+ * "MIT"
35
+ * @see https://opensource.org/licenses
36
+ */
37
+ license: LicenseType
38
+
39
+ /**
40
+ * The author's name of the library.
41
+ */
42
+ author: string
43
+
44
+ /**
45
+ * A list of all the contributors.
46
+ */
47
+ contributors: string[]
48
+
49
+ /**
50
+ * The default language used within your stack.
51
+ */
52
+ defaultLanguage: LanguageCode
53
+
54
+ /**
55
+ * The Vue component library options.
56
+ */
57
+ vueComponents: LibraryBuildOptions
58
+
59
+ /**
60
+ * The Web Component library options.
61
+ */
62
+ webComponents: LibraryBuildOptions
63
+
64
+ /**
65
+ * The Web Component library options.
66
+ */
67
+ functions: LibraryBuildOptions
68
+ }
69
+
70
+ /**
71
+ * The list of available options to build your library.
72
+ */
73
+ export interface LibraryBuildOptions {
74
+ /**
75
+ * The name of your library as published to npm.
76
+ */
77
+ name: string
78
+
79
+ /**
80
+ * The description of your library as published to npm.
81
+ */
82
+ description: string
83
+
84
+ /**
85
+ * The keywords of your library as published to npm.
86
+ */
87
+ keywords: string[]
88
+
89
+ /**
90
+ * Should your library include an IIFE build?
91
+ * (Immediately Invoked Function Expression)
92
+ * @default false
93
+ */
94
+ shouldBuildIife?: boolean
95
+
96
+ /**
97
+ * Should your library generate a sourcemap?
98
+ * @default false
99
+ */
100
+ shouldGenerateSourcemap?: boolean
101
+
102
+ /**
103
+ * This is where you define the functions/composables that need to be included
104
+ * in your library. For example, including your `counter` function to be
105
+ * built would require `../functions/counter.ts` to be present.
106
+ */
107
+ functions?: string[]
108
+
109
+ /**
110
+ * This is where you define the components that need to be included in
111
+ * your library. For example, including your `HelloWorld` to be built
112
+ * would require `../components/HelloWorld.vue` to be present.
113
+ *
114
+ * @example
115
+ * {
116
+ * tags: [{
117
+ * name: 'HelloWorld' // export { default as HelloWorld } from './components/HelloWorld.vue'
118
+ * }]
119
+ * }
120
+ *
121
+ * @example
122
+ * {
123
+ * tags: [{
124
+ * name: ['HelloWorld', 'AppHelloWorld'] // export { default as AppHelloWorld } from './components/HelloWorld.vue'
125
+ * }]
126
+ * }
127
+ */
128
+ tags?: TagsOptions
129
+ }
130
+
131
+ /**
132
+ * The name of your "Stack" which generally is your library name
133
+ * or a concatenation of your organization & library name.
134
+ */
135
+ export type StackName = string
136
+
137
+ /**
138
+ * The list of accepted SPDX licenses.
139
+ * When developing OS packages, you may want to utilize an OSI approved license.
140
+ * @see https://opensource.org/licenses
141
+ */
142
+ export type LicenseType = 'CC-BY-NC-ND-2.0' | 'SGI-B-2.0' | 'LPPL-1.3c' | 'NIST-PD-fallback' | 'libtiff' | 'XSkat' | 'PDDL-1.0' | 'KiCad-libraries-exception' | 'CC-BY-NC-SA-1.0' | 'GFDL-1.1-no-invariants-only' | 'Xerox' | 'LPPL-1.1' | 'VOSTROM' | 'UCL-1.0' | 'ADSL' | 'OSL-2.0' | 'AAL' | 'FDK-AAC' | 'W3C-20150513' | 'AFL-1.1' | 'W3C' | 'Sleepycat' | 'CECILL-1.1' | 'mpich2' | 'SISSL' | 'NLOD-1.0' | 'ANTLR-PD' | 'GPL-3.0-only' | 'gnuplot' | 'NLOD-2.0' | 'BSD-3-Clause-Open-MPI' | 'LiLiQ-P-1.1' | 'BSD-3-Clause-Clear' | 'FSFUL' | 'CC-BY-NC-SA-2.0-UK' | 'CERN-OHL-S-2.0' | 'Spencer-94' | 'CERN-OHL-1.2' | 'GFDL-1.1-or-later' | 'AGPL-1.0-or-later' | 'Wsuipa' | 'AML' | 'BSD-2-Clause' | 'DSDP' | 'CC-BY-2.5' | 'MIT-CMU' | 'Beerware' | 'Sendmail' | 'TU-Berlin-1.0' | 'CNRI-Jython' | 'mplus' | 'CPOL-1.02' | 'BSD-3-Clause-No-Nuclear-License-2014' | 'ISC' | 'CC-BY-SA-4.0' | 'Eurosym' | 'LGPL-3.0-only' | 'OLDAP-1.3' | 'GFDL-1.1-invariants-or-later' | 'Glulxe' | 'SimPL-2.0' | 'CDLA-Permissive-2.0' | 'GPL-2.0-with-font-exception' | 'OGL-UK-2.0' | 'CC-BY-SA-3.0-DE' | 'CC-BY-ND-1.0' | 'GFDL-1.1' | 'CC-BY-4.0' | 'OpenSSL' | 'TU-Berlin-2.0' | 'DOC' | 'GFDL-1.2-no-invariants-or-later' | 'QPL-1.0' | 'OLDAP-2.8' | 'OML' | 'OLDAP-2.7' | 'NIST-PD' | 'Bitstream-Vera' | 'GFDL-1.2-or-later' | 'OFL-1.1-RFN' | 'Bahyph' | 'Barr' | 'COIL-1.0' | 'GFDL-1.3' | 'CECILL-B' | 'JPNIC' | 'Zed' | 'ICU' | 'CC-BY-NC-SA-2.5' | 'CC-BY-ND-3.0-DE' | 'bzip2-1.0.5' | 'SPL-1.0' | 'YPL-1.0' | 'OSET-PL-2.1' | 'Noweb' | 'RPSL-1.0' | 'BSD-3-Clause-LBNL' | 'CDLA-Sharing-1.0' | 'CECILL-1.0' | 'AMPAS' | 'APAFML' | 'CC-BY-ND-3.0' | 'D-FSL-1.0' | 'CC-BY-NC-3.0' | 'libpng-2.0' | 'PolyForm-Noncommercial-1.0.0' | 'dvipdfm' | 'GFDL-1.3-or-later' | 'OGTSL' | 'NPL-1.1' | 'GPL-3.0' | 'CERN-OHL-P-2.0' | 'BlueOak-1.0.0' | 'AGPL-3.0-or-later' | 'blessing' | 'ImageMagick' | 'APSL-2.0' | 'MIT-advertising' | 'curl' | 'CC0-1.0' | 'Zimbra-1.4' | 'SSPL-1.0' | 'psutils' | 'CC-BY-SA-2.0-UK' | 'PSF-2.0' | 'Net-SNMP' | 'NAIST-2003' | 'GFDL-1.2-invariants-or-later' | 'SGI-B-1.0' | 'NBPL-1.0' | 'GFDL-1.2-invariants-only' | 'W3C-19980720' | 'OFL-1.0-no-RFN' | 'NetCDF' | 'TMate' | 'NOSL' | 'CNRI-Python-GPL-Compatible' | 'BSD-1-Clause' | 'CC-BY-NC-SA-3.0-DE' | 'BSD-3-Clause-Modification' | 'GLWTPL' | 'GFDL-1.3-only' | 'OLDAP-2.2' | 'CC-BY-ND-4.0' | 'CC-BY-NC-ND-3.0-DE' | 'EUPL-1.0' | 'Linux-OpenIB' | 'LGPL-2.0-or-later' | 'OSL-1.1' | 'Spencer-86' | 'LGPL-2.0' | 'CC-PDDC' | 'CC-BY-NC-ND-3.0' | 'CDL-1.0' | 'Elastic-2.0' | 'CC-BY-2.0' | 'BSD-3-Clause-No-Military-License' | 'IJG' | 'LPPL-1.3a' | 'SAX-PD' | 'BitTorrent-1.0' | 'OLDAP-2.0' | 'Giftware' | 'C-UDA-1.0' | 'LGPL-2.0+' | 'Rdisc' | 'GPL-2.0-with-classpath-exception' | 'CC-BY-3.0-US' | 'CDDL-1.0' | 'Xnet' | 'CPL-1.0' | 'LGPL-3.0-or-later' | 'NASA-1.3' | 'BUSL-1.1' | 'etalab-2.0' | 'MIT-open-group' | 'OLDAP-1.4' | 'GFDL-1.1-invariants-only' | 'RPL-1.1' | 'CC-BY-NC-ND-2.5' | 'FSFULLR' | 'Saxpath' | 'NTP-0' | 'SISSL-1.2' | 'GPL-3.0-or-later' | 'Apache-1.1' | 'CC-BY-SA-2.1-JP' | 'AGPL-3.0-only' | 'GPL-2.0-with-autoconf-exception' | 'Artistic-2.0' | 'App-s2p' | 'Unicode-DFS-2015' | 'diffmark' | 'SNIA' | 'CC-BY-SA-2.5' | 'Linux-man-pages-copyleft' | 'HPND-sell-variant' | 'ZPL-2.1' | 'BSD-4-Clause-UC' | 'LAL-1.2' | 'AGPL-1.0-only' | 'MIT-enna' | 'Condor-1.1' | 'Naumen' | 'GFDL-1.3-no-invariants-or-later' | 'RPL-1.5' | 'PolyForm-Small-Business-1.0.0' | 'EFL-1.0' | 'MirOS' | 'CC-BY-2.5-AU' | 'Afmparse' | 'MPL-2.0-no-copyleft-exception' | 'LiLiQ-Rplus-1.1' | 'AFL-1.2' | 'OSL-1.0' | 'GPL-1.0-only' | 'APSL-1.0' | 'OGL-Canada-2.0' | 'CPAL-1.0' | 'Latex2e' | 'Zend-2.0' | 'Unlicense' | 'xpp' | 'CC-BY-NC-1.0' | 'GPL-3.0-with-autoconf-exception' | 'CC-BY-NC-SA-3.0' | 'TCP-wrappers' | 'SCEA' | 'SSH-short' | 'CC-BY-3.0-NL' | 'SchemeReport' | 'CC-BY-3.0' | 'MPL-2.0' | 'Unicode-TOU' | 'CC-BY-NC-ND-1.0' | 'Entessa' | 'BSD-3-Clause-No-Nuclear-License' | 'SWL' | 'GFDL-1.2-no-invariants-only' | 'Parity-7.0.0' | 'OLDAP-2.2.1' | 'SGI-B-1.1' | 'FTL' | 'OLDAP-2.4' | 'CC-BY-NC-4.0' | 'bzip2-1.0.6' | 'copyleft-next-0.3.0' | 'MakeIndex' | 'NRL' | 'GFDL-1.3-invariants-or-later' | 'CC-BY-NC-2.0' | 'SugarCRM-1.1.3' | 'AFL-2.1' | 'GPL-2.0-only' | 'GFDL-1.3-invariants-only' | 'TORQUE-1.1' | 'Ruby' | 'X11' | 'Borceux' | 'Libpng' | 'X11-distribute-modifications-variant' | 'Frameworx-1.0' | 'NCGL-UK-2.0' | 'CECILL-2.1' | 'CC-BY-3.0-AT' | 'CNRI-Python' | 'NCSA' | 'gSOAP-1.3b' | 'EUPL-1.1' | 'AMDPLPA' | 'Imlib2' | 'CDDL-1.1' | 'WTFPL' | 'LPL-1.0' | 'EPL-1.0' | 'BSD-3-Clause-Attribution' | 'OSL-3.0' | 'RHeCos-1.1' | 'PHP-3.0' | 'BSD-Protection' | 'CC-BY-NC-3.0-DE' | 'APL-1.0' | 'EUDatagrid' | 'GPL-1.0' | 'SHL-0.5' | 'CC-BY-SA-2.0' | 'CC-BY-SA-3.0-AT' | 'CC-BY-NC-SA-3.0-IGO' | 'Adobe-2006' | 'Newsletr' | 'Nunit' | 'Multics' | 'OGL-UK-1.0' | 'Vim' | 'eCos-2.0' | 'Zimbra-1.3' | 'eGenix' | 'IBM-pibs' | 'BitTorrent-1.1' | 'OFL-1.1-no-RFN' | 'psfrag' | 'CC-BY-ND-2.0' | 'SHL-0.51' | 'FreeBSD-DOC' | 'Python-2.0' | 'Mup' | 'BSD-4-Clause-Shortened' | 'CC-BY-NC-SA-4.0' | 'HPND' | 'OLDAP-2.6' | 'MPL-1.1' | 'GPL-2.0-with-GCC-exception' | 'HaskellReport' | 'ECL-1.0' | 'LGPL-2.1-or-later' | 'OFL-1.0' | 'APSL-1.1' | 'MITNFA' | 'CECILL-2.0' | 'Crossword' | 'Aladdin' | 'Baekmuk' | 'XFree86-1.1' | 'GPL-1.0-or-later' | 'CERN-OHL-W-2.0' | 'CC-BY-SA-1.0' | 'NTP' | 'PHP-3.01' | 'OCLC-2.0' | 'CC-BY-3.0-DE' | 'CC-BY-NC-2.5' | 'Zlib' | 'CATOSL-1.1' | 'LGPL-3.0+' | 'CAL-1.0' | 'NPL-1.0' | 'SMLNJ' | 'GPL-2.0+' | 'OLDAP-2.5' | 'JasPer-2.0' | 'GPL-2.0-or-later' | 'BSD-2-Clause-Patent' | 'MS-RL' | 'CUA-OPL-1.0' | 'IPA' | 'NLPL' | 'O-UDA-1.0' | 'MIT-Modern-Variant' | 'OLDAP-1.2' | 'BSD-2-Clause-FreeBSD' | 'Info-ZIP' | 'CC-BY-NC-SA-2.0-FR' | '0BSD' | 'Unicode-DFS-2016' | 'OFL-1.0-RFN' | 'Intel' | 'AFL-2.0' | 'GL2PS' | 'TAPR-OHL-1.0' | 'Apache-1.0' | 'MTLL' | 'Motosoto' | 'RSA-MD' | 'Community-Spec-1.0' | 'ODC-By-1.0' | 'zlib-acknowledgement' | 'DL-DE-BY-2.0' | 'VSL-1.0' | 'LiLiQ-R-1.1' | 'OPL-1.0' | 'GPL-3.0+' | 'MulanPSL-2.0' | 'APSL-1.2' | 'OGDL-Taiwan-1.0' | 'RSCPL' | 'OGC-1.0' | 'EFL-2.0' | 'CAL-1.0-Combined-Work-Exception' | 'MS-PL' | 'Plexus' | 'Sendmail-8.23' | 'Cube' | 'JSON' | 'EUPL-1.2' | 'Adobe-Glyph' | 'FreeImage' | 'Watcom-1.0' | 'Jam' | 'Hippocratic-2.1' | 'OLDAP-2.0.1' | 'CC-BY-NC-SA-2.0' | 'Nokia' | 'OCCT-PL' | 'ErlPL-1.1' | 'TOSL' | 'OSL-2.1' | 'ClArtistic' | 'xinetd' | 'GPL-3.0-with-GCC-exception' | 'ODbL-1.0' | 'MIT' | 'LGPL-2.1+' | 'LGPL-2.1-only' | 'CrystalStacker' | 'ECL-2.0' | 'LPPL-1.0' | 'iMatix' | 'CC-BY-NC-ND-3.0-IGO' | 'BSD-Source-Code' | 'Parity-6.0.0' | 'TCL' | 'Arphic-1999' | 'CC-BY-SA-3.0' | 'Caldera' | 'AGPL-1.0' | 'IPL-1.0' | 'LAL-1.3' | 'EPICS' | 'NGPL' | 'DRL-1.0' | 'BSD-2-Clause-NetBSD' | 'ZPL-1.1' | 'GD' | 'LPPL-1.2' | 'Dotseqn' | 'Spencer-99' | 'OLDAP-2.3' | 'YPL-1.1' | 'Fair' | 'Qhull' | 'GFDL-1.1-no-invariants-or-later' | 'CECILL-C' | 'MulanPSL-1.0' | 'OLDAP-1.1' | 'OLDAP-2.1' | 'LPL-1.02' | 'UPL-1.0' | 'Abstyles' | 'ZPL-2.0' | 'MIT-0' | 'LGPL-2.0-only' | 'GFDL-1.3-no-invariants-only' | 'AGPL-3.0' | 'EPL-2.0' | 'AFL-3.0' | 'CDLA-Permissive-1.0' | 'Artistic-1.0' | 'CC-BY-NC-ND-4.0' | 'HTMLTIDY' | 'Glide' | 'FSFAP' | 'LGPLLR' | 'OGL-UK-3.0' | 'GFDL-1.2' | 'SSH-OpenSSH' | 'GFDL-1.1-only' | 'MIT-feh' | 'MPL-1.0' | 'PostgreSQL' | 'OLDAP-2.2.2' | 'SMPPL' | 'OFL-1.1' | 'Leptonica' | 'CERN-OHL-1.1' | 'BSD-3-Clause-No-Nuclear-Warranty' | 'CC-BY-ND-2.5' | 'CC-BY-1.0' | 'GFDL-1.2-only' | 'OPUBL-1.0' | 'libselinux-1.0' | 'BSD-3-Clause' | 'ANTLR-PD-fallback' | 'copyleft-next-0.3.1' | 'GPL-1.0+' | 'wxWindows' | 'LGPL-3.0' | 'LGPL-2.1' | 'StandardML-NJ' | 'BSD-4-Clause' | 'GPL-2.0-with-bison-exception' | 'Apache-2.0' | 'Artistic-1.0-cl8' | 'GPL-2.0' | 'Intel-ACPI' | 'BSL-1.0' | 'Artistic-1.0-Perl' | 'BSD-2-Clause-Views' | 'Interbase-1.0' | 'NPOSL-3.0'
143
+
144
+ /**
145
+ * The list of accepted language codes.
146
+ * @see https://meta.wikimedia.org/wiki/Template:List_of_language_names_ordered_by_code
147
+ */
148
+ export type LanguageCode = 'aa' | 'ab' | 'af' | 'ak' | 'als' | 'am' | 'an' | 'ang' | 'ang' | 'ar' | 'arc' | 'as' | 'ast' | 'av' | 'awa' | 'ay' | 'az' | 'ba' | 'bar' | 'bat-smg' | 'bcl' | 'be' | 'be-x-old' | 'bg' | 'bh' | 'bi' | 'bm' | 'bn' | 'bo' | 'bpy' | 'br' | 'brx' | 'bs' | 'bug' | 'bxr' | 'ca' | 'cdo' | 'ce' | 'ceb' | 'ch' | 'cho' | 'chr' | 'chy' | 'ckb' | 'co' | 'cr' | 'cs' | 'csb' | 'cu' | 'cv' | 'cy' | 'da' | 'de' | 'diq' | 'dsb' | 'dv' | 'dz' | 'ee' | 'el' | 'en' | 'eo' | 'es' | 'et' | 'eu' | 'ext' | 'fa' | 'ff' | 'fi' | 'fiu-vro' | 'fj' | 'fo' | 'fr' | 'frp' | 'fur' | 'fy' | 'ga' | 'gan' | 'gbm' | 'gd' | 'gil' | 'gl' | 'gn' | 'got' | 'gu' | 'gv' | 'ha' | 'hak' | 'haw' | 'he' | 'hi' | 'ho' | 'hr' | 'ht' | 'hu' | 'hy' | 'hz' | 'ia' | 'id' | 'ie' | 'ig' | 'ii' | 'ik' | 'ilo' | 'inh' | 'io' | 'is' | 'it' | 'iu' | 'ja' | 'jbo' | 'jv' | 'ka' | 'kg' | 'ki' | 'kj' | 'kk' | 'kl' | 'km' | 'kn' | 'khw' | 'ko' | 'kr' | 'ks' | 'ksh' | 'ku' | 'kv' | 'kw' | 'ky' | 'la' | 'lad' | 'lan' | 'lb' | 'lg' | 'li' | 'lij' | 'lmo' | 'ln' | 'lo' | 'lzz' | 'lt' | 'lv' | 'map-bms' | 'mg' | 'man' | 'mh' | 'mi' | 'min' | 'mk' | 'ml' | 'mn' | 'mo' | 'mr' | 'mrh' | 'ms' | 'mt' | 'mus' | 'mwl' | 'my' | 'na' | 'nah' | 'nap' | 'nd' | 'nds' | 'nds-nl' | 'ne' | 'new' | 'ng' | 'nl' | 'nn' | 'no' | 'nr' | 'nso' | 'nrm' | 'nv' | 'ny' | 'oc' | 'oj' | 'om' | 'or' | 'os' | 'pa' | 'pag' | 'pam' | 'pap' | 'pdc' | 'pi' | 'pih' | 'pl' | 'pms' | 'ps' | 'pt' | 'qu' | 'rm' | 'rmy' | 'rn' | 'ro' | 'roa-rup' | 'ru' | 'rw' | 'sa' | 'sc' | 'scn' | 'sco' | 'sd' | 'se' | 'sg' | 'sh' | 'si' | 'sk' | 'sl' | 'sm' | 'sn' | 'so' | 'sq' | 'sr' | 'ss' | 'st' | 'su' | 'sv' | 'sw' | 'ta' | 'te' | 'tet' | 'tg' | 'th' | 'ti' | 'tk' | 'tl' | 'tlh' | 'tn' | 'to' | 'tpi' | 'tr' | 'ts' | 'tt' | 'tum' | 'tw' | 'ty' | 'udm' | 'ug' | 'uk' | 'ur' | 'uz' | 'uz_AF' | 've' | 'vi' | 'vec' | 'vls' | 'vo' | 'wa' | 'war' | 'wo' | 'xal' | 'xh' | 'xmf' | 'yi' | 'yo' | 'za' | 'zh' | 'zh-classical' | 'zh-min-nan' | 'zh-yue' | 'zu'
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The npm package manifest (package.json)
3
+ */
4
+ export interface Manifest {
5
+ name: string
6
+ version: string
7
+ description: string
8
+ [key: string]: unknown
9
+ }