Code Monkey home page Code Monkey logo

stacks's Introduction

Social Card of Stacks

Rapid App & Library Development

npm version GitHub Actions Commitizen friendly npm downloads

Warning

Stay tuned. Open Beta coming soon.

Stacks is a rapid development framework, where the goal is to help you create & maintain frontends, backends, and clouds—without having to worry about the boilerplate. An all-in-one toolkit that meets all your full stack needs.

  • Web & Desktop Applications (including system tray apps)
  • Serverless & Traditional APIs
  • Cloud Infrastructure Creation & Maintenance
  • Interactive CLIs
  • Framework-agnostic Component & Function Libraries
  • Deployment & Release Manager (CI & CD)

In other words, Stacks helps you, as a developer, every step along the way—in beginner & expert-friendly ways, allowing you to focus on the what & why of your project, all while enabling you to always stay in control & ownership of your (& your user’s) data.

“Convention over configuration” is the Stacks mantra. - Chris

Get Started

It’s incredibly easy to get started with this framework. Simply run the following command in your terminal:

curl -Ssf stacksjs.org/install | sh # wip

# alternatively, if Bun >= v1.1.0 is installed already,
# you may also get started via:
bunx stacks new my-project

Usage

The following list includes some of the most common ways to interact with the Stacks API.

Meet the toolkit, Buddy:

buddy install # installs all dependencies
buddy dev # starts one of the dev servers (frontend, API, components, docs, desktop, etc.)
buddy share # creates a sharable link of your local project
buddy build # follow CLI prompts to select which library (or server) to build
buddy commit # follow CLI prompts for committing changes
buddy release # creates the releases for the stack & consequently, publishes them to npm
buddy upgrade # auto-update all deps & the Stacks framework

buddy make:component HelloWorld # scaffolds a Component
buddy make:function HelloWorld # scaffolds a Function
buddy make:model Car # scaffolds a Model
buddy make:action UpdateCar # scaffolds an Action
buddy make:migration create_cars_table # scaffolds a Migration
buddy make:view Car # scaffolds a Page (https://my-project.test/car)
buddy make:command Inspire # scaffolds a Command
buddy make:job SendEmail # scaffolds a Job
buddy make:middleware Logger # scaffolds a new Middleware
buddy make:notification WelcomeEmail # scaffolds a Notification
buddy make:lang de # scaffolds a language file

buddy list # lists all available commands
buddy --help
View the complete Buddy Toolkit
buddy --version # get the Stacks version
buddy --help # view help menu
# please note: you may suffix any command with the
# `command --help` flag to review the help menu

buddy install # installs dependencies
buddy add # adds a stack or dependency
buddy fresh # fresh reinstall of all deps
buddy clean # removes all deps
buddy setup # sets up the project initially
buddy setup:oh-my-zsh # optional: sets up Oh My Zsh with auto-completions & "aliases"

buddy upgrade # upgrades all dependencies
buddy upgrade -i # prompts you to select which updates to apply (wip)
buddy upgrade:dependencies # auto-upgrades package.json deps
buddy upgrade:framework # auto-upgrades deps & the Stacks framework
buddy upgrade:search-engine # auto-upgrades configured search engine
buddy upgrade:shell # upgrades the shell integration
buddy upgrade:binary # upgrades the `stacks` binary
buddy upgrade:bun # upgrades to latest project-defined Bun version
buddy upgrade:all # auto-upgrades all of the above

# if you need any more info on any command listed here, you may suffix
# any of them via the "help option", i.e. `buddy ... --help`

buddy dev # starts the frontend dev server
buddy dev -i # prompts any of the dev servers (components, functions, views, docs, or api)
buddy dev:api # starts the API dev server
buddy dev:dashboard # starts the Admin/Dashboard dev server
buddy dev:desktop # starts the Desktop dev server
buddy dev:views # starts frontend dev server
buddy dev:components # starts component dev server
buddy dev:functions # stubs functions
buddy dev:docs # starts local docs dev server
buddy dev docs # also starts the local docs dev server (colon is optional for all commands)
buddy development # `buddy dev` alias

buddy share # creates a sharable link to your local project

# for Laravel folks, `serve` may ring more familiar than the `dev` name. Hence, we aliased it:
buddy serve
buddy serve:components
buddy serve:desktop
buddy serve:views
buddy serve:functions
buddy serve:docs

# building for production (e.g. AWS, Google Cloud, npm, Vercel, Netlify, et al.)
buddy build # select a specific build (follow CLI prompts)
buddy build:views # builds SSG views
buddy build:desktop # builds Desktop application
buddy build:library # builds any or all libraries
buddy build:functions # builds function library
buddy build:components # builds Vue component library & Web Component library
buddy build:web-components # builds framework agnostic Web Component library (i.e. Custom Elements)
buddy build:vue-components # builds Vue 2 & 3-ready Component library
buddy build:all # builds all your code

# `buddy build` aliases
buddy prod
buddy prod:components
buddy prod:desktop
buddy prod:library
buddy prod:views
buddy prod:functions
buddy prod:vue-components
buddy prod:web-components
buddy prod:all
buddy production # `buddy prod` alias

# sets your application key
buddy key:generate

buddy make:component HelloWorld # bootstraps a HelloWorld component
buddy make:function hello-world # bootstraps a hello-world function
buddy make:view hello-world # bootstraps a hello-word page
buddy make:model Car # bootstraps a Car model
buddy make:database cars # creates a cars database
buddy make:migration create_cars_table # creates a cars migration file
buddy make:factory cars # creates a Car factory file
buddy make:table cars # bootstraps a cars data table
buddy make:notification welcome-email # bootstraps a welcome-email notification
buddy make:lang de # bootstraps a lang/de.yml language file
buddy make:stack my-project # shares logic with `bunx stacks new my-project`

