stacks 0.1.0 → 0.37.4
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/.gitignore +10 -0
- package/LICENSE.md +21 -0
- package/README.md +53 -104
- package/auto-imports.d.ts +826 -0
- package/bin/stacks.mjs +4 -0
- package/components.d.ts +22 -0
- package/core/actions/README.md +59 -0
- package/core/actions/node_modules/.bin/markdown-it +17 -0
- package/core/actions/node_modules/.bin/mkdist +17 -0
- package/core/actions/package.json +64 -0
- package/core/actions/src/copy-types.ts +22 -0
- package/core/actions/src/generate/component-meta.ts +94 -0
- package/core/actions/src/generate/index.ts +4 -0
- package/core/actions/src/generate/lib-entries.ts +106 -0
- package/core/actions/src/generate/package-json.ts +87 -0
- package/core/actions/src/generate/vscode-custom-data.ts +28 -0
- package/core/actions/src/generate/vue-compat.ts +17 -0
- package/core/actions/src/generate-component-meta.ts +19 -0
- package/core/actions/src/generate-ide-helpers.ts +23 -0
- package/core/actions/src/generate-lib-entries.ts +22 -0
- package/core/actions/src/generate-package-json.ts +15 -0
- package/core/actions/src/generate-vscode-custom-data.ts +20 -0
- package/core/actions/src/generate-vue-compat.ts +10 -0
- package/core/arrays/README.md +59 -0
- package/core/arrays/node_modules/.bin/mkdist +17 -0
- package/core/arrays/node_modules/.bin/tsc +17 -0
- package/core/arrays/node_modules/.bin/tsserver +17 -0
- package/core/arrays/package.json +50 -0
- package/core/arrays/src/index.ts +3 -0
- package/core/build/README.md +59 -0
- package/core/build/entries/README.md +7 -0
- package/core/build/node_modules/.bin/jiti +17 -0
- package/core/build/node_modules/.bin/mkdist +17 -0
- package/core/build/node_modules/.bin/vite +17 -0
- package/core/build/node_modules/.bin/vite-ssg +17 -0
- package/core/build/node_modules/.bin/vue-docgen-web-types +17 -0
- package/core/build/package.json +71 -0
- package/core/build/src/example-vue.ts +26 -0
- package/core/build/src/example-wc.ts +26 -0
- package/core/build/src/functions.ts +56 -0
- package/core/build/src/index.ts +7 -0
- package/core/build/src/pages.ts +50 -0
- package/core/build/src/stacks.ts +204 -0
- package/core/build/src/vue-components.ts +76 -0
- package/core/build/src/web-components.ts +63 -0
- package/core/build/web-types.config.cjs +4 -0
- package/core/build/web-types.ts +14 -0
- package/core/collections/README.md +59 -0
- package/core/collections/node_modules/.bin/mkdist +17 -0
- package/core/collections/node_modules/.bin/tsc +17 -0
- package/core/collections/node_modules/.bin/tsserver +17 -0
- package/core/collections/package.json +54 -0
- package/core/collections/src/index.ts +1 -0
- package/core/fs/README.md +59 -0
- package/core/fs/node_modules/.bin/mkdist +17 -0
- package/core/fs/package.json +56 -0
- package/core/fs/src/index.ts +170 -0
- package/core/helpers/node_modules/.bin/mkdist +17 -0
- package/core/helpers/package.json +58 -0
- package/core/helpers/src/index.ts +129 -0
- package/core/modules/README.md +61 -0
- package/core/modules/node_modules/.bin/mkdist +17 -0
- package/core/modules/package.json +51 -0
- package/core/modules/src/i18n.ts +23 -0
- package/core/modules/src/nprogress.ts +12 -0
- package/core/modules/src/pwa.ts +12 -0
- package/core/objects/README.md +59 -0
- package/core/objects/node_modules/.bin/mkdist +17 -0
- package/core/objects/node_modules/.bin/tsc +17 -0
- package/core/objects/node_modules/.bin/tsserver +17 -0
- package/core/objects/package.json +51 -0
- package/core/objects/src/index.ts +1 -0
- package/core/paths/node_modules/.bin/mkdist +17 -0
- package/core/paths/node_modules/.bin/tsc +17 -0
- package/core/paths/node_modules/.bin/tsserver +17 -0
- package/core/paths/package.json +51 -0
- package/core/paths/src/index.ts +178 -0
- package/core/router/README.md +59 -0
- package/core/router/node_modules/.bin/mkdist +17 -0
- package/core/router/package.json +51 -0
- package/core/router/src/index.ts +14 -0
- package/core/security/README.md +59 -0
- package/core/security/node_modules/.bin/mkdist +17 -0
- package/core/security/package.json +56 -0
- package/core/security/src/crypt.ts +14 -0
- package/core/security/src/hash.ts +52 -0
- package/core/security/src/index.ts +3 -0
- package/core/security/src/key.ts +11 -0
- package/core/strings/README.md +59 -0
- package/core/strings/node_modules/.bin/mkdist +17 -0
- package/core/strings/node_modules/.bin/tsc +17 -0
- package/core/strings/node_modules/.bin/tsserver +17 -0
- package/core/strings/package.json +63 -0
- package/core/strings/src/index.ts +14 -0
- package/core/types/README.md +59 -0
- package/core/types/node_modules/.bin/markdown-it +17 -0
- package/core/types/node_modules/.bin/mkdist +17 -0
- package/core/types/node_modules/.bin/vite +17 -0
- package/core/types/node_modules/.bin/vitepress +17 -0
- package/core/types/package.json +60 -0
- package/core/types/src/app.ts +131 -0
- package/core/types/src/auto-imports.ts +3 -0
- package/core/types/src/build.ts +3 -0
- package/core/types/src/cli.ts +49 -0
- package/core/types/src/components.ts +66 -0
- package/core/types/src/deploy.ts +11 -0
- package/core/types/src/docs.ts +3 -0
- package/core/types/src/exit-code.ts +10 -0
- package/core/types/src/fs.ts +17 -0
- package/core/types/src/git.ts +131 -0
- package/core/types/src/hashing.ts +107 -0
- package/core/types/src/i18n.ts +19 -0
- package/core/types/src/index.ts +21 -0
- package/core/types/src/inspect.ts +10 -0
- package/core/types/src/layout.ts +8 -0
- package/core/types/src/library.ts +148 -0
- package/core/types/src/manifest.ts +9 -0
- package/core/types/src/markdown.ts +198 -0
- package/core/types/src/pages.ts +8 -0
- package/core/types/src/pwa.ts +8 -0
- package/core/types/src/ssg.ts +3 -0
- package/core/types/src/ui.ts +141 -0
- package/core/ui/README.md +60 -0
- package/core/ui/node_modules/.bin/mkdist +17 -0
- package/core/ui/node_modules/.bin/tsc +17 -0
- package/core/ui/node_modules/.bin/tsserver +17 -0
- package/core/ui/node_modules/.bin/vue-tsc +17 -0
- package/core/ui/package.json +62 -0
- package/core/ui/src/index.ts +60 -0
- package/custom-elements.json +14 -0
- package/examples/vue-components/App.vue +12 -0
- package/examples/vue-components/favicon.png +0 -0
- package/examples/vue-components/index.html +20 -0
- package/examples/web-components/favicon.png +0 -0
- package/examples/web-components/index.html +13 -0
- package/functions/node_modules/.bin/artisan +17 -0
- package/functions/node_modules/.bin/stacks +17 -0
- package/functions/node_modules/.bin/stx +17 -0
- package/functions/package.json +40 -0
- package/netlify.toml +18 -0
- package/nitro.config.ts +6 -0
- package/package.json +224 -27
- package/pages/App.vue +26 -0
- package/pages/index.html +23 -0
- package/pages/main.ts +26 -0
- package/pages/public/_headers +3 -0
- package/pages/public/favicon-dark.svg +3 -0
- package/pages/public/favicon.svg +3 -0
- package/pages/public/pwa-192x192.png +0 -0
- package/pages/public/pwa-512x512.png +0 -0
- package/pages/public/safari-pinned-tab.svg +41 -0
- package/pages/styles/main.css +29 -0
- package/pages/styles/markdown.css +28 -0
- package/scripts/ensure-env.sh +248 -0
- package/shims.d.ts +29 -0
- package/simple-git-hooks.cjs +4 -0
- package/src/cli/actions/build.ts +160 -0
- package/src/cli/actions/commit.ts +9 -0
- package/src/cli/actions/dev.ts +47 -0
- package/src/cli/actions/examples.ts +74 -0
- package/src/cli/actions/fresh.ts +9 -0
- package/src/cli/actions/generate.ts +159 -0
- package/src/cli/actions/index.ts +12 -0
- package/src/cli/actions/key.ts +31 -0
- package/src/cli/actions/lint.ts +19 -0
- package/src/cli/actions/make.ts +116 -0
- package/src/cli/actions/release.ts +9 -0
- package/src/cli/actions/test.ts +39 -0
- package/src/cli/actions/types.ts +180 -0
- package/src/cli/actions/update.ts +90 -0
- package/src/cli/build.ts +49 -0
- package/src/cli/create.ts +71 -0
- package/src/cli/dev.ts +28 -0
- package/src/cli/example.ts +28 -0
- package/src/cli/generate.ts +64 -0
- package/src/cli/index.ts +13 -0
- package/src/cli/key.ts +12 -0
- package/src/cli/make.ts +47 -0
- package/src/cli/test.ts +24 -0
- package/src/cli/types.ts +18 -0
- package/src/cli/update.ts +17 -0
- package/src/cli/utility.ts +39 -0
- package/src/cli.ts +48 -0
- package/src/docs.ts +4 -0
- package/src/index.ts +22 -0
- package/tsconfig.json +96 -0
- package/vitest.config.ts +22 -0
- package/vue-components/dist/.gitkeep +0 -0
- package/vue-components/index.html +13 -0
- package/vue-components/main.ts +18 -0
- package/vue-components/node_modules/.bin/artisan +17 -0
- package/vue-components/node_modules/.bin/stacks +17 -0
- package/vue-components/node_modules/.bin/stx +17 -0
- package/vue-components/package.json +40 -0
- package/web-components/dist/.gitkeep +0 -0
- package/web-components/node_modules/.bin/artisan +17 -0
- package/web-components/node_modules/.bin/stacks +17 -0
- package/web-components/node_modules/.bin/stx +17 -0
- package/web-components/package.json +40 -0
- package/web-types.json +67 -0
- package/.npmignore +0 -1
- package/.travis.yml +0 -4
- package/examples/stringReverse.js +0 -41
- package/examples/sumServer.js +0 -21
- package/examples/sumWorker.js +0 -23
- package/index.js +0 -1
- package/lib/stacks.js +0 -413
- package/test/test.stacks.js +0 -148
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import AutoImport from 'unplugin-auto-import/vite'
|
|
2
|
+
import Components from 'unplugin-vue-components/vite'
|
|
3
|
+
import Vue from '@vitejs/plugin-vue'
|
|
4
|
+
import Unocss from 'unocss/vite'
|
|
5
|
+
import Inspect from 'vite-plugin-inspect'
|
|
6
|
+
import Pages from 'vite-plugin-pages'
|
|
7
|
+
import Layouts from 'vite-plugin-vue-layouts'
|
|
8
|
+
import VueI18n from '@intlify/vite-plugin-vue-i18n'
|
|
9
|
+
import Preview from 'vite-plugin-vue-component-preview'
|
|
10
|
+
import type { PluginOption } from 'vite'
|
|
11
|
+
import Markdown from 'vite-plugin-vue-markdown'
|
|
12
|
+
import LinkAttributes from 'markdown-it-link-attributes'
|
|
13
|
+
import Shiki from 'markdown-it-shiki'
|
|
14
|
+
import { VitePWA } from 'vite-plugin-pwa'
|
|
15
|
+
import { defu } from 'defu'
|
|
16
|
+
import type { AutoImportsOptions, ComponentOptions, InspectOptions, LayoutOptions, MarkdownOptions, PagesOptions, i18nOptions } from '@stacksjs/types'
|
|
17
|
+
import { arraysPath, collectionsPath, componentsPath, frameworkPath, fsPath, functionsPath, helpersPath, langPath, pagesPath, pathsPath, projectPath, resolve, securityPath, stringsPath } from '@stacksjs/paths'
|
|
18
|
+
|
|
19
|
+
// it is important to note that path references within this file
|
|
20
|
+
// are relative to the ./build folder
|
|
21
|
+
|
|
22
|
+
function inspect(options?: InspectOptions) {
|
|
23
|
+
return Inspect(options)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function preview() {
|
|
27
|
+
return Preview
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function layouts(options?: LayoutOptions) {
|
|
31
|
+
return Layouts(options)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function components(options?: ComponentOptions) {
|
|
35
|
+
const defaultOptions = {
|
|
36
|
+
// also allow auto-loading markdown components
|
|
37
|
+
extensions: ['vue', 'md'],
|
|
38
|
+
include: [/\.vue$/, /\.vue\?vue/, /\.md$/],
|
|
39
|
+
dirs: [
|
|
40
|
+
componentsPath(),
|
|
41
|
+
pagesPath(),
|
|
42
|
+
],
|
|
43
|
+
dts: frameworkPath('components.d.ts'),
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const newOptions = defu(options, defaultOptions)
|
|
47
|
+
|
|
48
|
+
return Components(newOptions)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// https://github.com/hannoeru/vite-plugin-pages
|
|
52
|
+
function pages(options?: PagesOptions) {
|
|
53
|
+
const defaultOptions: PagesOptions = {
|
|
54
|
+
extensions: ['vue', 'md'],
|
|
55
|
+
dirs: [
|
|
56
|
+
pagesPath(),
|
|
57
|
+
],
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const newOptions = defu(options, defaultOptions)
|
|
61
|
+
|
|
62
|
+
return Pages(newOptions)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function markdown(options?: MarkdownOptions) {
|
|
66
|
+
const defaultOptions: MarkdownOptions = {
|
|
67
|
+
wrapperClasses: 'prose prose-sm m-auto text-left',
|
|
68
|
+
headEnabled: true,
|
|
69
|
+
markdownItSetup(md) {
|
|
70
|
+
// https://prismjs.com/
|
|
71
|
+
md.use(Shiki, {
|
|
72
|
+
theme: 'nord',
|
|
73
|
+
})
|
|
74
|
+
md.use(LinkAttributes, {
|
|
75
|
+
matcher: (link: string) => /^https?:\/\//.test(link),
|
|
76
|
+
attrs: {
|
|
77
|
+
target: '_blank',
|
|
78
|
+
rel: 'noopener',
|
|
79
|
+
},
|
|
80
|
+
})
|
|
81
|
+
},
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const newOptions = defu(options, defaultOptions)
|
|
85
|
+
|
|
86
|
+
return Markdown(newOptions)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function autoImports(options?: AutoImportsOptions) {
|
|
90
|
+
const defaultOptions: AutoImportsOptions = {
|
|
91
|
+
imports: [
|
|
92
|
+
'vue', 'vue-router', 'vue/macros', '@vueuse/core', '@vueuse/head', '@vueuse/math', 'vitest',
|
|
93
|
+
{ '@vueuse/shared': ['isClient', 'isDef', 'isBoolean', 'isFunction', 'isNumber', 'isString', 'isObject', 'isWindow', 'now', 'timestamp', 'clamp', 'noop', 'rand', 'isIOS', 'hasOwn'] },
|
|
94
|
+
],
|
|
95
|
+
dirs: [
|
|
96
|
+
functionsPath(),
|
|
97
|
+
componentsPath(),
|
|
98
|
+
projectPath('config'),
|
|
99
|
+
// auto imported utilities start here
|
|
100
|
+
arraysPath('src'),
|
|
101
|
+
stringsPath('src'),
|
|
102
|
+
collectionsPath('src'),
|
|
103
|
+
fsPath('src'),
|
|
104
|
+
helpersPath('src'),
|
|
105
|
+
pathsPath('src'),
|
|
106
|
+
securityPath('src'),
|
|
107
|
+
],
|
|
108
|
+
dts: frameworkPath('auto-imports.d.ts'),
|
|
109
|
+
vueTemplate: true,
|
|
110
|
+
eslintrc: {
|
|
111
|
+
enabled: false,
|
|
112
|
+
// filepath: frameworkPath('.eslintrc-auto-import.json'),
|
|
113
|
+
},
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const newOptions = defu(options, defaultOptions)
|
|
117
|
+
|
|
118
|
+
return AutoImport(newOptions)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function atomicCssEngine(isWebComponent = false) {
|
|
122
|
+
return Unocss({
|
|
123
|
+
configFile: frameworkPath('src/unocss.ts'),
|
|
124
|
+
mode: isWebComponent ? 'shadow-dom' : 'vue-scoped',
|
|
125
|
+
})
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function pwa() {
|
|
129
|
+
return VitePWA({
|
|
130
|
+
registerType: 'autoUpdate',
|
|
131
|
+
includeAssets: ['favicon.svg', 'safari-pinned-tab.svg'],
|
|
132
|
+
manifest: {
|
|
133
|
+
name: 'Stacks',
|
|
134
|
+
short_name: 'Stacks',
|
|
135
|
+
theme_color: '#ffffff',
|
|
136
|
+
icons: [
|
|
137
|
+
{
|
|
138
|
+
src: '/pwa-192x192.png',
|
|
139
|
+
sizes: '192x192',
|
|
140
|
+
type: 'image/png',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
src: '/pwa-512x512.png',
|
|
144
|
+
sizes: '512x512',
|
|
145
|
+
type: 'image/png',
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
src: '/pwa-512x512.png',
|
|
149
|
+
sizes: '512x512',
|
|
150
|
+
type: 'image/png',
|
|
151
|
+
purpose: 'any maskable',
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
})
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
function i18n(options?: i18nOptions) {
|
|
159
|
+
const defaultOptions: i18nOptions = {
|
|
160
|
+
runtimeOnly: true,
|
|
161
|
+
compositionOnly: true,
|
|
162
|
+
include: [langPath('./**')],
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
const newOptions = defu(options, defaultOptions)
|
|
166
|
+
|
|
167
|
+
return VueI18n(newOptions)
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
function uiEngine(isWebComponent = false) {
|
|
171
|
+
if (isWebComponent) {
|
|
172
|
+
return Vue({
|
|
173
|
+
include: [/\.vue$/, /\.md$/],
|
|
174
|
+
template: {
|
|
175
|
+
compilerOptions: {
|
|
176
|
+
isCustomElement: () => true,
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
})
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return Vue({
|
|
183
|
+
include: [/\.vue$/, /\.md$/],
|
|
184
|
+
})
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
const componentPreset = (isWebComponent = false) => <PluginOption>[
|
|
188
|
+
inspect,
|
|
189
|
+
uiEngine(isWebComponent),
|
|
190
|
+
atomicCssEngine(isWebComponent),
|
|
191
|
+
autoImports,
|
|
192
|
+
components,
|
|
193
|
+
markdown,
|
|
194
|
+
]
|
|
195
|
+
|
|
196
|
+
// const pagesPreset = (isWebComponent = false) => <PluginOption>[
|
|
197
|
+
// //
|
|
198
|
+
// ]
|
|
199
|
+
|
|
200
|
+
// const functionsPreset = () => <PluginOption>[
|
|
201
|
+
// //
|
|
202
|
+
// ]
|
|
203
|
+
|
|
204
|
+
export { resolve, componentPreset, uiEngine, autoImports, atomicCssEngine, components, inspect, markdown, pages, pwa, preview, layouts, i18n }
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { defineConfig } from 'vite'
|
|
2
|
+
import type { ViteConfig } from '@stacksjs/types'
|
|
3
|
+
import { buildEntriesPath, componentsPath, frameworkPath, projectPath } from '@stacksjs/paths'
|
|
4
|
+
import type { BuildOptions as ViteBuildOptions } from 'vite'
|
|
5
|
+
import { library } from '../../../config'
|
|
6
|
+
import { alias } from '../../../alias'
|
|
7
|
+
import { atomicCssEngine, autoImports, components, inspect, preview, uiEngine } from '.'
|
|
8
|
+
|
|
9
|
+
export const vueComponentsConfig: ViteConfig = {
|
|
10
|
+
root: componentsPath(),
|
|
11
|
+
envDir: projectPath(),
|
|
12
|
+
envPrefix: 'APP_',
|
|
13
|
+
|
|
14
|
+
server: {
|
|
15
|
+
port: 3333,
|
|
16
|
+
open: true,
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
resolve: {
|
|
20
|
+
dedupe: ['vue'],
|
|
21
|
+
alias,
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
optimizeDeps: {
|
|
25
|
+
exclude: ['vue'],
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
plugins: [
|
|
29
|
+
preview(),
|
|
30
|
+
uiEngine(),
|
|
31
|
+
atomicCssEngine(),
|
|
32
|
+
autoImports(),
|
|
33
|
+
components(),
|
|
34
|
+
inspect(),
|
|
35
|
+
],
|
|
36
|
+
|
|
37
|
+
build: vueComponentsBuildOptions(),
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function vueComponentsBuildOptions(): ViteBuildOptions {
|
|
41
|
+
return {
|
|
42
|
+
outDir: frameworkPath('vue-components/dist'),
|
|
43
|
+
emptyOutDir: true,
|
|
44
|
+
lib: {
|
|
45
|
+
entry: buildEntriesPath('vue-components.ts'),
|
|
46
|
+
name: library.vueComponents.name,
|
|
47
|
+
formats: ['cjs', 'es'],
|
|
48
|
+
fileName: (format: string) => {
|
|
49
|
+
if (format === 'es')
|
|
50
|
+
return 'index.mjs'
|
|
51
|
+
|
|
52
|
+
if (format === 'cjs')
|
|
53
|
+
return 'index.cjs'
|
|
54
|
+
|
|
55
|
+
return 'index.?.js'
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
rollupOptions: {
|
|
60
|
+
external: ['vue'],
|
|
61
|
+
output: {
|
|
62
|
+
globals: {
|
|
63
|
+
vue: 'Vue',
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export default defineConfig(({ command }) => {
|
|
71
|
+
if (command === 'serve')
|
|
72
|
+
return vueComponentsConfig
|
|
73
|
+
|
|
74
|
+
// command === 'build'
|
|
75
|
+
return vueComponentsConfig
|
|
76
|
+
})
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { BuildOptions as ViteBuildOptions } from 'vite'
|
|
2
|
+
import { defineConfig } from 'vite'
|
|
3
|
+
import type { ViteConfig } from '@stacksjs/types'
|
|
4
|
+
import { buildEntriesPath, componentsPath, frameworkPath, projectPath } from '@stacksjs/paths'
|
|
5
|
+
import { library } from '../../../config'
|
|
6
|
+
import { alias } from '../../../alias'
|
|
7
|
+
import { atomicCssEngine, autoImports, components, inspect, uiEngine } from '.'
|
|
8
|
+
|
|
9
|
+
const isWebComponent = true
|
|
10
|
+
|
|
11
|
+
export const webComponentsConfig: ViteConfig = {
|
|
12
|
+
root: componentsPath(),
|
|
13
|
+
envDir: projectPath(),
|
|
14
|
+
envPrefix: 'APP_',
|
|
15
|
+
|
|
16
|
+
server: {
|
|
17
|
+
port: 3333,
|
|
18
|
+
open: true,
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
resolve: {
|
|
22
|
+
alias,
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
plugins: [
|
|
26
|
+
inspect(),
|
|
27
|
+
uiEngine(isWebComponent),
|
|
28
|
+
atomicCssEngine(isWebComponent),
|
|
29
|
+
autoImports(),
|
|
30
|
+
components(),
|
|
31
|
+
],
|
|
32
|
+
|
|
33
|
+
build: webComponentsBuildOptions(),
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function webComponentsBuildOptions(): ViteBuildOptions {
|
|
37
|
+
return {
|
|
38
|
+
outDir: frameworkPath('web-components/dist'),
|
|
39
|
+
emptyOutDir: true,
|
|
40
|
+
lib: {
|
|
41
|
+
entry: buildEntriesPath('web-components.ts'),
|
|
42
|
+
name: library.webComponents.name,
|
|
43
|
+
formats: ['cjs', 'es'],
|
|
44
|
+
fileName: (format: string) => {
|
|
45
|
+
if (format === 'es')
|
|
46
|
+
return 'index.mjs'
|
|
47
|
+
|
|
48
|
+
if (format === 'cjs')
|
|
49
|
+
return 'index.cjs'
|
|
50
|
+
|
|
51
|
+
return 'index.?.js'
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export default defineConfig(({ command }) => {
|
|
58
|
+
if (command === 'serve')
|
|
59
|
+
return webComponentsConfig
|
|
60
|
+
|
|
61
|
+
// command === 'build'
|
|
62
|
+
return webComponentsConfig
|
|
63
|
+
})
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { WebTypesBuilderConfig } from 'vue-docgen-web-types/types/config'
|
|
2
|
+
import { version } from 'framework/vue-components/package.json'
|
|
3
|
+
import { componentsPath, frameworkPath } from '@stacksjs/paths'
|
|
4
|
+
import { library } from '../../config'
|
|
5
|
+
|
|
6
|
+
export default <WebTypesBuilderConfig> {
|
|
7
|
+
cwd: process.cwd(),
|
|
8
|
+
componentsRoot: componentsPath(),
|
|
9
|
+
components: '**\/[a-zA-Z]*.vue',
|
|
10
|
+
outFile: frameworkPath('web-types.json'),
|
|
11
|
+
packageName: library.name,
|
|
12
|
+
packageVersion: version,
|
|
13
|
+
watch: false,
|
|
14
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Stacks Collections
|
|
2
|
+
|
|
3
|
+
This package contains the Stacks Collections source.
|
|
4
|
+
|
|
5
|
+
## ☘️ Features
|
|
6
|
+
|
|
7
|
+
wip
|
|
8
|
+
|
|
9
|
+
- ⚡️
|
|
10
|
+
|
|
11
|
+
wip
|
|
12
|
+
|
|
13
|
+
## 🤖 Usage
|
|
14
|
+
|
|
15
|
+
wip
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pnpm i -D @stacksjs/collections
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Now, you can use it in your project:
|
|
22
|
+
|
|
23
|
+
```js
|
|
24
|
+
import { collect } from '@stacksjs/collections'
|
|
25
|
+
|
|
26
|
+
// wip
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Learn more in the docs.
|
|
30
|
+
|
|
31
|
+
## 🧪 Testing
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
pnpm test
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 📈 Changelog
|
|
38
|
+
|
|
39
|
+
Please see our [releases](https://github.com/stacksjs/stacksjs/releases) page for more information on what has changed recently.
|
|
40
|
+
|
|
41
|
+
## 💪🏼 Contributing
|
|
42
|
+
|
|
43
|
+
Please see [CONTRIBUTING](../../.github/CONTRIBUTING.md) for details.
|
|
44
|
+
|
|
45
|
+
## 🏝 Community
|
|
46
|
+
|
|
47
|
+
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
|
|
48
|
+
|
|
49
|
+
[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)
|
|
50
|
+
|
|
51
|
+
For casual chit-chat with others using this package:
|
|
52
|
+
|
|
53
|
+
[Join the Open Web Discord Server](https://discord.ow3.org)
|
|
54
|
+
|
|
55
|
+
## 📄 License
|
|
56
|
+
|
|
57
|
+
The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.
|
|
58
|
+
|
|
59
|
+
Made with ❤️
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
6
|
+
esac
|
|
7
|
+
|
|
8
|
+
if [ -z "$NODE_PATH" ]; then
|
|
9
|
+
export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
10
|
+
else
|
|
11
|
+
export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
12
|
+
fi
|
|
13
|
+
if [ -x "$basedir/node" ]; then
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/mkdist@0.3.13_typescript@4.8.4/node_modules/mkdist/dist/cli.cjs" "$@"
|
|
15
|
+
else
|
|
16
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/mkdist@0.3.13_typescript@4.8.4/node_modules/mkdist/dist/cli.cjs" "$@"
|
|
17
|
+
fi
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
6
|
+
esac
|
|
7
|
+
|
|
8
|
+
if [ -z "$NODE_PATH" ]; then
|
|
9
|
+
export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
10
|
+
else
|
|
11
|
+
export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
12
|
+
fi
|
|
13
|
+
if [ -x "$basedir/node" ]; then
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/bin/tsc" "$@"
|
|
15
|
+
else
|
|
16
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/bin/tsc" "$@"
|
|
17
|
+
fi
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
6
|
+
esac
|
|
7
|
+
|
|
8
|
+
if [ -z "$NODE_PATH" ]; then
|
|
9
|
+
export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
10
|
+
else
|
|
11
|
+
export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
12
|
+
fi
|
|
13
|
+
if [ -x "$basedir/node" ]; then
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/bin/tsserver" "$@"
|
|
15
|
+
else
|
|
16
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/typescript@4.8.4/node_modules/typescript/bin/tsserver" "$@"
|
|
17
|
+
fi
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@stacksjs/collections",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.37.4",
|
|
5
|
+
"packageManager": "pnpm@7.13.6",
|
|
6
|
+
"description": "The Stacks collections.",
|
|
7
|
+
"author": "Chris Breuer",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"funding": "https://github.com/sponsors/chrisbbreuer",
|
|
10
|
+
"homepage": "https://github.com/stacksjs/stacks/tree/main/.stacks/core/collections#readme",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/stacksjs/stacks.git",
|
|
14
|
+
"directory": "./.stacks/core/collections"
|
|
15
|
+
},
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/stacksjs/stacks/issues"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"collections",
|
|
21
|
+
"laravel",
|
|
22
|
+
"collectjs",
|
|
23
|
+
"utilities",
|
|
24
|
+
"functions",
|
|
25
|
+
"stacks"
|
|
26
|
+
],
|
|
27
|
+
"sideEffects": false,
|
|
28
|
+
"main": "dist/index.mjs",
|
|
29
|
+
"module": "dist/index.mjs",
|
|
30
|
+
"types": "dist/index.d.ts",
|
|
31
|
+
"contributors": [
|
|
32
|
+
"Chris Breuer <chris@ow3.org>"
|
|
33
|
+
],
|
|
34
|
+
"files": [
|
|
35
|
+
"dist"
|
|
36
|
+
],
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=v18.10.0",
|
|
39
|
+
"pnpm": ">=7.13.6"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "mkdist -d",
|
|
43
|
+
"dev": "mkdist -d",
|
|
44
|
+
"prepublishOnly": "pnpm run build",
|
|
45
|
+
"typecheck": "tsc --noEmit"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"collect.js": "^4.34.3"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"mkdist": "^0.3.13",
|
|
52
|
+
"typescript": "^4.8.4"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Collection, collect } from 'collect.js'
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Stacks File System
|
|
2
|
+
|
|
3
|
+
This package contains the Stacks File System source.
|
|
4
|
+
|
|
5
|
+
## ☘️ Features
|
|
6
|
+
|
|
7
|
+
wip
|
|
8
|
+
|
|
9
|
+
- ⚡️
|
|
10
|
+
|
|
11
|
+
wip
|
|
12
|
+
|
|
13
|
+
## 🤖 Usage
|
|
14
|
+
|
|
15
|
+
wip
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pnpm i -D @stacksjs/fs
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Now, you can use it in your project:
|
|
22
|
+
|
|
23
|
+
```js
|
|
24
|
+
import * as fs from '@stacksjs/fs'
|
|
25
|
+
|
|
26
|
+
// wip
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Learn more in the docs.
|
|
30
|
+
|
|
31
|
+
## 🧪 Testing
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
pnpm test
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 📈 Changelog
|
|
38
|
+
|
|
39
|
+
Please see our [releases](https://github.com/stacksjs/stacksjs/releases) page for more information on what has changed recently.
|
|
40
|
+
|
|
41
|
+
## 💪🏼 Contributing
|
|
42
|
+
|
|
43
|
+
Please see [CONTRIBUTING](../../.github/CONTRIBUTING.md) for details.
|
|
44
|
+
|
|
45
|
+
## 🏝 Community
|
|
46
|
+
|
|
47
|
+
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
|
|
48
|
+
|
|
49
|
+
[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)
|
|
50
|
+
|
|
51
|
+
For casual chit-chat with others using this package:
|
|
52
|
+
|
|
53
|
+
[Join the Open Web Discord Server](https://discord.ow3.org)
|
|
54
|
+
|
|
55
|
+
## 📄 License
|
|
56
|
+
|
|
57
|
+
The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/stacks/tree/main/LICENSE.md) for more information.
|
|
58
|
+
|
|
59
|
+
Made with ❤️
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
6
|
+
esac
|
|
7
|
+
|
|
8
|
+
if [ -z "$NODE_PATH" ]; then
|
|
9
|
+
export NODE_PATH="/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
10
|
+
else
|
|
11
|
+
export NODE_PATH="$NODE_PATH:/home/runner/work/stacks/stacks/node_modules/.pnpm/node_modules"
|
|
12
|
+
fi
|
|
13
|
+
if [ -x "$basedir/node" ]; then
|
|
14
|
+
exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/mkdist@0.3.13/node_modules/mkdist/dist/cli.cjs" "$@"
|
|
15
|
+
else
|
|
16
|
+
exec node "$basedir/../../../../../node_modules/.pnpm/mkdist@0.3.13/node_modules/mkdist/dist/cli.cjs" "$@"
|
|
17
|
+
fi
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@stacksjs/fs",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.37.4",
|
|
5
|
+
"packageManager": "pnpm@7.13.6",
|
|
6
|
+
"description": "The Stacks file system.",
|
|
7
|
+
"author": "Chris Breuer",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"funding": "https://github.com/sponsors/chrisbbreuer",
|
|
10
|
+
"homepage": "https://github.com/stacksjs/stacks/tree/main/.stacks/core/fs#readme",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/stacksjs/stacks.git",
|
|
14
|
+
"directory": "./.stacks/core/fs"
|
|
15
|
+
},
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/stacksjs/stacks/issues"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"fs",
|
|
21
|
+
"file system",
|
|
22
|
+
"collections",
|
|
23
|
+
"utilities",
|
|
24
|
+
"functions",
|
|
25
|
+
"stacks"
|
|
26
|
+
],
|
|
27
|
+
"main": "dist/index.mjs",
|
|
28
|
+
"module": "dist/index.mjs",
|
|
29
|
+
"types": "dist/index.d.ts",
|
|
30
|
+
"contributors": [
|
|
31
|
+
"Chris Breuer <chris@ow3.org>"
|
|
32
|
+
],
|
|
33
|
+
"files": [
|
|
34
|
+
"dist"
|
|
35
|
+
],
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=v18.10.0",
|
|
38
|
+
"pnpm": ">=7.13.6"
|
|
39
|
+
},
|
|
40
|
+
"scripts": {
|
|
41
|
+
"build": "mkdist -d",
|
|
42
|
+
"dev": "mkdist -d",
|
|
43
|
+
"prepublishOnly": "pnpm run build",
|
|
44
|
+
"typecheck": "tsc --noEmit"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@stacksjs/arrays": "workspace:*",
|
|
48
|
+
"@stacksjs/paths": "workspace:*",
|
|
49
|
+
"@stacksjs/types": "workspace:*",
|
|
50
|
+
"detect-indent": "^7.0.1",
|
|
51
|
+
"detect-newline": "^4.0.0"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"mkdist": "^0.3.13"
|
|
55
|
+
}
|
|
56
|
+
}
|