@stacksjs/buddy 0.42.1
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/LICENSE.md +21 -0
- package/README.md +396 -0
- package/bin/stacks.mjs +4 -0
- package/package.json +183 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 Open Web Foundation
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
# Rapid App Development
|
|
4
|
+
|
|
5
|
+
[![npm version][npm-version-src]][npm-version-href]
|
|
6
|
+
[![GitHub Actions][github-actions-src]][github-actions-href]
|
|
7
|
+
[](http://commitizen.github.io/cz-cli/)
|
|
8
|
+
[![npm downloads][npm-downloads-src]][npm-downloads-href]
|
|
9
|
+
<!-- [![Codecov][codecov-src]][codecov-href] -->
|
|
10
|
+
|
|
11
|
+
_For internal usage only until the beta is released by the end of ~November._
|
|
12
|
+
|
|
13
|
+
The goal of the Stacks framework is to _help you_ create & maintain frontends, backends, and clouds without having to worry about the boilerplate. Whether it's SSG pages, npm distributed & framework-agnostic component & function libraries, serverless APIs, Stacks helps you every step along the way, including production deployments and the maintenance of its related infrastructure (server or serverless).
|
|
14
|
+
|
|
15
|
+
Convention over configuration is our mantraβin beginner & expert-friendly ways.
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
## Features
|
|
20
|
+
|
|
21
|
+
The Stacks framework is a harmony of the following engines:
|
|
22
|
+
|
|
23
|
+
### Stacks UI
|
|
24
|
+
|
|
25
|
+
Develop UIs with helpers for atomic design, component libraries, and more.
|
|
26
|
+
|
|
27
|
+
- π§© Components _develop UI components with ease_
|
|
28
|
+
- π Library Mode _auto-builds Vue & Web component libraries_
|
|
29
|
+
- π Pages _SSG & PWA support using components_
|
|
30
|
+
- π₯οΈ Desktop _components as desktop elements, powered by Tauri_
|
|
31
|
+
- β‘οΈ Powered by Vue, Vite & UnoCSS
|
|
32
|
+
|
|
33
|
+
### Stacks Functions
|
|
34
|
+
|
|
35
|
+
Develop serverless (or server) functions with countless helpers to build scalable & fast APIs.
|
|
36
|
+
|
|
37
|
+
- π€ **APIs** _scalability & maintainability built-in_
|
|
38
|
+
- ποΈ **Cache** Redis, DynamoDB, SingleStore, and more
|
|
39
|
+
- βοΈ **CLIs** _create beautiful CLIs for Linux, Windows, and Mac. Without requirements._
|
|
40
|
+
- π **Database** _MySQL, Postgres, Prisma, PlanetScale, Supabase, ..._
|
|
41
|
+
- πΎ **Errors** _native type-safe error handling_
|
|
42
|
+
- π’ **Notifications** _emails, SMSs, direct, and push notifications & webhooks_
|
|
43
|
+
- βοΈ **Queues** run your heavy workload in the background
|
|
44
|
+
- ποΈ **Realtime** _"everything you need to build dynamic real-time apps"_
|
|
45
|
+
- π§ **Router** _smart routing, file-based or Laravel-like_
|
|
46
|
+
- π **Search Engine** _smart searching, advanced filtering & sorting, pagination, headless UI_
|
|
47
|
+
- πΎ **Storage** _easily create & make use of local & remote storages/file systems_
|
|
48
|
+
- πͺοΈ **Validation** _tbd_
|
|
49
|
+
- π **X-Ray** _All you need to debug, log & analyze, easily_
|
|
50
|
+
|
|
51
|
+
### Stacks Cloud
|
|
52
|
+
|
|
53
|
+
Create your own cloud. _With a few commands._
|
|
54
|
+
|
|
55
|
+
- βοΈ **Server** _local development server & production-ready servers_
|
|
56
|
+
- β
οΈ **Serverless** _on-demand, auto-scaling, zero maintenance_
|
|
57
|
+
- π **CDN** _your own CloudFront CDN_
|
|
58
|
+
- π **Firewall** _native web application firewall support_
|
|
59
|
+
- ποΈ **Maintenance** _handles your cloud infrastructure via the Stacks & Serverless framework_
|
|
60
|
+
|
|
61
|
+
### Stacks CI/CD
|
|
62
|
+
|
|
63
|
+
Focus on coding, not publishing.
|
|
64
|
+
|
|
65
|
+
- π **Deployment Manager** _take the sweat & stress out of production deployments (AWS, Vercel, Netlify, and more)_
|
|
66
|
+
- π« **Release Manager** _libraries (component & function) auto-published to npm, git helpers, and more_
|
|
67
|
+
|
|
68
|
+
### Stacks DX
|
|
69
|
+
|
|
70
|
+
Enhanced productivity for developers. No more creating boilerplate.
|
|
71
|
+
|
|
72
|
+
- π©π½βπ§ **Linter & Formatter** _auto-configured & built into your IDE_
|
|
73
|
+
- π‘ **IDE Integration** _auto-completions, inline docs & a powerful VS Code setup_
|
|
74
|
+
- πͺπΌ **Type Strong** _built-in end-to-end type safety_
|
|
75
|
+
- π οΈ **Utilities** _auto-imported components, functions, date, string, array, and object helpers. Collections, VueUse, and more_
|
|
76
|
+
- β¨ **Git workflows** _commit with ease_
|
|
77
|
+
- π§ͺ **Testing** _unit & e2e tests powered by Vitest_
|
|
78
|
+
- πͺ **Zero-Config** _yet highly configurable. Convention over configuration_
|
|
79
|
+
|
|
80
|
+
No matter whether you are a beginner or an expert, the approachable Stacks design allows you to learn at your own pace, using our thorough documentation covering every aspect of the framework. Stacks is extremely beginner & expert-friendly.
|
|
81
|
+
|
|
82
|
+
Develop beautiful, reactive, composable UIs without learning a new set of languages. HTML, CSS, and minimal JavaScriptβthat's all you need to dive in now! _Or TypeScript βπΌ_
|
|
83
|
+
|
|
84
|
+
> _A true rapid application development framework for all Full Stack needs. Next-level simplicity & helpful DX._
|
|
85
|
+
|
|
86
|
+
## Get Started
|
|
87
|
+
|
|
88
|
+
It's incredibly easy to get started with this framework. Simply run the following command in your terminal:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
curl -fsSL https://stacksjs.dev/setup | sh
|
|
92
|
+
|
|
93
|
+
# alternatively, if you know pnpm is already installed, get started via:
|
|
94
|
+
npx stacks new my-project
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
> **Note**
|
|
98
|
+
> pnpm 7.16 or higher required. _Run the setup script & πΆ Buddy will set you up. He barks otherwise._
|
|
99
|
+
|
|
100
|
+
## π€ Usage
|
|
101
|
+
|
|
102
|
+
The following list includes some of the most common ways to interact with the Stacks API. Meet the toolkit, Buddy:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
buddy install # installs all dependencies
|
|
106
|
+
buddy dev # starts one of the dev servers (components, functions, pages, or docs)
|
|
107
|
+
buddy build # follow CLI prompts to select which library (or server) to build
|
|
108
|
+
buddy commit # follow CLI prompts for committing changes
|
|
109
|
+
buddy release # creates the releases for the stack & consequently, publishes them to npm
|
|
110
|
+
buddy upgrade # auto-update deps & the Stacks framework
|
|
111
|
+
|
|
112
|
+
buddy make:component HelloWorld # scaffolds a component
|
|
113
|
+
buddy make:function HelloWorld # scaffolds a function
|
|
114
|
+
buddy make:page hello-world # scaffolds a page (https://127.0.0.1/hello-world)
|
|
115
|
+
|
|
116
|
+
buddy --help
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
<details>
|
|
120
|
+
<summary>View the complete Buddy Toolkit</summary>
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
buddy --version # get the Stacks version
|
|
124
|
+
buddy --help # view help menu
|
|
125
|
+
# please note: you may suffix any command with the
|
|
126
|
+
# `command --help` flag to review the help menu
|
|
127
|
+
|
|
128
|
+
buddy install # installs your dependencies
|
|
129
|
+
buddy fresh # fresh reinstall of all deps
|
|
130
|
+
buddy clean # removes all your deps
|
|
131
|
+
|
|
132
|
+
buddy update # auto-update deps & the Stacks framework
|
|
133
|
+
buddy update:dependencies # auto-update deps & the Stacks framework
|
|
134
|
+
buddy update:framework # auto-update deps & the Stacks framework
|
|
135
|
+
buddy update:package-manager # auto-update deps & the Stacks framework
|
|
136
|
+
buddy update:search-engine # auto-updates Meilisearch
|
|
137
|
+
buddy update:node # update to latest project-defined node version
|
|
138
|
+
buddy update:all # update Node, package manager, framework, dependencies
|
|
139
|
+
|
|
140
|
+
# if you need any more info on any command listed here, you may suffix
|
|
141
|
+
# any of them via the "help option", i.e. `buddy ... --help`
|
|
142
|
+
|
|
143
|
+
buddy dev # start one of the dev servers (components, functions, pages, or docs)
|
|
144
|
+
buddy dev:components # start local playground dev server
|
|
145
|
+
buddy dev:desktop # starts the Desktop playground
|
|
146
|
+
buddy dev:pages # start local playground pages dev server
|
|
147
|
+
buddy dev:functions # stub local the functions
|
|
148
|
+
buddy dev:docs # start local docs dev server
|
|
149
|
+
buddy development # `buddy dev` alias
|
|
150
|
+
|
|
151
|
+
# for Laravel users, `serve` may be a more familiar command. Hence, we aliased it:
|
|
152
|
+
buddy serve
|
|
153
|
+
buddy serve:components
|
|
154
|
+
buddy serve:pages
|
|
155
|
+
buddy serve:functions
|
|
156
|
+
buddy serve:docs
|
|
157
|
+
|
|
158
|
+
# building for production (e.g. AWS, Google Cloud, npm, Vercel, Netlify, et al.)
|
|
159
|
+
buddy build # select a specific build (follow CLI prompts)
|
|
160
|
+
buddy build:components # build Vue component library & Web Component library
|
|
161
|
+
buddy build:vue-components # build Vue 2 & 3-ready Component library
|
|
162
|
+
buddy build:web-components # build framework agnostic Web Component library (i.e. Custom Elements)
|
|
163
|
+
buddy build:functions # build function library
|
|
164
|
+
buddy build:pages # build SSG pages
|
|
165
|
+
buddy build:all # build all your code
|
|
166
|
+
|
|
167
|
+
# `buddy build` aliases
|
|
168
|
+
buddy prod
|
|
169
|
+
buddy prod:components
|
|
170
|
+
buddy prod:vue-components
|
|
171
|
+
buddy prod:web-components
|
|
172
|
+
buddy prod:functions
|
|
173
|
+
buddy prod:pages
|
|
174
|
+
buddy prod:all
|
|
175
|
+
buddy production # `buddy prod` alias
|
|
176
|
+
|
|
177
|
+
# sets your application key
|
|
178
|
+
buddy key:generate
|
|
179
|
+
|
|
180
|
+
buddy make:stack project
|
|
181
|
+
buddy make:component HelloWorld
|
|
182
|
+
buddy make:function hello-world
|
|
183
|
+
buddy make:page hello-world
|
|
184
|
+
buddy make:lang de
|
|
185
|
+
buddy make:notification welcome-email
|
|
186
|
+
buddy make:database cars
|
|
187
|
+
buddy make:table brands
|
|
188
|
+
buddy make:migration create_cars_table
|
|
189
|
+
buddy make:factory cars
|
|
190
|
+
buddy make:seed cars
|
|
191
|
+
|
|
192
|
+
buddy lint # runs linter
|
|
193
|
+
buddy lint:fix # runs linter and fixes issues
|
|
194
|
+
|
|
195
|
+
buddy commit # follow CLI prompts for committing staged changes
|
|
196
|
+
buddy release # creates the releases for the stack & triggers the Release Action (workflow)
|
|
197
|
+
buddy changelog # generates CHANGELOG.md
|
|
198
|
+
|
|
199
|
+
# when deploying your app/s to a remote server or cloud provider
|
|
200
|
+
buddy deploy
|
|
201
|
+
buddy deploy:docs
|
|
202
|
+
buddy deploy:functions
|
|
203
|
+
buddy deploy:pages
|
|
204
|
+
buddy deploy:all
|
|
205
|
+
|
|
206
|
+
# select the example to run (follow CLI prompts)
|
|
207
|
+
buddy example
|
|
208
|
+
buddy example:vue
|
|
209
|
+
buddy example:web-components
|
|
210
|
+
|
|
211
|
+
# you likely won't need to run these commands as they are auto-triggered, but they are available
|
|
212
|
+
buddy generate
|
|
213
|
+
buddy generate:entries
|
|
214
|
+
buddy generate:vue-compat
|
|
215
|
+
buddy generate:web-types
|
|
216
|
+
buddy generate:vscode-custom-data
|
|
217
|
+
buddy generate:ide-helpers
|
|
218
|
+
buddy generate:component-meta
|
|
219
|
+
buddy generate:all
|
|
220
|
+
|
|
221
|
+
# generates your application key
|
|
222
|
+
buddy key:generate
|
|
223
|
+
|
|
224
|
+
# generate your TypeScript declarations
|
|
225
|
+
buddy types:generate
|
|
226
|
+
buddy types:fix
|
|
227
|
+
|
|
228
|
+
# test your stack
|
|
229
|
+
buddy test # runs test suite (unit & e2e)
|
|
230
|
+
buddy test:coverage # runs test coverage
|
|
231
|
+
buddy test:types # runs typecheck
|
|
232
|
+
|
|
233
|
+
# the CLI may be triggered in any
|
|
234
|
+
# of the following syntax:
|
|
235
|
+
stx fresh
|
|
236
|
+
buddy fresh
|
|
237
|
+
bud fresh
|
|
238
|
+
buddy fresh
|
|
239
|
+
pnpm stx fresh
|
|
240
|
+
pnpm buddy fresh
|
|
241
|
+
pnpm buddy fresh
|
|
242
|
+
pnpm fresh
|
|
243
|
+
pnpm run fresh
|
|
244
|
+
pnpm run buddy fresh
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
</details>
|
|
248
|
+
|
|
249
|
+
Read more here about the Stacks CLI in the documentation.
|
|
250
|
+
|
|
251
|
+
## π Utilizing the Built Libraries
|
|
252
|
+
|
|
253
|
+
Because Stacks optimizes the development of easily reusable & composable component & function libraries, the primary intention is to always _keep it simple, yet configurable._
|
|
254
|
+
|
|
255
|
+
By default, Stacks realizes whether your Stack includes components, functions, and/or pages. Based on that determination, Stacks builds your outputs.
|
|
256
|
+
|
|
257
|
+
The UI libraries that automatically get built are: a Web Component (Custom Elements) & Vue Component library.
|
|
258
|
+
|
|
259
|
+
<details>
|
|
260
|
+
<summary>Web Component usage</summary>
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
npm install my-awesome-library
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
After you installed your Stacks generated library, you can use a "Custom Element" (Web Component) in the following way:
|
|
267
|
+
|
|
268
|
+
```html
|
|
269
|
+
<html>
|
|
270
|
+
<body>
|
|
271
|
+
<hello-world name="Jane Doe"></hello-world>
|
|
272
|
+
<script src="my-awesome-library.js"></script>
|
|
273
|
+
</body>
|
|
274
|
+
</html>
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
</details>
|
|
278
|
+
|
|
279
|
+
<details>
|
|
280
|
+
<summary>Vue 2 & 3 usage</summary>
|
|
281
|
+
|
|
282
|
+
```bash
|
|
283
|
+
npm install my-awesome-library
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
After you installed your Stacks generated library, you can use your Vue Components in the following way:
|
|
287
|
+
|
|
288
|
+
```vue
|
|
289
|
+
<script setup lang="ts">
|
|
290
|
+
import HelloWorld from 'my-awesome-library'
|
|
291
|
+
</script>
|
|
292
|
+
|
|
293
|
+
<template>
|
|
294
|
+
<HelloWorld name="J Doe" />
|
|
295
|
+
</template>
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
</details>
|
|
299
|
+
|
|
300
|
+
_A function library may also be automatically generated._
|
|
301
|
+
|
|
302
|
+
<details>
|
|
303
|
+
<summary>Functions usage</summary>
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
npm install hello-world-library
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
After you installed your Stacks generated library, you can use your functions in the following way:
|
|
310
|
+
|
|
311
|
+
```ts
|
|
312
|
+
import { count, increment } from 'hello-world-fx'
|
|
313
|
+
|
|
314
|
+
console.log('count is', count)
|
|
315
|
+
increment()
|
|
316
|
+
console.log('increased count is', count)
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
</details>
|
|
320
|
+
|
|
321
|
+
You may view this framework as an incredibly "useful set of frames" to assist in efficiently bootstrapping, designing, and managing component & function librariesβusing industry best practices, to reach one of the broadest user bases possible.
|
|
322
|
+
|
|
323
|
+
## π Roadmap
|
|
324
|
+
|
|
325
|
+
Part of the Stacks ecosystem are the following first-party supported stacks:
|
|
326
|
+
|
|
327
|
+
- [Table](https://github.com/stacksjs/table) (Q4 - Data tables with ease)
|
|
328
|
+
- [Calendar](https://github.com/stacksjs/calendar) (Q4 - Add to Calendar utilitiesβiCal, Google, and more)
|
|
329
|
+
- [Command Palette](https://github.com/stacksjs/command-palette) (Q4 - `β + k` for the web)
|
|
330
|
+
- [Date Picker](https://github.com/stacksjs/date-picker) (Q4 - Beautiful, modern date picker)
|
|
331
|
+
- [File Manager](https://github.com/stacksjs/file-manager) (Q4 - Build your own file managerβlike Dropbox or Google Drive)
|
|
332
|
+
- [Image](https://github.com/stacksjs/image) (Q4 - Modern image experience)
|
|
333
|
+
- [Video](https://github.com/stacksjs/video) (Q4 - Modern video experience)
|
|
334
|
+
- [Audio](https://github.com/stacksjs/audio) (Q4 - Modern audio experience)
|
|
335
|
+
- [Web3](https://github.com/stacksjs/web3) (Q4 - Solana support, cross-chain core. _Ethereum & Cardano drivers coming._)
|
|
336
|
+
- [Wallets](https://github.com/stacksjs/wallets) (Q4 - Wallet Authentication)
|
|
337
|
+
- [NFT](https://github.com/stacksjs/nft) (Q4 - NFTs, Candy Machine mechanisms, and more.)
|
|
338
|
+
- [DeFi](https://github.com/stacksjs/defi) (Q4 - Cross-chain DeFi engine, including staking support)
|
|
339
|
+
- [DAO](https://github.com/stacksjs/dao) (Q4 - Powerful toolkit for DAO governance, including a Reddit-type of voting system)
|
|
340
|
+
|
|
341
|
+
View our detailed roadmap/s [here](https://github.com/stacksjs/stacks/projects?query=is%3Aopen), for more information. Additionally, you may find interesting stacks, information & examples over at [Awesome Stacks](https://github.com/stacksjs/awesome-stacks).
|
|
342
|
+
|
|
343
|
+
## π§ͺ Testing
|
|
344
|
+
|
|
345
|
+
```bash
|
|
346
|
+
pnpm test
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
## π Changelog
|
|
350
|
+
|
|
351
|
+
Please see our [releases](https://github.com/stacksjs/stacks/releases) page for more information on what has changed recently.
|
|
352
|
+
|
|
353
|
+
## πͺπΌ Contributing
|
|
354
|
+
|
|
355
|
+
Please see the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
|
|
356
|
+
|
|
357
|
+
## π Community
|
|
358
|
+
|
|
359
|
+
For help, discussion about best practices, or any other conversation that would benefit from being searchable:
|
|
360
|
+
|
|
361
|
+
[Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)
|
|
362
|
+
|
|
363
|
+
For casual chit-chat with others using this package:
|
|
364
|
+
|
|
365
|
+
[Join the Stacks Discord Server](https://discord.ow3.org)
|
|
366
|
+
|
|
367
|
+
## π Sponsors
|
|
368
|
+
|
|
369
|
+
Once we launch a usable Stacks version, we hope people will start enjoying it! Coming soon.
|
|
370
|
+
|
|
371
|
+
## ππΌ Credits
|
|
372
|
+
|
|
373
|
+
Many thanks to the following core technologies & people who have contributed to this package:
|
|
374
|
+
|
|
375
|
+
- [Chris Breuer](https://github.com/chrisbbreuer)
|
|
376
|
+
- [Dan Scanlon](https://twitter.com/danscan) _many thanks for donating the `stacks` name on npm_
|
|
377
|
+
- [All Contributors](../../contributors)
|
|
378
|
+
|
|
379
|
+
## π License
|
|
380
|
+
|
|
381
|
+
The MIT License (MIT). Please see [LICENSE](LICENSE.md) for more information.
|
|
382
|
+
|
|
383
|
+
Made with β€οΈ
|
|
384
|
+
|
|
385
|
+
<!-- Badges -->
|
|
386
|
+
[npm-version-src]: https://img.shields.io/npm/v/stacks?style=flat-square
|
|
387
|
+
[npm-version-href]: https://npmjs.com/package/stacks
|
|
388
|
+
|
|
389
|
+
[npm-downloads-src]: https://img.shields.io/npm/dm/stacks?style=flat-square
|
|
390
|
+
[npm-downloads-href]: https://npmjs.com/package/stacks
|
|
391
|
+
|
|
392
|
+
[github-actions-src]: https://img.shields.io/github/workflow/status/stacksjs/stacks/CI/main?style=flat-square
|
|
393
|
+
[github-actions-href]: https://github.com/stacksjs/stacks/actions?query=workflow%3Aci
|
|
394
|
+
|
|
395
|
+
<!-- [codecov-src]: https://img.shields.io/codecov/c/gh/stacksjs/stacks/main?style=flat-square
|
|
396
|
+
[codecov-href]: https://codecov.io/gh/stacksjs/buddy -->
|
package/bin/stacks.mjs
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@stacksjs/buddy",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.42.1",
|
|
5
|
+
"packageManager": "pnpm@7.17.0",
|
|
6
|
+
"description": "The Stacks runtime, named Buddy.",
|
|
7
|
+
"author": "Chris Breuer",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"funding": "https://github.com/sponsors/chrisbbreuer",
|
|
10
|
+
"homepage": "https://github.com/stacksjs/stacks/tree/main/.stacks#readme",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/stacksjs/stacks.git",
|
|
14
|
+
"directory": "./.stacks/buddy"
|
|
15
|
+
},
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/stacksjs/stacks/issues"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"vite",
|
|
21
|
+
"component",
|
|
22
|
+
"composables",
|
|
23
|
+
"functions",
|
|
24
|
+
"headless",
|
|
25
|
+
"api",
|
|
26
|
+
"ssg",
|
|
27
|
+
"pwa",
|
|
28
|
+
"modern",
|
|
29
|
+
"library",
|
|
30
|
+
"vue",
|
|
31
|
+
"web components",
|
|
32
|
+
"typescript",
|
|
33
|
+
"javascript",
|
|
34
|
+
"starter kit"
|
|
35
|
+
],
|
|
36
|
+
"main": "dist/index.mjs",
|
|
37
|
+
"module": "dist/index.mjs",
|
|
38
|
+
"types": "dist/index.d.ts",
|
|
39
|
+
"contributors": [
|
|
40
|
+
"Chris Breuer <chris@ow3.org>"
|
|
41
|
+
],
|
|
42
|
+
"bin": {
|
|
43
|
+
"stacks": "bin/stacks.mjs",
|
|
44
|
+
"stx": "bin/stacks.mjs",
|
|
45
|
+
"buddy": "bin/stacks.mjs",
|
|
46
|
+
"bud": "bin/stacks.mjs"
|
|
47
|
+
},
|
|
48
|
+
"files": [
|
|
49
|
+
"dist",
|
|
50
|
+
"README.md"
|
|
51
|
+
],
|
|
52
|
+
"engines": {
|
|
53
|
+
"node": ">=v18.12.1",
|
|
54
|
+
"pnpm": ">=7.17.0"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"@stacksjs/actions": "0.42.1",
|
|
58
|
+
"@stacksjs/arrays": "0.42.1",
|
|
59
|
+
"@stacksjs/build": "0.42.1",
|
|
60
|
+
"@stacksjs/cli": "0.42.1",
|
|
61
|
+
"@stacksjs/cloud": "0.42.1",
|
|
62
|
+
"@stacksjs/collections": "0.42.1",
|
|
63
|
+
"@stacksjs/config": "0.42.1",
|
|
64
|
+
"@stacksjs/desktop": "0.42.1",
|
|
65
|
+
"@stacksjs/docs": "0.42.1",
|
|
66
|
+
"@stacksjs/error-handling": "0.42.1",
|
|
67
|
+
"@stacksjs/git": "0.42.1",
|
|
68
|
+
"@stacksjs/lint": "0.42.1",
|
|
69
|
+
"@stacksjs/modules": "0.42.1",
|
|
70
|
+
"@stacksjs/objects": "0.42.1",
|
|
71
|
+
"@stacksjs/path": "0.42.1",
|
|
72
|
+
"@stacksjs/router": "0.42.1",
|
|
73
|
+
"@stacksjs/security": "0.42.1",
|
|
74
|
+
"@stacksjs/server": "0.42.1",
|
|
75
|
+
"@stacksjs/storage": "0.42.1",
|
|
76
|
+
"@stacksjs/strings": "0.42.1",
|
|
77
|
+
"@stacksjs/testing": "0.42.1",
|
|
78
|
+
"@stacksjs/types": "0.42.1",
|
|
79
|
+
"@stacksjs/ui": "0.42.1",
|
|
80
|
+
"@stacksjs/utils": "0.42.1",
|
|
81
|
+
"@stacksjs/x-ray": "0.42.1"
|
|
82
|
+
},
|
|
83
|
+
"devDependencies": {
|
|
84
|
+
"only-allow": "^1.1.1",
|
|
85
|
+
"pnpm": ">=7.17.0",
|
|
86
|
+
"typescript": "^4.9.3"
|
|
87
|
+
},
|
|
88
|
+
"config": {
|
|
89
|
+
"commitizen": {
|
|
90
|
+
"path": "node_modules/cz-git"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"web-types": "./web-types.json",
|
|
94
|
+
"scripts": {
|
|
95
|
+
"buddy": "esno ./src/cli.ts",
|
|
96
|
+
"stacks": "pnpm run buddy",
|
|
97
|
+
"stx": "pnpm run buddy",
|
|
98
|
+
"preinstall": "npx only-allow pnpm",
|
|
99
|
+
"fresh": "pnpm buddy fresh",
|
|
100
|
+
"clean": "pnpm buddy clean",
|
|
101
|
+
"update": "pnpm buddy update",
|
|
102
|
+
"update:dependencies": "pnpm buddy update:dependencies",
|
|
103
|
+
"update:framework": "pnpm buddy update:framework",
|
|
104
|
+
"update:package-manager": "pnpm buddy update:package-manager",
|
|
105
|
+
"update:node": "pnpm buddy update:node",
|
|
106
|
+
"update:all": "pnpm buddy update:all",
|
|
107
|
+
"dev": "pnpm buddy dev",
|
|
108
|
+
"dev:components": "npx vite serve ./components/vue -c ./core/build/src/vue-components.ts",
|
|
109
|
+
"dev:core": "pnpm --filter '../**' --filter '!../buddy/' dev",
|
|
110
|
+
"dev:desktop": "wip",
|
|
111
|
+
"dev:docs": "vitepress dev ../apps/docs",
|
|
112
|
+
"dev:pages": "nitro dev",
|
|
113
|
+
"dev:functions": "pnpm buddy dev:functions",
|
|
114
|
+
"development": "pnpm run dev",
|
|
115
|
+
"build": "pnpm buddy build",
|
|
116
|
+
"build:bin": "pkg .",
|
|
117
|
+
"build:components": "pnpm buddy build:components",
|
|
118
|
+
"build:vue-components": "npx vite build -c ./core/build/src/vue-components.ts",
|
|
119
|
+
"build:web-components": "npx vite build -c ./core/build/src/web-components.ts",
|
|
120
|
+
"build:functions": "npx vite build -c ./core/build/src/functions.ts",
|
|
121
|
+
"build:docs": "npx vitepress build ../apps/docs",
|
|
122
|
+
"build:pages": "npx vite-ssg build ./pages -c ./core/build/src/pages.ts",
|
|
123
|
+
"build:core": "pnpm --filter './core/**' --filter='!./core/config' build && pnpm --filter './core/config' build",
|
|
124
|
+
"build:cli": "npx unbuild",
|
|
125
|
+
"build:runtime": "pnpm run build:cli && pkg .",
|
|
126
|
+
"build:pkg": "pkg dist/cli.cjs --compress Brotli -o dist/pkg/stacks -t latest-macos-x64,latest-win-x64,latest-linux-x64 -d --public-packages \"*\"",
|
|
127
|
+
"build:osx": "caxa --input \"dist\" --output \"dist/caxa/stacks.app\" -- \"{{caxa}}/node_modules/.bin/node\" \"{{caxa}}/index.js\"",
|
|
128
|
+
"build:unix": "caxa --input \"dist\" --output \"stxx\" -- \"{{caxa}}/node_modules/.bin/node\" \"{{caxa}}/index.mjs\"",
|
|
129
|
+
"build:stacks": "npx mkdist -d && pnpm build:cli && pnpm build:core",
|
|
130
|
+
"build:all": "wip",
|
|
131
|
+
"prod": "pnpm run build",
|
|
132
|
+
"prod:components": "pnpm run build:components",
|
|
133
|
+
"prod:vue": "pnpm run prod:vue",
|
|
134
|
+
"prod:web-components": "pnpm run build:web-components",
|
|
135
|
+
"prod:functions": "pnpm run build:functions",
|
|
136
|
+
"prod:docs": "pnpm run build:docs",
|
|
137
|
+
"prod:pages": "pnpm run build:pages",
|
|
138
|
+
"prod:stacks": "pnpm run build:stacks",
|
|
139
|
+
"prod:all": "pnpm run build:all",
|
|
140
|
+
"deploy": "pnpm buddy deploy",
|
|
141
|
+
"deploy:functions": "pnpm buddy deploy:functions",
|
|
142
|
+
"deploy:pages": "pnpm buddy deploy:functions",
|
|
143
|
+
"deploy:docs": "pnpm buddy deploy:docs",
|
|
144
|
+
"deploy:all": "pnpm buddy deploy:all",
|
|
145
|
+
"example": "wip",
|
|
146
|
+
"example:vue": "pnpm run build:components && cd examples/vue && ln -sf ../../components/vue/dist dist && npx vite serve -c ../../core/build/example-vue.ts",
|
|
147
|
+
"example:web-components": "pnpm run build:web-components && cd examples/web && ln -sf ../../components/web/dist dist && npx vite serve -c ../../core/build/example-wc.ts",
|
|
148
|
+
"lint": "eslint ..",
|
|
149
|
+
"lint:fix": "eslint .. --fix",
|
|
150
|
+
"serve": "pnpm buddy serve",
|
|
151
|
+
"serve:pages": "pnpm run dev:pages",
|
|
152
|
+
"serve:functions": "pnpm run dev:functions",
|
|
153
|
+
"make": "pnpm buddy make",
|
|
154
|
+
"make:component": "pnpm buddy make:component",
|
|
155
|
+
"make:function": "pnpm buddy make:function",
|
|
156
|
+
"make:database": "pnpm buddy make:migration",
|
|
157
|
+
"make:migration": "pnpm buddy make:migration",
|
|
158
|
+
"make:factory": "pnpm buddy make:factory",
|
|
159
|
+
"make:lang": "pnpm buddy make:lang",
|
|
160
|
+
"make:stack": "pnpm buddy make:stack",
|
|
161
|
+
"key": "pnpm buddy key",
|
|
162
|
+
"key:generate": "pnpm buddy key:generate",
|
|
163
|
+
"commit": "git cz",
|
|
164
|
+
"release": "esno ./core/actions/src/generate-package-json.ts && pnpm lint:fix && bumpp ../package.json ./package.json ./core/**/package.json ../package.json --execute 'pnpm run changelog' --all",
|
|
165
|
+
"changelog": "cd .. && conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
|
|
166
|
+
"generate": "pnpm buddy generate",
|
|
167
|
+
"generate:entries": "pnpm buddy generate:entries",
|
|
168
|
+
"generate:vue-compat": "esno ./core/actions/src/generate-vue-compat.ts",
|
|
169
|
+
"generate:vscode-custom-data": "esno ./core/actions/src/generate-vscode-custom-data.ts",
|
|
170
|
+
"generate:web-types": "vue-docgen-web-types -c ./core/build/web-types.config.cjs",
|
|
171
|
+
"generate:component-meta": "esno ./core/actions/src/component-meta.ts",
|
|
172
|
+
"generate:ide-helpers": "esno ./core/actions/src/generate-ide-helpers.ts",
|
|
173
|
+
"generate:all": "pnpm buddy generate:all",
|
|
174
|
+
"types:generate": "vue-tsc --declaration --emitDeclarationOnly && esno ./core/actions/src/copy-types.ts",
|
|
175
|
+
"types:fix": "esno actions/src/fix-types.ts",
|
|
176
|
+
"add": "pnpm buddy add",
|
|
177
|
+
"test": "vitest --config vitest.config.ts",
|
|
178
|
+
"test:unit": "wip",
|
|
179
|
+
"test:e2e": "wip",
|
|
180
|
+
"test:coverage": "vitest run --coverage --config vitest.config.ts",
|
|
181
|
+
"test:types": "vue-tsc --noEmit"
|
|
182
|
+
}
|
|
183
|
+
}
|