buddy migrate # runs database migrations
buddy migrate:dns # sets the ./config/dns.ts file

buddy dns example.com # list all DNS records for example.com
buddy dns example.com --type MX # list MX records for example.com (proxies dog)

buddy https httpie.io/hello
# http [flags] [METHOD] URL [ITEM [ITEM]]
buddy http --help
buddy http PUT pie.dev/put X-API-Token:123 name=John # Custom HTTP method, HTTP headers and JSON data
buddy http -v pie.dev/get # See the request that is being sent using one of the output options
buddy http -f POST pie.dev/post hello=World # submitting forms
buddy http --offline pie.dev/post hello=offline
buddy http -a USERNAME POST https://api.github.com/repos/httpie/cli/issues/83/comments body='HTTPie is awesome! :heart:'
buddy http pie.dev/post < files/data.json
buddy http pie.dev/image/png > image.png
buddy http --download pie.dev/image/png
buddy http --session=logged-in -a username:password pie.dev/get API-Key:123
buddy http --session=logged-in pie.dev/headers
buddy http localhost:8000 Host:example.com

buddy lint # runs linter
buddy lint:fix # runs linter and fixes issues

buddy commit # follow CLI prompts for committing staged changes
buddy release # creates the releases for the stack & triggers the Release Action (workflow)
buddy changelog # generates CHANGELOG.md

# when deploying your app/s to a remote server or cloud provider
buddy deploy # select a specific deployment (follow CLI prompts)
# buddy deploy:docs # deploys docs to AWS (or other configured provider)
# buddy deploy:functions # deploys functions to AWS (or other configured provider)
# buddy deploy:views # deploys views to AWS (or other configured provider)
# buddy deploy:all # deploys all your code
buddy undeploy # be careful: "undeploys" removes/deletes your deployed resources

buddy cloud:remove # removes cloud setup
buddy cloud:cleanup # removes cloud setup & cleans up all potentially leftover resources
buddy cloud:add --jump-box # adds a jump box to your cloud setup

# select the example to run (follow CLI prompts)
buddy example # prompts you to select which example to run
buddy example:vue # runs the Vue example
buddy example:web-components # runs the Web Component example

# you likely won’t need to run these commands as they are auto-triggered, but they are available
buddy generate  # prompts you to select which generator to run
buddy generate:types # generates types for your components, functions, & views
buddy generate:entries # generates entry files for components, functions, & views
buddy generate:web-types # generates Web Component types
buddy generate:vscode-custom-data # generates VSCode custom data
buddy generate:ide-helpers # generates IDE helpers
buddy generate:component-meta # generates component meta
buddy generate:all # runs all generators

# generates your application key
buddy key:generate # generates your application key

# generate your TypeScript declarations
buddy types:generate # generates types for your components, functions, & views
buddy types:fix # auto-fixes types for your components, functions, & views

buddy domains # alias for `buddy domains:list`
buddy domains:add stacksjs.org # adds a domain
buddy domains:remove stacksjs.org # removes a domain
buddy domains:list # lists all domains
buddy domains:update # apply ./config/dns.ts updates
buddy domains:purchase stacksjs.org # purchase a new domain

# test your stack
buddy test # runs test suite (unit & e2e)
buddy test:coverage # runs test coverage
buddy test:types # runs typecheck

# the CLI may be triggered in any
# of the following syntax:
stx fresh
buddy fresh
bud fresh

Read more here about the Stacks CLI in the documentation.

Features

The Stacks framework is a harmony of several “engines” to build any web and/or desktop application, in highly scalable & privacy-friendly ways. It consists of the following engines:

Frontend Development

Develop dynamic UIs with helpers for atomic design, and much more.

  • 🧩 Components primitive to develop user interfaces
  • 🤖 Functions primitive to develop business logic (and grant your UI superpowers)
  • 🎨 UI Kit modern & deeply-integrated components
  • 🌐 Web “a routing & templating engine that makes sense”
  • 🖥️ Desktop transforms your web app into a desktop app, plus more
  • 📝 Documentation markdown-based documentation, auto-generated
  • 📚 Library auto-builds & manages component & function libraries
  • ⚡️ Powered by Bun, Nitro, Tauri, UnoCSS, Vite & Vue

Backend Development

Develop serverless (or server) functions with countless helpers to build scalable & fast APIs.

  • 🪄 AI deep AI integrations & foundational model access
  • 🤖 APIs scalability & maintainability built-in
  • 🏎️ Cache unified caching for DynamoDB, Redis and more
  • ⚙️ CLIs create beautiful CLIs for Linux, Windows, and Mac (dependency-free binaries)
  • 📀 Database DynamoDB, SQLite, MySQL, Postgres, and more
  • 👾 Errors native type-safe error handling
  • 🗓️ Events functional event (front & backend) communication
  • 📢 Notifications emails, SMSs, direct, and push notifications & webhooks
  • 🗺️ ORM automated schemas for scale & a pretty API
  • 💳 Payments unified API for one-off & subscription billing methods for Stripe
  • ⚙️ Queues run any heavy workload in the background
  • 🛠️ Query Builder powerful, type-safe SQL query builder
  • 💬 Realtime “everything you need to build dynamic real-time apps”
  • 🧭 Router smart routing, file-based or Laravel-like
  • 🔎 Search Engine smart searching, advanced filtering & sorting, pagination, headless UI
  • 💾 Storage a secure-by-default File API that feels right
  • 🧪 Tinker a powerful TypeScript REPL
  • 🌪️ Validation e2e type-safety (true frontend & backend harmony)
  • 🎯 X-Ray all you need to debug, log & analyze

Cloud Development

Develop & maintain cloud infrastructure with ease. “Imagine Vercel, Vapor and Forge having been unified.”

  • ☁️ Server local development server & production-ready servers out-of-the-box
  • ⛅️ Serverless on-demand, auto-scaling, zero maintenance
  • Alarms built-in cloud infrastructure monitoring to avoid surprises
  • 🚏 CDN zero-config, low-latency, request life-cycle hooks, optimized request compressions (Brotli & gzip)
  • 🔀 Domain version-controlled & zero-config domain management (e.g. DNS management)
  • 🤖 AI fine-tune a foundational model using your application data
  • 📧 Email secure & zero-setup [email protected] mailboxes
  • 🔐 Firewall native web application firewall support
  • 📦 Storage unlimited cloud storage & automatic backups
  • 🚜 Maintenance maintain your cloud infrastructure with ease using Buddy & Stacks
  • 🚦 Infrastructure as Code version-controlled cloud infrastructure (AWS, Google next?)

CI/CD

Focus on coding, not publishing.

  • 🚀 Deployment Manager takes the sweat out of production deployments—zero-setup push-to-deploy
  • 0️⃣ Zero Downtime deploy with confidence using a zero-downtime deployment strategy
  • 📫 Release Manager libraries (component & function) auto-published to npm, git helpers, and more

Developer Experience (DX)

Convention over configuration, while staying wholly configurable. No more boilerplate.

  • 💎 Automated Upgrades no need to worry about upgrading to the latest versions, Stacks upgrades you
  • 🦋 Pretty Dev URLs your-project.localhost instead of localhost:3000
  • 💡 IDE Integration auto-completions, inline docs & a powerful VS Code setup
  • 🪄 Zero-Config yet highly configurable—convention over configuration
  • 💅 Linter & Formatter auto-configured & built into your IDE
  • 💪🏼 Type Strong built-in e2e type-safety
  • Git Workflows committing with ease
  • 🚗 Auto Imports your components & functions, including date, string, array, & object helpers
  • Code Snippets goodbye to the boilerplate code—thank you Sarah Drasner
  • 🔤 Spell Checker be notified once there are typos
  • 🛠️ Essential Utilities powers at your fingertips. Collections, VueUse, and more
  • 👥 Team Management manage your team & their permissions
  • 🧪 Streamlined Testing unit & e2e tests powered by Bun, Vitest & Playwright

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.

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 ✌🏼

An actual rapid application development framework for all Full Stack needs. Next-level simplicity & DX.

Testing

./buddy test

Changelog

Please see our releases page for more information on what has changed recently.

Contributing

Please see the Contributing Guide for details.

Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

Discussions on GitHub

For casual chit-chat with others using this package:

Join the Stacks Discord Server

Postcardware

Stacks OSS will always stay open-sourced, and we will always love to receive postcards from wherever Stacks is used! And we also publish them on our website. Thank you, Spatie.

Our address: Stacks.js, 5710 Crescent Park #107, Playa Vista 90094, CA, USA 🌎

Sponsors

We would like to extend our thanks to the following sponsors for funding Stacks development. If you are interested in becoming a sponsor, please reach out to us.

Credits

And a special thanks to Dan Scanlon for donating the stacks name on npm ✨

License

The MIT License (MIT). Please see LICENSE for more information.

Made with 💙

stacks's People

Contributors

actions-user avatar blakeayer avatar brianzzzasd avatar chrisbbreuer avatar dorelljames avatar freb97 avatar glennmichael123 avatar konkonam avatar renovate[bot] avatar runstylex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

stacks's Issues

Roadmap to v1.0 — Silicon Beach 🏝

Silicon Beach 🏝

If you want to see our whole v1.0 roadmap, including the actionable items, check out the projects here.

The Stacks Toolkit

Buddy, the Stacks CLI, is designed to help navigate you. The following commands are your helper & guide to the framework.

buddy --version # get the Stacks version
buddy --help # view help menu
# please note: you may suffix any command with the
# `command --help` flag to review the help menu

buddy install # installs your dependencies
buddy fresh # fresh reinstall of all deps
buddy clean # removes all your deps

buddy update # auto-update deps & the Stacks framework
buddy update:dependencies # auto-update deps & the Stacks framework
buddy update:framework # auto-update deps & the Stacks framework
buddy update:package-manager # auto-update deps & the Stacks framework
buddy update:search-engine # auto-updates Meilisearch
buddy update:node # update to latest project-defined node version
buddy update:all # update Node, package manager, framework, dependencies

# if you need any more info on any command listed here, you may suffix
# any of them via the "help option", i.e. `buddy ... --help`

buddy dev # start one of the dev servers (components, functions, pages, or docs)
buddy dev:components # start local playground dev server
buddy dev:desktop # starts the Desktop playground
buddy dev:pages # start local playground pages dev server
buddy dev:functions # stub local the functions
buddy dev:docs # start local docs dev server
buddy development # `buddy dev` alias

# for Laravel users, `serve` may be a more familiar command. Hence, we aliased it:
buddy serve
buddy serve:components
buddy serve:pages
buddy serve:functions
buddy serve:docs

# building for production (e.g. AWS, Google Cloud, npm, Vercel, Netlify, et al.)
buddy build # select a specific build (follow CLI prompts)
buddy build:desktop # build Desktop app
buddy build:components # build Vue component library & Web Component library
buddy build:vue-components # build Vue 2 & 3-ready Component library
buddy build:web-components # build framework agnostic Web Component library (i.e. Custom Elements)
buddy build:functions # build function library
buddy build:pages # build SSG pages
buddy build:all # build all your code

# `buddy build` aliases
buddy prod
buddy prod:components
buddy prod:vue-components
buddy prod:web-components
buddy prod:functions
buddy prod:pages
buddy prod:all
buddy production # `buddy prod` alias

# sets your application key
buddy key:generate

buddy make:stack project
buddy make:component HelloWorld
buddy make:function hello-world
buddy make:page hello-world
buddy make:lang de
buddy make:notification welcome-email
buddy make:database cars
buddy make:table brands
buddy make:migration create_cars_table
buddy make:factory cars
buddy make:seed cars

buddy lint # runs linter
buddy lint:fix # runs linter and fixes issues

buddy commit # follow CLI prompts for committing staged changes
buddy release # creates the releases for the stack & triggers the Release Action (workflow)
buddy changelog # generates CHANGELOG.md

# when deploying your app/s to a remote server or cloud provider
buddy deploy
buddy deploy:docs
buddy deploy:functions
buddy deploy:pages
buddy deploy:all

# select the example to run (follow CLI prompts)
buddy example
buddy example:vue
buddy example:web-components

# you likely won't need to run these commands as they are auto-triggered, but they are available
buddy generate
buddy generate:entries
buddy generate:vue-compat
buddy generate:web-types
buddy generate:vscode-custom-data
buddy generate:ide-helpers
buddy generate:component-meta
buddy generate:all

# generates your application key
buddy key:generate

# generate your TypeScript declarations
buddy types:generate
buddy types:fix

# test your stack
buddy test # runs test suite
buddy test:unit # runs unit tests
buddy test:e2e # runs e2e tests
buddy test:coverage # runs test coverage
buddy test:types # runs typecheck

# optional: the CLI may be triggered in any
# of the following syntax:
stx fresh
buddy fresh
bud fresh
buddy fresh
pnpm stx fresh
pnpm buddy fresh
pnpm buddy fresh
pnpm fresh
pnpm run fresh
pnpm run buddy fresh

Buddy is friendly but he may bark with notes

In a few releases, Stacks will be beta-ready. Before then, Stacks will have official documentation launched.

Much more to come/to be documented!

Stay tuned.

Custom eslint config

Please describe the feature

extend antfu's and add a few additional goodies. (e.g. ensure eslintignore is not needed anymore, etc.)

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Error type: Cannot find preset's package (@OW3)

Simplify theming

Please describe the feature

in simple terms: expose unocss config

Add `/pages` engine

Please describe the feature

In order to make use of the components & functions created through this framework, let's add a new top-level folder /pages (or views?)

Powered by the nitro engine, including an auto-routing engine, we can allow for SSR-rendered pages. (and PWAs)

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Repository problems

These problems occurred while renovating this repository. View logs.

  • WARN: Using npm packages for Renovate presets is now deprecated. Please migrate to repository-based presets instead.

This repository currently has no open or pending branches.

Detected dependencies

bun
package.json
  • @antfu/eslint-config ^2.16.1
  • eslint ^9.1.1
cargo
storage/framework/views/dashboard/src-tauri/Cargo.toml
  • serde_json 1.0.116
  • serde 1.0.200
  • tauri 1.6.2
  • tauri-build 1.5.1
storage/framework/views/desktop/src-tauri/Cargo.toml
  • serde_json 1.0.116
  • serde 1.0.200
  • tauri 1.6.2
  • tauri-build 1.5.1
dockerfile
storage/framework/server/Dockerfile
  • oven/bun 1
github-actions
.github/workflows/ci.yml
  • actions/checkout v4
  • biomejs/setup-biome v2
  • actions/checkout v4
  • oven-sh/setup-bun v1
  • actions/cache v4
  • actions/checkout v4
  • oven-sh/setup-bun v1
  • actions/cache v4
  • actions/checkout v4
  • actions/checkout v4
  • oven-sh/setup-bun v1
  • actions/cache v4
  • actions/checkout v4
  • oven-sh/setup-bun v1
  • actions/cache v4
  • actions/checkout v4
  • oven-sh/setup-bun v1
  • actions/cache v4
.github/workflows/export-size.yml
  • actions/checkout v4
  • oven-sh/setup-bun v1
.github/workflows/labeler.yml
  • actions/labeler v5
.github/workflows/release.yml
  • actions/checkout v4
  • actions/setup-node v4
  • oven-sh/setup-bun v1
  • actions/cache v4
npm
storage/framework/api/package.json
  • aws4fetch ^1.0.18
storage/framework/cloud/package.json
  • @aws-sdk/client-bedrock ^3.567.0
  • @aws-sdk/client-cloudformation ^3.567.0
  • @aws-sdk/client-cloudfront ^3.567.0
  • @aws-sdk/client-cloudwatch-logs ^3.567.0
  • @aws-sdk/client-dynamodb 3.567.0
  • @aws-sdk/client-ec2 ^3.567.0
  • @aws-sdk/client-efs ^3.567.0
  • @aws-sdk/client-iam ^3.567.0
  • @aws-sdk/client-lambda ^3.567.0
  • @aws-sdk/client-route-53-domains ^3.567.0
  • @aws-sdk/client-s3 ^3.567.0
  • @aws-sdk/client-ses ^3.567.0
  • @aws-sdk/client-sesv2 ^3.567.0
  • @aws-sdk/client-ssm ^3.567.0
  • aws-cdk ^2.139.1
  • aws-cdk-lib ^2.139.1
  • aws4fetch ^1.0.18
  • constructs ^10.3.0
  • source-map-support ^0.5.21
  • @aws-sdk/client-bedrock ^3.567.0
  • @aws-sdk/client-cloudformation ^3.567.0
  • @aws-sdk/client-cloudfront ^3.567.0
  • @aws-sdk/client-cloudwatch-logs ^3.567.0
  • @aws-sdk/client-ec2 ^3.567.0
  • @aws-sdk/client-efs ^3.567.0
  • @aws-sdk/client-iam ^3.567.0
  • @aws-sdk/client-lambda ^3.567.0
  • @aws-sdk/client-route-53-domains ^3.567.0
  • @aws-sdk/client-s3 ^3.567.0
  • @aws-sdk/client-ses ^3.567.0
  • @aws-sdk/client-sesv2 ^3.567.0
  • @aws-sdk/client-ssm ^3.567.0
storage/framework/core/actions/package.json
  • markdown-it ^14.1.0
  • vue-component-meta ^2.0.16
  • markdown-it ^14.1.0
  • vue-component-meta ^2.0.16
storage/framework/core/ai/package.json
  • @aws-sdk/client-bedrock-runtime ^3.567.0
  • @aws-sdk/client-bedrock-runtime ^3.567.0
storage/framework/core/alias/package.json
storage/framework/core/analytics/package.json
storage/framework/core/api/package.json
  • ofetch ^1.3.4
storage/framework/core/arrays/package.json
storage/framework/core/auth/package.json
storage/framework/core/buddy/package.json
storage/framework/core/build/package.json
  • bun-plugin-dts-auto ^0.11.1
  • vue-docgen-web-types ^0.1.8
  • @types/babel__generator ^7.6.8
  • @types/babel__traverse ^7.20.5
  • bun-plugin-dts-auto ^0.11.1
  • vue-docgen-web-types ^0.1.8
storage/framework/core/bun-create/bud/package.json
storage/framework/core/bun-create/buddy/package.json
storage/framework/core/bun-create/stack/package.json
storage/framework/core/bun-create/stacks/package.json
storage/framework/core/bun-create/stx/package.json
storage/framework/core/cache/package.json
  • @aws-sdk/client-dynamodb ^3.567.0
  • @aws-sdk/client-dynamodb ^3.567.0
storage/framework/core/chat/package.json
storage/framework/core/cli/package.json
  • @antfu/install-pkg ^0.3.3
  • @clack/prompts ^0.7.0
  • @types/prompts ^2.4.9
  • cac ^6.7.14
  • kolorist 1.8.0
  • ora ^8.0.1
  • prompts ^2.4.2
  • @antfu/install-pkg ^0.3.3
  • @clack/prompts ^0.7.0
  • @types/prompts ^2.4.9
  • cac ^6.7.14
  • ora ^8.0.1
  • prompts ^2.4.2
storage/framework/core/cloud/package.json
  • @aws-sdk/client-bedrock ^3.567.0
  • @aws-sdk/client-cloudformation ^3.567.0
  • @aws-sdk/client-cloudfront ^3.567.0
  • @aws-sdk/client-cloudwatch-logs ^3.567.0
  • @aws-sdk/client-dynamodb 3.567.0
  • @aws-sdk/client-ec2 ^3.567.0
  • @aws-sdk/client-efs ^3.567.0
  • @aws-sdk/client-iam ^3.567.0
  • @aws-sdk/client-lambda ^3.567.0
  • @aws-sdk/client-route-53-domains ^3.567.0
  • @aws-sdk/client-s3 ^3.567.0
  • @aws-sdk/client-ses ^3.567.0
  • @aws-sdk/client-sesv2 ^3.567.0
  • @aws-sdk/client-ssm ^3.567.0
  • aws-cdk ^2.139.1
  • aws-cdk-lib ^2.139.1
  • aws4fetch ^1.0.18
  • constructs ^10.3.0
  • source-map-support ^0.5.21
  • @aws-sdk/client-bedrock ^3.567.0
  • @aws-sdk/client-cloudformation ^3.567.0
  • @aws-sdk/client-cloudfront ^3.567.0
  • @aws-sdk/client-cloudwatch-logs ^3.567.0
  • @aws-sdk/client-ec2 ^3.567.0
  • @aws-sdk/client-efs ^3.567.0
  • @aws-sdk/client-iam ^3.567.0
  • @aws-sdk/client-lambda ^3.567.0
  • @aws-sdk/client-route-53-domains ^3.567.0
  • @aws-sdk/client-s3 ^3.567.0
  • @aws-sdk/client-ses ^3.567.0
  • @aws-sdk/client-sesv2 ^3.567.0
  • @aws-sdk/client-ssm ^3.567.0
storage/framework/core/cloud/src/cloud/aws-sdk-layer/nodejs/package.json
  • aws-sdk ^2.1611.0
storage/framework/core/cloud/src/cloud/router-layer/nodejs/package.json
  • @stacksjs/router ^0.59.11
storage/framework/core/collections/package.json
  • collect.js ^4.36.1
storage/framework/core/components/command-palette/package.json
  • vue ^3.4.26
  • @vitejs/plugin-vue ^5.0.4
  • vite ^5.2.10
storage/framework/core/components/modal/package.json
storage/framework/core/components/notification/package.json
  • highlight.js ^11.9.0
  • vue ^3.4.26
  • vue-sonner ^1.1.2
  • @microsoft/api-extractor ^7.43.1
  • @types/clean-css ^4.2.11
  • @vue/tsconfig ^0.5.1
  • clean-css ^5.3.3
  • unplugin-icons ^0.19.0
storage/framework/core/components/stepper/package.json
storage/framework/core/components/table/package.json
  • @vueform/multiselect ^2.6.7
  • vite ^5.2.10
  • meilisearch ^0.38.0
storage/framework/core/config/package.json
storage/framework/core/database/package.json
  • kysely-bun-worker ^0.6.0
  • @types/tar ^6.1.13
  • debug ^4.3.4
  • mkdirp ^3.0.1
  • q ^1.5.1
  • tar ^7.0.1
  • mysql2 ^3.9.7
  • kysely-bun-worker ^0.6.0
storage/framework/core/datetime/package.json
  • @formkit/tempo ^0.1.1
storage/framework/core/desktop/package.json
  • @tauri-apps/api ^1.5.4
  • @tauri-apps/cli ^1.5.12
  • unified-network ^0.6.4
  • unstorage ^1.10.2
  • vue ^3.4.26
  • @tauri-apps/api ^1.5.4
  • @tauri-apps/cli ^1.5.12
  • unified-network ^0.6.4
  • unstorage ^1.10.2
  • vue ^3.4.26
storage/framework/core/development/package.json
  • typescript ^5.4.5
  • @total-typescript/ts-reset ^0.5.1
  • bun-plugin-dts-auto ^0.11.1
  • bun-plugin-dts-auto ^0.11.1
  • typescript ^5.4.5
storage/framework/core/dns/package.json
  • @aws-sdk/client-route-53 ^3.567.0
  • aws-cdk-lib ^2.139.1
  • aws-cdk-lib ^2.139.1
  • @aws-sdk/client-route-53 ^3.567.0
  • @aws-sdk/client-route-53-domains ^3.567.0
  • aws-cdk-lib ^2.139.1
storage/framework/core/docs/package.json
  • vitepress 1.1.4
  • vitepress-plugin-twoslash ^0.10.2
  • @vite-pwa/vitepress ^0.5.0
  • vitepress 1.1.4
  • vitepress-plugin-twoslash ^0.10.2
storage/framework/core/email/package.json
  • aws-sdk ^2.1611.0
  • vue-email ^0.8.11
storage/framework/core/enums/package.json
storage/framework/core/env/package.json
  • fs-extra ^11.2.0
  • std-env ^3.7.0
storage/framework/core/error-handling/package.json
  • neverthrow ^6.2.1
storage/framework/core/events/package.json
storage/framework/core/faker/package.json
  • @faker-js/faker ^8.4.1
storage/framework/core/git/package.json
  • bumpp ^9.4.1
  • changelogen ^0.5.5
  • commitizen ^4.3.0
  • cz-git ^1.9.1
  • giget ^1.2.3
  • simple-git-hooks ^2.11.1
  • bumpp ^9.4.1
  • changelogen ^0.5.5
  • commitizen ^4.3.0
  • cz-git ^1.9.1
  • giget ^1.2.3
  • simple-git-hooks ^2.11.1
storage/framework/core/health/package.json
storage/framework/core/http/package.json
storage/framework/core/lint/package.json
  • @biomejs/biome ^1.7.2
  • @commitlint/cli ^19.3.0
  • lint-staged ^15.2.2
  • publint ^0.2.7
  • @biomejs/biome ^1.7.2
  • @commitlint/cli ^19.3.0
  • lint-staged ^15.2.2
  • publint ^0.2.7
storage/framework/core/logging/package.json
  • consola ^3.2.3
  • typescript ^5.4.5
storage/framework/core/notifications/package.json
storage/framework/core/objects/package.json
storage/framework/core/orm/package.json
storage/framework/core/package.json
storage/framework/core/path/package.json
storage/framework/core/payments/package.json
  • @stripe/stripe-js ^3.3.0
  • stripe ^15.4.0
storage/framework/core/push/package.json
storage/framework/core/query-builder/package.json
  • kysely ^0.27.3
  • kysely-bun-worker ^0.6.0
  • mysql2 ^3.9.7
  • pg ^8.11.5
  • @types/pg ^8.11.5
  • kysely ^0.27.3
storage/framework/core/queue/package.json
storage/framework/core/raycast/package.json
storage/framework/core/realtime/package.json
storage/framework/core/repl/package.json
storage/framework/core/router/package.json
  • unplugin-vue-router ^0.8.6
  • vue-router ^4.3.2
  • unplugin-vue-router ^0.8.6
  • vue-router ^4.3.2
storage/framework/core/scheduler/package.json
  • luxon ^3.4.4
  • @fast-check/jest ^1.8.1
  • @types/luxon ^3.4.2
  • @types/sinon ^17.0.3
  • sinon ^17.0.1
  • luxon ^3.4.4
storage/framework/core/search-engine/package.json
  • @opensearch-project/opensearch ^2.7.0
  • meilisearch ^0.38.0
storage/framework/core/security/package.json
  • crypto-js ^4.2.0
  • js-base64 ^3.7.7
storage/framework/core/server/package.json
  • vite ^5.2.10
storage/framework/core/shell/package.json
storage/framework/core/slug/package.json
storage/framework/core/sms/package.json
storage/framework/core/storage/package.json
  • @types/archiver ^6.0.2
  • archiver ^7.0.1
  • fast-glob ^3.3.2
  • fs-extra ^11.2.0
  • unstorage ^1.10.2
  • @types/archiver ^6.0.2
  • archiver ^7.0.1
storage/framework/core/strings/package.json
  • change-case ^5.4.4
  • detect-indent ^7.0.1
  • detect-newline ^4.0.1
  • macroable ^7.0.2
  • pluralize ^8.0.0
  • slugify ^1.6.6
  • string-ts ^2.1.1
  • title-case ^4.3.1
  • validator ^13.11.0
  • @types/pluralize ^0.0.33
  • @types/validator ^13.11.9
storage/framework/core/testing/package.json
  • @playwright/test ^1.43.1
  • @playwright/test ^1.43.1
storage/framework/core/tinker/package.json
storage/framework/core/tunnel/package.json
storage/framework/core/types/package.json
  • @mdit-vue/plugin-component ^2.1.2
  • @mdit-vue/plugin-frontmatter ^2.1.2
  • @mdit-vue/types ^2.1.0
  • @rollup/pluginutils ^5.1.0
  • @types/aws4 ^1.11.6
  • @types/bun ^1.1.1
  • @types/crypto-js ^4.2.2
  • @types/fs-extra ^11.0.4
  • @types/markdown-it-link-attributes ^3.0.5
  • @types/minimatch ^5.1.2
  • @types/nprogress ^0.2.3
  • @vinejs/vine ^2.0.0
  • cac ^6.7.14
  • markdown-it ^14.1.0
  • meilisearch ^0.38.0
  • neverthrow ^6.2.1
  • ora ^8.0.1
  • unocss ^0.59.4
  • unplugin-auto-import ^0.17.5
  • unplugin-vue-components ^0.27.0
  • vite ^5.2.10
  • vite-plugin-inspect ^0.8.4
  • vite-plugin-pwa ^0.20.0
  • vite-ssg ^0.23.7
  • vitepress 1.1.4
  • vue ^3.4.26
  • aws-cdk-lib ^2.139.1
  • typescript ^5.4.5
  • neverthrow ^6.2.1
storage/framework/core/ui/package.json
  • @headlessui/vue ^1.7.21
  • @iconify-json/heroicons ^1.1.21
  • @iconify-json/heroicons-outline ^1.1.10
  • @iconify-json/heroicons-solid ^1.1.11
  • @iconify/json ^2.2.205
  • @julr/unocss-preset-forms ^0.1.0
  • @unhead/vue ^1.9.8
  • pinia ^2.1.7
  • unhead ^1.9.8
  • unocss ^0.59.4
  • unocss-preset-primitives 0.0.2-beta.0
  • vite-plugin-vue-layouts ^0.11.0
  • vue ^3.4.26
  • vue-tsc ^2.0.16
  • @headlessui/vue ^1.7.21
  • pinia ^2.1.7
  • unocss ^0.59.4
  • vite-plugin-vue-layouts ^0.11.0
  • vue ^3.4.26
  • vue-tsc ^2.0.16
storage/framework/core/utils/package.json
  • @dinero.js/currencies 2.0.0-alpha.14
  • @vueuse/core ^10.9.0
  • @vueuse/head ^2.0.0
  • @vueuse/math ^10.9.0
  • @vueuse/shared ^10.9.0
  • bun-plugin-env ^0.4.1
  • bun-plugin-yml ^0.3.1
  • defu ^6.1.4
  • detect-indent ^7.0.1
  • detect-newline ^4.0.1
  • dinero.js 2.0.0-alpha.14
  • export-size ^0.7.0
  • js-yaml ^4.1.0
  • kolorist 1.8.0
  • macroable ^7.0.2
  • magic-regexp ^0.8.0
  • perfect-debounce ^1.0.0
  • pretty-bytes ^6.1.1
  • yaml ^2.4.2
  • @types/js-yaml ^4.0.9
  • markdown-table ^3.0.3
  • vue-starport ^0.4.0
  • @types/js-yaml ^4.0.9
  • @vueuse/core ^10.9.0
  • @vueuse/head ^2.0.0
  • @vueuse/math ^10.9.0
  • @vueuse/shared ^10.9.0
  • bun-plugin-env ^0.4.1
  • bun-plugin-yml ^0.3.1
  • export-size ^0.7.0
  • yaml ^2.4.2
storage/framework/core/validation/package.json
  • @vinejs/vine ^2.0.0
  • @vinejs/vine ^2.0.0
storage/framework/core/vite-config/package.json
  • @vitejs/plugin-vue ^5.0.4
  • markdown-it-link-attributes ^4.0.1
  • markdown-it-shiki ^0.9.0
  • unplugin-auto-import ^0.17.5
  • unplugin-vue-components ^0.27.0
  • vite ^5.2.10
  • vite-plugin-full-reload ^1.1.0
  • vite-plugin-inspect ^0.8.4
  • vite-plugin-pages ^0.32.1
  • vite-plugin-pwa ^0.20.0
  • vite-plugin-vue-markdown ^0.23.8
  • vite-ssg ^0.23.7
  • vite-ssg-sitemap ^0.6.1
storage/framework/core/vite-plugin/package.json
  • @vitejs/plugin-vue ^5.0.4
  • markdown-it-link-attributes ^4.0.1
  • markdown-it-shiki ^0.9.0
  • unplugin-auto-import ^0.17.5
  • unplugin-vue-components ^0.27.0
  • vite ^5.2.10
  • vite-plugin-full-reload ^1.1.0
  • vite-plugin-inspect ^0.8.4
  • vite-plugin-pages ^0.32.1
  • vite-plugin-pwa ^0.20.0
  • vite-plugin-vue-markdown ^0.23.8
  • vite-ssg ^0.23.7
  • vite-ssg-sitemap ^0.6.1
storage/framework/core/whois/package.json
  • node-fetch ^3.3.2
  • socks ^2.8.3
  • node-fetch ^3.3.2
  • socks ^2.8.3
storage/framework/core/x-ray/package.json
storage/framework/docs/package.json
  • vitepress 1.1.4
storage/framework/email/package.json
  • @vue-email/compiler ^0.8.14
storage/framework/ide/vscode/package.json
  • @vscode/vsce ^2.26.0
storage/framework/libs/components/vue/package.json
storage/framework/libs/components/web/package.json
storage/framework/libs/functions/package.json
storage/framework/package.json
storage/framework/server/package.json
  • aws4fetch ^1.0.18
storage/framework/system-tray/package.json
storage/framework/views/dashboard/package.json
storage/framework/views/desktop/package.json
storage/framework/views/web/package.json
  • @unhead/vue ^1.9.8
  • @unocss/reset ^0.59.4
  • @vueuse/core ^10.9.0
  • @vueuse/head ^2.0.0
  • nprogress ^0.2.0
  • pinia ^2.1.7
  • vue ^3.4.26
  • vue-i18n ^9.13.1
  • vue-router ^4.3.2
  • @iconify-json/carbon ^1.1.32
  • @intlify/unplugin-vue-i18n ^4.0.0
  • @types/markdown-it-link-attributes ^3.0.5
  • @types/nprogress ^0.2.3
  • @vitejs/plugin-vue ^5.0.4
  • @vue-macros/volar ^0.18.18
  • @vue/test-utils ^2.4.5
  • critters ^0.0.22
  • markdown-it-link-attributes ^4.0.1
  • markdown-it-shikiji ^0.10.2
  • rollup ^4.17.2
  • shikiji ^0.10.2
  • taze ^0.13.8
  • unocss ^0.59.4
  • unplugin-auto-import ^0.17.5
  • unplugin-vue-components ^0.27.0
  • unplugin-vue-macros ^2.9.1
  • unplugin-vue-markdown ^0.26.2
  • unplugin-vue-router ^0.8.6
  • vite ^5.2.10
  • vite-bundle-visualizer ^1.1.0
  • vite-plugin-inspect ^0.8.4
  • vite-plugin-pwa ^0.20.0
  • vite-plugin-vue-devtools ^7.1.3
  • vite-plugin-vue-layouts ^0.11.0
  • vite-plugin-webfont-dl ^3.9.4
  • vite-ssg ^0.23.7
  • vite-ssg-sitemap ^0.6.1
  • vue-tsc ^2.0.16

  • Check this box to trigger a request for Renovate to run again on this repository

Refactor core

Please describe the feature

ultimately, this will create a much cleaner framework structure. Can't wait to share.

Create Stacks CLI

Please describe the feature

As part of this feature, the root folder will require @ow3/stacks from the workspace—which results in the the root losing a lot of "weight."

Right now, I am still figuring out the name: stx build or stacks build?

I am leaning towards the former.

Simplify initial setup

pnpm run setup

We want to provide a script a la pnpm run setup to bootstrap the initial development setup even more.

CLI should ask for:

  • What's the name of the stack (library) going to be? e.g. table
  • What's the name of the author?
  • Which framework core should be used?
    • Vue
    • petite-vue
    • potential for other drivers? (e.g. React)
  • Which icon sets should be installed?
    • Heroicons
    • ...
  • Which testing frameworks should be bootstrapped?
    • Cypress
    • Vitest
  • Which "story framework" should be bootstrapped?
    • Histoire
    • Vitebook
  • Which documentation framework should be used?
    • Vitebook
    • Docus
    • Vitepress

possibly more.

It should also check whether node & pnpm are installed.

(Check spaties skeleton templates for potential ideas)

Use unbuild to build the Vue & Web Component libraries

Please describe the feature

Let's also compare final builds, just to ensure we are doing something worthwhile.

Overall, it seems like a good, zero-config type of direction—especially for component libraries.

Unfortunately, I have struggled with the implementation so far. I feel like I am doing something wrong. The error I encountered when building via unbuild was "Note that you need plugins to import files that are not JavaScript." (IIRC)

Help would be greatly appreciated!

Add a glossary to the docs

Please describe the feature

Explain:

  • Stack
  • Composability-First
  • Atomic-First

and anything else we could think of.

Remove `packages/elements/src/components`

Please describe the feature

We could technically remove it and reuse the Vue component—if we keep in mind that we may not use scoped slots. This isn't much of an issue as this is one of the reasons the framework was created.

The question I am still seeking an answer to: would there ever be a scenario where a web component != Vue component? In other words, would there ever be a web component that behaved differently from the relating Vue component?

Will keep exploring this and share updates here as I have any 🤙🏼

Laravel Integration

Please describe the feature

Create an integration via Vite

Installable via:

composer install laravel-stacks
php artisan make:stack HelloWorld

Or via

pnpm install @ow3/stacks-laravel
npx artisan make:stack hello-world

Ensure stubs work

Package version

latest

Browser & OS

all

Description

...

Steps to reproduce

...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.