├── .editorconfig
├── .gitattributes
├── .github
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── FUNDING.yml
├── SECURITY.md
├── art
│ └── cover.png
├── renovate.json
├── stale.yml
└── workflows
│ ├── README.md
│ ├── ci.yml
│ └── release.yml
├── .gitignore
├── .vscode
├── dictionary.txt
├── extensions.json
└── settings.json
├── .zed
└── settings.json
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── build.ts
├── bun.lock
├── bunfig.toml
├── eslint.config.ts
├── package.json
├── pkgx.yaml
├── src
└── index.ts
├── test
└── dtsx.test.ts
└── tsconfig.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.lockb binary diff=lockb
3 |
--------------------------------------------------------------------------------
/.github/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.
6 |
7 | We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
8 |
9 | ## Our Standards
10 |
11 | Examples of behavior that contributes to a positive environment for our community include:
12 |
13 | * Demonstrating empathy and kindness toward other people
14 | * Being respectful of differing opinions, viewpoints, and experiences
15 | * Giving and gracefully accepting constructive feedback
16 | * Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
17 | * Focusing on what is best not just for us as individuals, but for the overall community
18 |
19 | Examples of unacceptable behavior include:
20 |
21 | * The use of sexualized language or imagery, and sexual attention or advances of any kind
22 | * Trolling, insulting or derogatory comments, and personal or political attacks
23 | * Public or private harassment
24 | * Publishing others' private information, such as a physical or email address, without their explicit permission
25 | * Other conduct which could reasonably be considered inappropriate in a professional setting
26 |
27 | ## Enforcement Responsibilities
28 |
29 | Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
30 |
31 | Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
32 |
33 | ## Scope
34 |
35 | This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
36 |
37 | ## Enforcement
38 |
39 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at chris@meema.xyz. All complaints will be reviewed and investigated promptly and fairly.
40 |
41 | All community leaders are obligated to respect the privacy and security of the reporter of any incident.
42 |
43 | ## Enforcement Guidelines
44 |
45 | Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
46 |
47 | ### 1. Correction
48 |
49 | **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
50 |
51 | **Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
52 |
53 | ### 2. Warning
54 |
55 | **Community Impact**: A violation through a single incident or series of actions.
56 |
57 | **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
58 |
59 | ### 3. Temporary Ban
60 |
61 | **Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
62 |
63 | **Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
64 |
65 | ### 4. Permanent Ban
66 |
67 | **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
68 |
69 | **Consequence**: A permanent ban from any sort of public interaction within the community.
70 |
71 | ## Attribution
72 |
73 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
74 |
75 | Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
76 |
77 | For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at [https://www.contributor-covenant.org/translations][translations].
78 |
79 | [homepage]: https://www.contributor-covenant.org
80 | [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
81 | [Mozilla CoC]: https://github.com/mozilla/diversity
82 | [FAQ]: https://www.contributor-covenant.org/faq
83 | [translations]: https://www.contributor-covenant.org/translations
84 |
--------------------------------------------------------------------------------
/.github/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | First off, thank you for taking the time to contribute to the Stacks ecosystem ❤️
4 |
5 | > **Note**
6 | > The likelihood is high that the repo you are working on is either a Stack or Stacks itself. In both cases, you will be exposed to a meshup of technologies, like [Vue][vue], [Vite][vite], [Tauri][tauri], [Nitro][nitro], and [Bun][bun].
7 |
8 | ## 💭 Knowledge
9 |
10 | ### TypeScript
11 |
12 | It's important to note early on that these projects are written with [TypeScript][typescript]. If you're unfamiliar with it (or any strongly typed languages such as Java) then this may feel like a slight roadblock. However, there's never a truly perfect time to start learning it, so ... why not today using well-written codebases as your playground?
13 |
14 | _Don't be discouraged. You will get by learning TypeScript on-the-fly as you review some of the examples within the codebase. It's easy to get started—the code is, we hope, very approachable (and readable)._
15 |
16 | ### Architecture
17 |
18 | An understanding of the framework architecture and design will help if you're looking to contribute long-term, or if you are working on a "more complex" PR. Browse the source and read our documentation to get a better sense of how it is structured. The documentation is very thorough and can be used as your progressive guide as you're learning more about Stacks.
19 |
20 | Feel free to ask any question _(Twitter, Discord, or GitHub Discussions)_, we would love to elaborate & collaborate.
21 |
22 | ### Stacks/Core Setup
23 |
24 | Are you interested in contributing to the Stacks codebase?
25 |
26 | **Working on your first Pull Request?** You can learn how from this free series [How to Contribute to an Open Source Project on GitHub][pr-beginner-series].
27 |
28 | Head over to the [repository][stacks] on GitHub and click the Fork button in the top right corner. After the project has been forked, run the following commands in your terminal:
29 |
30 | ```bash
31 | # Replace {github-username} with your GitHub username.
32 | git clone https://github.com/{github-username}/stacks --depth=1
33 |
34 | cd stacks
35 |
36 | # Create a branch for your PR, replace {issue-no} with the GitHub issue number.
37 | git checkout -b issue-{issue-no}
38 | ```
39 |
40 | Now it'll help if we keep our `main` branch pointing at the original repository and make
41 | pull requests from the forked branch.
42 |
43 | ```bash
44 | # Add the original repository as a "remote" called "upstream".
45 | git remote add upstream git@github.com:stacksjs/stacks.git
46 |
47 | # Fetch the git information from the remote.
48 | git fetch upstream
49 |
50 | # Set your local main branch to use the upstream main branch whenever you run `git pull`.
51 | git branch --set-upstream-to=upstream/main main
52 |
53 | # Run this when we want to update our version of main.
54 | git pull
55 | ```
56 |
57 | _You may also use GitHub Desktop or any other GUI—if that is your preference._
58 |
59 | ### Buddy Toolkit
60 |
61 | The following list of commands is one of the most common ways to interact with the Stacks API. Meet Buddy:
62 |
63 | ```bash
64 | buddy install # installs all dependencies
65 | buddy dev # starts one of the dev servers (components, functions, views, desktop or docs)
66 | buddy build # follow CLI prompts to select which library (or server) to build
67 | buddy commit # follow CLI prompts for committing changes
68 | buddy release # creates the releases of the stack & consequently, publishes them (to npm)
69 | buddy upgrade # auto-update deps & the Stacks framework
70 |
71 | buddy make:component HelloWorld # scaffolds a component
72 | buddy make:function HelloWorld # scaffolds a function
73 | buddy make:page hello-world # scaffolds a page (https://my-project.test/hello-world)
74 |
75 | buddy help
76 | ```
77 |
78 |
79 | View the complete Buddy Toolkit
80 |
81 | ```bash
82 | buddy --help # view help menu
83 | buddy install # installs your dependencies
84 | buddy fresh # fresh reinstall of all deps
85 | buddy update # auto-update deps & the Stacks framework
86 |
87 | buddy --version # get the Stacks version
88 | buddy --help # view help menu
89 |
90 | # if you need any more info to any command listed here, you may suffix
91 | # any of them via the "help option", i.e. `buddy command --help`
92 |
93 | buddy dev # starts one of the dev servers (components, functions, views, or docs)
94 | buddy dev:components # starts local playground dev server
95 | buddy dev:desktop # starts the Desktop playground
96 | buddy dev:views # starts local playground views dev server
97 | buddy dev:functions # stubs local the functions
98 | buddy dev:docs # starts local docs dev server
99 |
100 | # for Laravel folks, `serve` may ring more familiar than the `dev` name. Hence, we aliased it:
101 | buddy serve # starts one of the dev servers (components, functions, viewsviews, or docs)
102 | buddy serve:components # starts local playground dev server
103 | buddy serve:views # starts local playground views dev server
104 | buddy serve:functions # stubs local the functions
105 | buddy serve:docs # starts local docs dev server
106 |
107 | # sets your application key
108 | buddy key:generate
109 |
110 | buddy make:stack project
111 | buddy make:component HelloWorld
112 | buddy make:function hello-world
113 | buddy make:page hello-world
114 | buddy make:lang de
115 | buddy make:database cars
116 | buddy make:table brands
117 | buddy make:migration create_cars_table
118 | buddy make:factory cars
119 |
120 | buddy lint # runs linter
121 | buddy lint:fix # runs linter and fixes issues
122 |
123 | buddy commit # follow CLI prompts for committing staged changes
124 | buddy release # creates the releases for the stack & triggers the Release Action (workflow)
125 | buddy changelog # generates CHANGELOG.md
126 |
127 | # building for production (e.g. npm, Vercel, Netlify, et al.)
128 | buddy build # select a specific build (follow CLI prompts)
129 | buddy build:components # builds Vue component library & Web Component library
130 | buddy build:functions # builds function library
131 | buddy build:vue-components # builds Vue 2 & 3-ready Component library
132 | buddy build:web-components # builds framework agnostic Web Component library (i.e. Custom Elements)
133 | buddy build:views # builds views
134 |
135 | # when deploying your app/s
136 | buddy deploy:docs
137 | buddy deploy:functions
138 | buddy deploy:views
139 |
140 | # select the example to run (follow CLI prompts)
141 | buddy example
142 |
143 | # test your stack
144 | buddy test # runs test suite (unit & e2e)
145 | buddy test:coverage # runs test coverage
146 | buddy test:types # runs typecheck
147 | ```
148 |
149 |
150 |
151 | ## 🧪 Testing
152 |
153 | All the framework tests are stored within the `./.stacks/tests` project folder. When adding or updating functionality, please ensure it is covered through our test suite. Ensure so by running `buddy test`.
154 |
155 | When working on an individual Stack, tests are stored within the `./tests` project folder & it is recommended to write tests (when useful). Bu
156 |
157 | ## ✍️ Commit
158 |
159 | Stacks uses [semantic commit messages][semantic-commit-style] to automate package releases. No worries, you may not be aware what this is or how it works—just let Buddy guide you. Stacks automated the commit process for you, simply run `buddy commit` in your terminal and follow the instructions.
160 |
161 | For example,
162 |
163 | ```bash
164 | # Add all changes to staging to be committed.
165 | git add .
166 |
167 | # Commit changes.
168 | buddy commit
169 |
170 | # Push changes up to GitHub.
171 | git push
172 | ```
173 |
174 | _By following these minor steps, Stacks is able to automatically release new versions & generate relating local & remote changelogs._
175 |
176 | ## 🎉 Pull Request
177 |
178 | When you're all done, head over to the [repository][stacks], and click the big green `Compare & Pull Request` button that should appear after you've pushed changes to your fork.
179 |
180 | Don't expect your PR to be accepted immediately or even accepted at all. Give the community time to vet it and see if it should be merged. Please don't be disheartened if it's not accepted. Your contribution is appreciated more than you can imagine, and even a unmerged PR can teach us a lot ❤️
181 |
182 | [typescript]: https://www.typescriptlang.org
183 | [vue]: https://vuejs.org/
184 | [vite]: https://vitejs.dev/
185 | [tauri]: https://tauri.app/
186 | [nitro]: https://nitro.unjs.io/
187 | [bun]: https://bun.sh/
188 | [stacks]: https://github.com/stacksjs/stacks
189 | [semantic-commit-style]: https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716
190 | [pr-beginner-series]: https://app.egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github
191 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: [stacksjs, chrisbbreuer]
2 | open_collective: stacksjs
3 |
--------------------------------------------------------------------------------
/.github/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 |
3 | **PLEASE DON'T DISCLOSE SECURITY-RELATED ISSUES PUBLICLY, [SEE BELOW](#reporting-a-vulnerability).**
4 |
5 | ## Supported Versions
6 |
7 | Only the latest major version receives security fixes.
8 |
9 | ## Reporting a Vulnerability
10 |
11 | If you discover a security vulnerability within this package, please send an email to Chris Breuer at chris@meema.xyz. All security vulnerabilities will be promptly addressed.
12 |
13 | ### Public PGP Key
14 |
15 | ```
16 | -----BEGIN PGP PUBLIC KEY BLOCK-----
17 | Version: OpenPGP v2.0.8
18 | Comment: https://sela.io/pgp/
19 |
20 | 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
67 | HF/6SiI=
68 | =le/X
69 | -----END PGP PUBLIC KEY BLOCK-----
70 | ```
71 |
--------------------------------------------------------------------------------
/.github/art/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/stacksjs/bun-plugin-dtsx/d035380e9d8506936a89c8a19700beff25bb7f96/.github/art/cover.png
--------------------------------------------------------------------------------
/.github/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "github>ow3org/renovate-config"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | daysUntilStale: 60
2 | daysUntilClose: 7
3 | exemptLabels:
4 | - pinned
5 | - security
6 | - no-stale
7 | - no stale
8 | - pr welcome
9 | staleLabel: stale
10 | markComment: >
11 | This issue has been automatically marked as stale because it has not had
12 | recent activity. It will be closed if no further activity occurs.
13 | Thank you for your contributions.
14 | closeComment: false
15 |
--------------------------------------------------------------------------------
/.github/workflows/README.md:
--------------------------------------------------------------------------------
1 | # GitHub Actions
2 |
3 | This folder contains the following GitHub Actions:
4 |
5 | - [CI][CI] - all CI jobs for the project
6 | - lints the code
7 | - `typecheck`s the code
8 | - automatically fixes & applies code style updates
9 | - runs test suite
10 | - runs on `ubuntu-latest` with `node-versions` set to `[16x, 18x]`
11 | - [Release][Release] - automates the release process & changelog generation
12 | - [Lock Closed Issues][Lock Closed Issues] - Locks all closed issues after 14 days of being closed
13 |
14 | [CI]: ./workflows/ci.yml
15 | [Release]: ./workflows/release.yml
16 | [Lock Closed Issues]: ./workflows/lock-closed-issues.yml
17 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | pull_request:
9 | branches:
10 | - main
11 |
12 | concurrency:
13 | group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
14 | cancel-in-progress: true
15 |
16 | jobs:
17 | lint:
18 | runs-on: ubuntu-latest
19 |
20 | steps:
21 | - uses: actions/checkout@v4
22 |
23 | - name: Install Bun
24 | uses: oven-sh/setup-bun@v2
25 |
26 | - name: Use cached node_modules
27 | uses: actions/cache@v4
28 | with:
29 | path: node_modules
30 | key: node-modules-${{ hashFiles('**/bun.lock') }}
31 | restore-keys: |
32 | node-modules-
33 |
34 | - name: Install Dependencies
35 | run: bun install
36 |
37 | - name: Lint
38 | run: bun run lint
39 |
40 | typecheck:
41 | runs-on: ubuntu-latest
42 |
43 | steps:
44 | - uses: actions/checkout@v4
45 |
46 | - name: Install Bun
47 | uses: oven-sh/setup-bun@v2
48 |
49 | - name: Use cached node_modules
50 | uses: actions/cache@v4
51 | with:
52 | path: node_modules
53 | key: node-modules-${{ hashFiles('**/bun.lock') }}
54 | restore-keys: |
55 | node-modules-
56 |
57 | - name: Install Dependencies
58 | run: bun install
59 |
60 | - name: Typecheck
61 | run: bun --bun run typecheck
62 |
63 | test:
64 | runs-on: ubuntu-latest
65 |
66 | steps:
67 | - uses: actions/checkout@v4
68 |
69 | - name: Install Bun
70 | uses: oven-sh/setup-bun@v2
71 |
72 | - name: Use cached node_modules
73 | uses: actions/cache@v4
74 | with:
75 | path: node_modules
76 | key: node-modules-${{ hashFiles('**/bun.lock') }}
77 | restore-keys: |
78 | node-modules-
79 |
80 | - name: Install Dependencies
81 | run: bun install
82 |
83 | - name: Unit Test
84 | run: bun test
85 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | push:
5 | tags:
6 | - 'v*'
7 |
8 | jobs:
9 | release:
10 | name: Release
11 | runs-on: ubuntu-latest
12 |
13 | steps:
14 | - uses: actions/checkout@v4
15 | with:
16 | fetch-depth: 0
17 |
18 | - name: Install Bun
19 | uses: oven-sh/setup-bun@v2
20 | # env:
21 | # BUN_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
22 | with:
23 | bun-version: canary
24 |
25 | - name: Use cached node_modules
26 | uses: actions/cache@v4
27 | with:
28 | path: node_modules
29 | key: node-modules-${{ hashFiles('**/bun.lock') }}
30 | restore-keys: |
31 | node-modules-
32 |
33 | - name: Install Dependencies
34 | run: bun install
35 |
36 | - name: Publish to npm
37 | run: bun publish --access public
38 | env:
39 | BUN_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
40 |
41 | - name: Create GitHub release
42 | run: bunx changelogithub
43 | env:
44 | GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
45 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .cache
2 | .DS_Store
3 | .idea
4 | *.log
5 | *.tgz
6 | coverage
7 | dist
8 | lib-cov
9 | logs
10 | node_modules
11 | temp
12 | tsconfig.tsbuildinfo
13 |
--------------------------------------------------------------------------------
/.vscode/dictionary.txt:
--------------------------------------------------------------------------------
1 | antfu
2 | biomejs
3 | booleanish
4 | bumpp
5 | bunx
6 | changelogen
7 | changelogithub
8 | codecov
9 | commitlint
10 | commitlintrc
11 | composables
12 | degit
13 | deps
14 | destructurable
15 | dtsx
16 | eabi
17 | entrypoints
18 | gnueabihf
19 | heroicons
20 | libc
21 | msvc
22 | musleabihf
23 | openweb
24 | outdir
25 | pausable
26 | Postcardware
27 | prefetch
28 | preinstall
29 | riscv
30 | socio
31 | Solana
32 | stacksjs
33 | typecheck
34 | unplugin
35 | unref
36 | upath
37 | vite
38 | vitebook
39 | vitejs
40 | vue-demi
41 | vueus
42 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": [
3 | "biomejs.biome",
4 | "streetsidesoftware.code-spell-checker",
5 | "davidanson.vscode-markdownlint"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | // Disable the default formatter, use eslint instead
3 | "prettier.enable": false,
4 | "biome.enabled": false,
5 | "editor.formatOnSave": false,
6 | // Auto fix
7 | "editor.codeActionsOnSave": {
8 | "source.fixAll.eslint": "explicit",
9 | "source.organizeImports": "never"
10 | },
11 | // Silent the stylistic rules in you IDE, but still auto fix them
12 | "eslint.rules.customizations": [
13 | {
14 | "rule": "style/*",
15 | "severity": "off",
16 | "fixable": true
17 | },
18 | {
19 | "rule": "format/*",
20 | "severity": "off",
21 | "fixable": true
22 | },
23 | {
24 | "rule": "*-indent",
25 | "severity": "off",
26 | "fixable": true
27 | },
28 | {
29 | "rule": "*-spacing",
30 | "severity": "off",
31 | "fixable": true
32 | },
33 | {
34 | "rule": "*-spaces",
35 | "severity": "off",
36 | "fixable": true
37 | },
38 | {
39 | "rule": "*-order",
40 | "severity": "off",
41 | "fixable": true
42 | },
43 | {
44 | "rule": "*-dangle",
45 | "severity": "off",
46 | "fixable": true
47 | },
48 | {
49 | "rule": "*-newline",
50 | "severity": "off",
51 | "fixable": true
52 | },
53 | {
54 | "rule": "*quotes",
55 | "severity": "off",
56 | "fixable": true
57 | },
58 | {
59 | "rule": "*semi",
60 | "severity": "off",
61 | "fixable": true
62 | }
63 | ],
64 | // Enable eslint for all supported languages
65 | "eslint.validate": [
66 | "javascript",
67 | "javascriptreact",
68 | "typescript",
69 | "typescriptreact",
70 | "vue",
71 | "html",
72 | "markdown",
73 | "json",
74 | "jsonc",
75 | "yaml",
76 | "toml",
77 | "xml",
78 | "gql",
79 | "graphql",
80 | "astro",
81 | "svelte",
82 | "css",
83 | "less",
84 | "scss",
85 | "pcss",
86 | "postcss"
87 | ],
88 | "[stx]": {
89 | "editor.defaultFormatter": "dbaeumer.vscode-eslint"
90 | },
91 | // Shell
92 | "[shellscript]": {
93 | "editor.defaultFormatter": "foxundermoon.shell-format"
94 | },
95 | // Markdown
96 | "[markdown]": {
97 | "editor.defaultFormatter": "DavidAnson.vscode-markdownlint",
98 | "editor.formatOnSave": true
99 | },
100 | "[dockerfile]": {
101 | "editor.defaultFormatter": "foxundermoon.shell-format"
102 | },
103 | "markdownlint.config": {
104 | "default": true,
105 | "MD033": {
106 | "allowed_elements": [
107 | "details",
108 | "summary",
109 | "VPTeamPage",
110 | "VPTeamPageTitle",
111 | "VPTeamMembers",
112 | "script"
113 | ]
114 | },
115 | "MD041": false
116 | },
117 | "typescript.preferGoToSourceDefinition": true,
118 | "editor.quickSuggestions": {
119 | "strings": true
120 | },
121 | "git.enableSmartCommit": true,
122 | "npm.enableRunFromFolder": true,
123 | "npm.packageManager": "bun",
124 | "editor.gotoLocation.multipleDefinitions": "goto",
125 | "search.exclude": {
126 | "**/node_modules": true,
127 | "**/cdk.out": true,
128 | "**/dist": true,
129 | "CHANGELOG.md": true
130 | },
131 |
132 | "cSpell.ignorePaths": ["node_modules"],
133 | "cSpell.dictionaries": ["custom-dictionary"],
134 | "cSpell.diagnosticLevel": "Hint",
135 | "cSpell.customDictionaries": {
136 | "bun-plugin-dtsx": {
137 | "name": "custom-dictionary",
138 | "path": "./.vscode/dictionary.txt",
139 | "scope": "user",
140 | "addWords": true
141 | },
142 | "custom": true // enable the `custom` dictionary
143 | },
144 | "terminal.integrated.scrollback": 10000,
145 | "grammarly.files.include": [
146 | "**/README.md",
147 | "**/readme.md",
148 | "**/*.txt"
149 | ],
150 | "grammarly.files.exclude": [
151 | "**/dictionary.txt"
152 | ]
153 | }
154 |
--------------------------------------------------------------------------------
/.zed/settings.json:
--------------------------------------------------------------------------------
1 | // For a full list of overridable settings, and general information on folder-specific settings,
2 | // see the documentation: https://zed.dev/docs/configuring-zed#settings-files
3 | {
4 | "languages": {
5 | "JavaScript": {
6 | "formatter": {
7 | "code_actions": {
8 | "source.fixAll.eslint": true
9 | }
10 | }
11 | },
12 | "TypeScript": {
13 | "formatter": {
14 | "code_actions": {
15 | "source.fixAll.eslint": true
16 | }
17 | }
18 | },
19 | "HTML": {
20 | "formatter": {
21 | "code_actions": {
22 | "source.fixAll.eslint": true
23 | }
24 | }
25 | },
26 | "CSS": {
27 | "formatter": {
28 | "code_actions": {
29 | "source.fixAll.eslint": true
30 | }
31 | }
32 | },
33 | "Markdown": {
34 | "formatter": {
35 | "code_actions": {
36 | "source.fixAll.eslint": true
37 | }
38 | }
39 | },
40 | "JSON": {
41 | "formatter": {
42 | "code_actions": {
43 | "source.fixAll.eslint": true
44 | }
45 | }
46 | },
47 | "JSONC": {
48 | "formatter": {
49 | "code_actions": {
50 | "source.fixAll.eslint": true
51 | }
52 | }
53 | },
54 | "YAML": {
55 | "formatter": {
56 | "code_actions": {
57 | "source.fixAll.eslint": true
58 | }
59 | }
60 | },
61 | "XML": {
62 | "formatter": {
63 | "code_actions": {
64 | "source.fixAll.eslint": true
65 | }
66 | }
67 | },
68 | "TOML": {
69 | "formatter": {
70 | "code_actions": {
71 | "source.fixAll.eslint": true
72 | }
73 | }
74 | }
75 | },
76 | "lsp": {
77 | "eslint": {
78 | "settings": {
79 | "rulesCustomizations": [
80 | {
81 | "rule": "style/*",
82 | "severity": "off",
83 | "fixable": true
84 | },
85 | {
86 | "rule": "format/*",
87 | "severity": "off",
88 | "fixable": true
89 | },
90 | {
91 | "rule": "*-indent",
92 | "severity": "off",
93 | "fixable": true
94 | },
95 | {
96 | "rule": "*-spacing",
97 | "severity": "off",
98 | "fixable": true
99 | },
100 | {
101 | "rule": "*-spaces",
102 | "severity": "off",
103 | "fixable": true
104 | },
105 | {
106 | "rule": "*-order",
107 | "severity": "off",
108 | "fixable": true
109 | },
110 | {
111 | "rule": "*-dangle",
112 | "severity": "off",
113 | "fixable": true
114 | },
115 | {
116 | "rule": "*-newline",
117 | "severity": "off",
118 | "fixable": true
119 | },
120 | {
121 | "rule": "*quotes",
122 | "severity": "off",
123 | "fixable": true
124 | },
125 | {
126 | "rule": "*semi",
127 | "severity": "off",
128 | "fixable": true
129 | }
130 | ]
131 | }
132 | }
133 | },
134 | "file_types": {
135 | "JavaScript": [
136 | "buddy"
137 | ]
138 | }
139 | }
140 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 |
2 | ## v0.21.11...main
3 |
4 | [compare changes](https://github.com/stacksjs/bun-plugin-dtsx/compare/v0.21.11...main)
5 |
6 | ### 🏡 Chore
7 |
8 | - Add default ([b7b07e8](https://github.com/stacksjs/bun-plugin-dtsx/commit/b7b07e8))
9 |
10 | ### ❤️ Contributors
11 |
12 | - Cab-mikee ([@cab-mikee](https://github.com/cab-mikee))
13 |
14 | ## v0.21.10...main
15 |
16 | [compare changes](https://github.com/stacksjs/bun-plugin-dtsx/compare/v0.21.10...main)
17 |
18 | ### 🏡 Chore
19 |
20 | - Add git-hooks ([c597d10](https://github.com/stacksjs/bun-plugin-dtsx/commit/c597d10))
21 |
22 | ### ❤️ Contributors
23 |
24 | - Cab-mikee ([@cab-mikee](https://github.com/cab-mikee))
25 |
26 | ## v0.21.9...main
27 |
28 | [compare changes](https://github.com/stacksjs/bun-plugin-dtsx/compare/v0.21.9...main)
29 |
30 | ### 🏡 Chore
31 |
32 | - Update renovate config ([669bbcb](https://github.com/stacksjs/bun-plugin-dtsx/commit/669bbcb))
33 | - Add github funding info ([4c553bb](https://github.com/stacksjs/bun-plugin-dtsx/commit/4c553bb))
34 | - Several minor updates ([ce37c00](https://github.com/stacksjs/bun-plugin-dtsx/commit/ce37c00))
35 | - Enhance funding ([99e5b46](https://github.com/stacksjs/bun-plugin-dtsx/commit/99e5b46))
36 | - Improve postcardware and fix test case ([8c07add](https://github.com/stacksjs/bun-plugin-dtsx/commit/8c07add))
37 | - Add stacksjs/docs ([9fb31ed](https://github.com/stacksjs/bun-plugin-dtsx/commit/9fb31ed))
38 |
39 | ### ❤️ Contributors
40 |
41 | - Cab-mikee ([@cab-mikee](https://github.com/cab-mikee))
42 | - Chris ([@chrisbbreuer](https://github.com/chrisbbreuer))
43 |
44 | ## v0.21.8...main
45 |
46 | [compare changes](https://github.com/stacksjs/bun-plugin-dtsx/compare/v0.21.8...main)
47 |
48 | ### 🏡 Chore
49 |
50 | - Update dtsx and bun ([a990114](https://github.com/stacksjs/bun-plugin-dtsx/commit/a990114))
51 |
52 | ### ❤️ Contributors
53 |
54 | - Chris ([@chrisbbreuer](http://github.com/chrisbbreuer))
55 |
56 | ## v0.21.7...main
57 |
58 | [compare changes](https://github.com/stacksjs/bun-plugin-dtsx/compare/v0.21.7...main)
59 |
60 | ### 🏡 Chore
61 |
62 | - Adjust image url ([586df55](https://github.com/stacksjs/bun-plugin-dtsx/commit/586df55))
63 | - Remove unused '@ts-expect-error' directives ([92ee344](https://github.com/stacksjs/bun-plugin-dtsx/commit/92ee344))
64 | - Update dtsx ([400d1dc](https://github.com/stacksjs/bun-plugin-dtsx/commit/400d1dc))
65 |
66 | ### ❤️ Contributors
67 |
68 | - Chris ([@chrisbbreuer](http://github.com/chrisbbreuer))
69 |
70 | ## v0.21.6...v0.21.6
71 |
72 | [compare changes](https://github.com/stacksjs/bun-plugin-dtsx/compare/v0.21.6...v0.21.6)
73 |
74 | ## v0.21.5...main
75 |
76 | [compare changes](https://github.com/stacksjs/bun-plugin-dtsx/compare/v0.21.5...main)
77 |
78 | ### 🏡 Chore
79 |
80 | - Adjust readme ([5e3f11b](https://github.com/stacksjs/bun-plugin-dtsx/commit/5e3f11b))
81 | - Update deps ([118019d](https://github.com/stacksjs/bun-plugin-dtsx/commit/118019d))
82 |
83 | ### ❤️ Contributors
84 |
85 | - Chris ([@chrisbbreuer](http://github.com/chrisbbreuer))
86 |
87 | ## v0.21.4...main
88 |
89 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.21.4...main)
90 |
91 | ### 🏡 Chore
92 |
93 | - Update deps ([1bb2b40](https://github.com/stacksjs/bun-plugin-dts-auto/commit/1bb2b40))
94 |
95 | ### ❤️ Contributors
96 |
97 | - Chris ([@chrisbbreuer](http://github.com/chrisbbreuer))
98 |
99 | ## v0.21.3...main
100 |
101 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.21.3...main)
102 |
103 | ### 🏡 Chore
104 |
105 | - Update `dtsx` ([1a53da5](https://github.com/stacksjs/bun-plugin-dts-auto/commit/1a53da5))
106 |
107 | ### ❤️ Contributors
108 |
109 | - Chris ([@chrisbbreuer](http://github.com/chrisbbreuer))
110 |
111 | ## v0.21.2...main
112 |
113 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.21.2...main)
114 |
115 | ### 🏡 Chore
116 |
117 | - Minor adjustments ([3815b05](https://github.com/stacksjs/bun-plugin-dts-auto/commit/3815b05))
118 |
119 | ### ❤️ Contributors
120 |
121 | - Chris ([@chrisbbreuer](http://github.com/chrisbbreuer))
122 |
123 | ## v0.21.1...main
124 |
125 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.21.1...main)
126 |
127 | ### 🏡 Chore
128 |
129 | - Default to dtsx defaults ([d915657](https://github.com/stacksjs/bun-plugin-dts-auto/commit/d915657))
130 |
131 | ### ❤️ Contributors
132 |
133 | - Chris ([@chrisbbreuer](http://github.com/chrisbbreuer))
134 |
135 | ## v0.21.0...main
136 |
137 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.21.0...main)
138 |
139 | ### 🏡 Chore
140 |
141 | - Minor cleanup ([cebb8e2](https://github.com/stacksjs/bun-plugin-dts-auto/commit/cebb8e2))
142 |
143 | ### ❤️ Contributors
144 |
145 | - Chris ([@chrisbbreuer](http://github.com/chrisbbreuer))
146 |
147 | ## v0.20.6...main
148 |
149 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.20.6...main)
150 |
151 | ### 🚀 Enhancements
152 |
153 | - Use `dtsx` ([c12883f](https://github.com/stacksjs/bun-plugin-dts-auto/commit/c12883f))
154 |
155 | ### 🏡 Chore
156 |
157 | - Use eslint ([2f01319](https://github.com/stacksjs/bun-plugin-dts-auto/commit/2f01319))
158 |
159 | ### ❤️ Contributors
160 |
161 | - Chris
162 |
163 | ## v0.20.5...main
164 |
165 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.20.5...main)
166 |
167 | ### 🏡 Chore
168 |
169 | - Adjust comment ([5e8c5e0](https://github.com/stacksjs/bun-plugin-dts-auto/commit/5e8c5e0))
170 | - Remove peer deps ([a1737f3](https://github.com/stacksjs/bun-plugin-dts-auto/commit/a1737f3))
171 |
172 | ### ❤️ Contributors
173 |
174 | - Chris
175 |
176 | ## v0.20.4...main
177 |
178 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.20.4...main)
179 |
180 | ### 🏡 Chore
181 |
182 | - Test peer deps ([017439c](https://github.com/stacksjs/bun-plugin-dts-auto/commit/017439c))
183 |
184 | ### ❤️ Contributors
185 |
186 | - Chris
187 |
188 | ## v0.20.3...main
189 |
190 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.20.3...main)
191 |
192 | ### 🏡 Chore
193 |
194 | - Adjust regexes some ([cd912cd](https://github.com/stacksjs/bun-plugin-dts-auto/commit/cd912cd))
195 |
196 | ### ❤️ Contributors
197 |
198 | - Chris
199 |
200 | ## v0.20.2...main
201 |
202 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.20.2...main)
203 |
204 | ### 🩹 Fixes
205 |
206 | - `requireTransformRegex` to delete for all bindings ([4ec974b](https://github.com/stacksjs/bun-plugin-dts-auto/commit/4ec974b))
207 |
208 | ### ❤️ Contributors
209 |
210 | - Chris
211 |
212 | ## v0.20.1...main
213 |
214 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.20.1...main)
215 |
216 | ### 🏡 Chore
217 |
218 | - Optimize the build process ([99cdf76](https://github.com/stacksjs/bun-plugin-dts-auto/commit/99cdf76))
219 |
220 | ### ❤️ Contributors
221 |
222 | - Chris
223 |
224 | ## v0.20.0...main
225 |
226 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.20.0...main)
227 |
228 | ### 🏡 Chore
229 |
230 | - Ensure `oxc-transform` is a dep ([844add6](https://github.com/stacksjs/bun-plugin-dts-auto/commit/844add6))
231 |
232 | ### ❤️ Contributors
233 |
234 | - Chris
235 |
236 | ## v0.19.1...main
237 |
238 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.19.1...main)
239 |
240 | ### 🚀 Enhancements
241 |
242 | - Add `files` option ([9987588](https://github.com/stacksjs/bun-plugin-dts-auto/commit/9987588))
243 |
244 | ### ❤️ Contributors
245 |
246 | - Chris
247 |
248 | ## v0.19.0...main
249 |
250 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.19.0...main)
251 |
252 | ### 🏡 Chore
253 |
254 | - Several minor adjustments ([33efc28](https://github.com/stacksjs/bun-plugin-dts-auto/commit/33efc28))
255 |
256 | ### ❤️ Contributors
257 |
258 | - Chris
259 |
260 | ## v0.18.20...main
261 |
262 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.20...main)
263 |
264 | ### 🏡 Chore
265 |
266 | - Adjust image url ([a759043](https://github.com/stacksjs/bun-plugin-dts-auto/commit/a759043))
267 | - Build dts files for everything in the root ([691cf1a](https://github.com/stacksjs/bun-plugin-dts-auto/commit/691cf1a))
268 |
269 | ### ❤️ Contributors
270 |
271 | - Chris
272 |
273 | ## v0.18.19...main
274 |
275 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.19...main)
276 |
277 | ### 🏡 Chore
278 |
279 | - Do not include sourcemap ([dacb562](https://github.com/stacksjs/bun-plugin-dts-auto/commit/dacb562))
280 |
281 | ### ❤️ Contributors
282 |
283 | - Chris
284 |
285 | ## v0.18.18...main
286 |
287 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.18...main)
288 |
289 | ### 🏡 Chore
290 |
291 | - Add `BUN_AUTH_TOKEN` ([0175952](https://github.com/stacksjs/bun-plugin-dts-auto/commit/0175952))
292 |
293 | ### ❤️ Contributors
294 |
295 | - Chris
296 |
297 | ## v0.18.17...main
298 |
299 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.17...main)
300 |
301 | ### 🏡 Chore
302 |
303 | - Comment env ([3cb6aa2](https://github.com/stacksjs/bun-plugin-dts-auto/commit/3cb6aa2))
304 |
305 | ### ❤️ Contributors
306 |
307 | - Chris
308 |
309 | ## v0.18.16...main
310 |
311 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.16...main)
312 |
313 | ### 🏡 Chore
314 |
315 | - Default to npmjs registry ([6702a47](https://github.com/stacksjs/bun-plugin-dts-auto/commit/6702a47))
316 |
317 | ### ❤️ Contributors
318 |
319 | - Chris
320 |
321 | ## v0.18.15...main
322 |
323 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.15...main)
324 |
325 | ### 🏡 Chore
326 |
327 | - Reenable bunfig ([b6ae9d5](https://github.com/stacksjs/bun-plugin-dts-auto/commit/b6ae9d5))
328 |
329 | ### ❤️ Contributors
330 |
331 | - Chris
332 |
333 | ## v0.18.14...main
334 |
335 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.14...main)
336 |
337 | ### 🏡 Chore
338 |
339 | - Use registry-url ([8c4ba4a](https://github.com/stacksjs/bun-plugin-dts-auto/commit/8c4ba4a))
340 |
341 | ### ❤️ Contributors
342 |
343 | - Chris
344 |
345 | ## v0.18.13...main
346 |
347 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.13...main)
348 |
349 | ### 🏡 Chore
350 |
351 | - Set registry ([b1e802b](https://github.com/stacksjs/bun-plugin-dts-auto/commit/b1e802b))
352 |
353 | ### ❤️ Contributors
354 |
355 | - Chris
356 |
357 | ## v0.18.12...main
358 |
359 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.12...main)
360 |
361 | ### 🏡 Chore
362 |
363 | - Use bun's env ([5849888](https://github.com/stacksjs/bun-plugin-dts-auto/commit/5849888))
364 |
365 | ### ❤️ Contributors
366 |
367 | - Chris
368 |
369 | ## v0.18.11...main
370 |
371 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.11...main)
372 |
373 | ### 🩹 Fixes
374 |
375 | - Rename to `BUN_AUTH_TOKEN` ([0aefd83](https://github.com/stacksjs/bun-plugin-dts-auto/commit/0aefd83))
376 |
377 | ### ❤️ Contributors
378 |
379 | - Chris
380 |
381 | ## v0.18.10...main
382 |
383 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.10...main)
384 |
385 | ### 🏡 Chore
386 |
387 | - Use `BUN_AUTH_TOKEN` ([acfcdd4](https://github.com/stacksjs/bun-plugin-dts-auto/commit/acfcdd4))
388 |
389 | ### ❤️ Contributors
390 |
391 | - Chris
392 |
393 | ## v0.18.9...main
394 |
395 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.9...main)
396 |
397 | ### 🏡 Chore
398 |
399 | - Reenable legacy auth type ([3cf1b28](https://github.com/stacksjs/bun-plugin-dts-auto/commit/3cf1b28))
400 |
401 | ### ❤️ Contributors
402 |
403 | - Chris
404 |
405 | ## v0.18.8...main
406 |
407 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.8...main)
408 |
409 | ### 🏡 Chore
410 |
411 | - Adjust url for remote display ([3e71dd6](https://github.com/stacksjs/bun-plugin-dts-auto/commit/3e71dd6))
412 | - Add bunfig ([783c0a6](https://github.com/stacksjs/bun-plugin-dts-auto/commit/783c0a6))
413 |
414 | ### ❤️ Contributors
415 |
416 | - Chris
417 |
418 | ## v0.18.7...main
419 |
420 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.7...main)
421 |
422 | ### 🏡 Chore
423 |
424 | - Test web once more ([b16853b](https://github.com/stacksjs/bun-plugin-dts-auto/commit/b16853b))
425 |
426 | ### ❤️ Contributors
427 |
428 | - Chris
429 |
430 | ## v0.18.6...main
431 |
432 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.6...main)
433 |
434 | ### 🏡 Chore
435 |
436 | - Use one step ([bc8cbc7](https://github.com/stacksjs/bun-plugin-dts-auto/commit/bc8cbc7))
437 |
438 | ### ❤️ Contributors
439 |
440 | - Chris
441 |
442 | ## v0.18.5...main
443 |
444 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.5...main)
445 |
446 | ### 🏡 Chore
447 |
448 | - Test legacy again ([5041329](https://github.com/stacksjs/bun-plugin-dts-auto/commit/5041329))
449 |
450 | ### ❤️ Contributors
451 |
452 | - Chris
453 |
454 | ## v0.18.4...main
455 |
456 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.4...main)
457 |
458 | ### 🏡 Chore
459 |
460 | - Test npm login ([9bcdf4b](https://github.com/stacksjs/bun-plugin-dts-auto/commit/9bcdf4b))
461 |
462 | ### ❤️ Contributors
463 |
464 | - Chris
465 |
466 | ## v0.18.3...main
467 |
468 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.3...main)
469 |
470 | ### 🏡 Chore
471 |
472 | - Test web auth-type ([6f5862f](https://github.com/stacksjs/bun-plugin-dts-auto/commit/6f5862f))
473 |
474 | ### ❤️ Contributors
475 |
476 | - Chris
477 |
478 | ## v0.18.2...main
479 |
480 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.2...main)
481 |
482 | ### 🏡 Chore
483 |
484 | - Add auth-type legacy ([b6235d2](https://github.com/stacksjs/bun-plugin-dts-auto/commit/b6235d2))
485 |
486 | ### ❤️ Contributors
487 |
488 | - Chris
489 |
490 | ## v0.18.1...main
491 |
492 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.1...main)
493 |
494 | ### 🏡 Chore
495 |
496 | - Use bun-version ([080579b](https://github.com/stacksjs/bun-plugin-dts-auto/commit/080579b))
497 |
498 | ### ❤️ Contributors
499 |
500 | - Chris
501 |
502 | ## v0.18.0...main
503 |
504 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.18.0...main)
505 |
506 | ### 🏡 Chore
507 |
508 | - Use canary bun version ([76b9240](https://github.com/stacksjs/bun-plugin-dts-auto/commit/76b9240))
509 |
510 | ### ❤️ Contributors
511 |
512 | - Chris
513 |
514 | ## v0.17.0...main
515 |
516 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.17.0...main)
517 |
518 | ### 🏡 Chore
519 |
520 | - Add plugin keyword ([ac644c9](https://github.com/stacksjs/bun-plugin-dts-auto/commit/ac644c9))
521 | - Add named import reference ([8ee0416](https://github.com/stacksjs/bun-plugin-dts-auto/commit/8ee0416))
522 | - Remove bun imports ([e149137](https://github.com/stacksjs/bun-plugin-dts-auto/commit/e149137))
523 | - Enable sourcemap and minify ([1bf3732](https://github.com/stacksjs/bun-plugin-dts-auto/commit/1bf3732))
524 | - Use bun publish ([97435f4](https://github.com/stacksjs/bun-plugin-dts-auto/commit/97435f4))
525 |
526 | ### ❤️ Contributors
527 |
528 | - Chris
529 |
530 | ## v0.16.0...main
531 |
532 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.16.0...main)
533 |
534 | ### 🚀 Enhancements
535 |
536 | - Use oxc to generate dts ([9ae7af1](https://github.com/stacksjs/bun-plugin-dts-auto/commit/9ae7af1))
537 |
538 | ### 🩹 Fixes
539 |
540 | - Typecheck ([2a84772](https://github.com/stacksjs/bun-plugin-dts-auto/commit/2a84772))
541 |
542 | ### ❤️ Contributors
543 |
544 | - Chris
545 |
546 | ## v0.15.4...main
547 |
548 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.15.4...main)
549 |
550 | ### 🏡 Chore
551 |
552 | - Several minor fixes ([7af35f6](https://github.com/stacksjs/bun-plugin-dts-auto/commit/7af35f6))
553 |
554 | ### ❤️ Contributors
555 |
556 | - Chris
557 |
558 | ## v0.15.3...main
559 |
560 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.15.3...main)
561 |
562 | ### 🩹 Fixes
563 |
564 | - Monorepo problems ([e518b30](https://github.com/stacksjs/bun-plugin-dts-auto/commit/e518b30))
565 |
566 | ### ❤️ Contributors
567 |
568 | - Chris
569 |
570 | ## v0.15.2...main
571 |
572 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.15.2...main)
573 |
574 | ### 🩹 Fixes
575 |
576 | - Filter entry points ([37c93a1](https://github.com/stacksjs/bun-plugin-dts-auto/commit/37c93a1))
577 |
578 | ### 🏡 Chore
579 |
580 | - Update readme ([9081b61](https://github.com/stacksjs/bun-plugin-dts-auto/commit/9081b61))
581 |
582 | ### ❤️ Contributors
583 |
584 | - Chris
585 |
586 | ## v0.15.1...main
587 |
588 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.15.1...main)
589 |
590 | ### 🩹 Fixes
591 |
592 | - Generate declaration files with correct references ([eb3eb0d](https://github.com/stacksjs/bun-plugin-dts-auto/commit/eb3eb0d))
593 |
594 | ### ❤️ Contributors
595 |
596 | - Chris
597 |
598 | ## v0.15.0...main
599 |
600 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.15.0...main)
601 |
602 | ### 🏡 Chore
603 |
604 | - Add changelog ([2012740](https://github.com/stacksjs/bun-plugin-dts-auto/commit/2012740))
605 | - Remove console log ([b53c05f](https://github.com/stacksjs/bun-plugin-dts-auto/commit/b53c05f))
606 |
607 | ### ❤️ Contributors
608 |
609 | - Chris
610 |
611 | ## v0.14.1...main
612 |
613 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.14.1...main)
614 |
615 | ### 🚀 Enhancements
616 |
617 | - Add proper monorepo support ([3ca01df](https://github.com/stacksjs/bun-plugin-dts-auto/commit/3ca01df))
618 |
619 | ### 🏡 Chore
620 |
621 | - Add changelog ([c6e4274](https://github.com/stacksjs/bun-plugin-dts-auto/commit/c6e4274))
622 |
623 | ### ❤️ Contributors
624 |
625 | - Chris
626 |
627 | ## v0.14.0...main
628 |
629 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.14.0...main)
630 |
631 | ### 🏡 Chore
632 |
633 | - Add changelog ([66032d7](https://github.com/stacksjs/bun-plugin-dts-auto/commit/66032d7))
634 | - Minor adjustments ([c797584](https://github.com/stacksjs/bun-plugin-dts-auto/commit/c797584))
635 |
636 | ### ❤️ Contributors
637 |
638 | - Chris
639 |
640 | ## v0.12.0...main
641 |
642 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.12.0...main)
643 |
644 | ### 🏡 Chore
645 |
646 | - Lint ([0689642](https://github.com/stacksjs/bun-plugin-dts-auto/commit/0689642))
647 | - Add zed biome settings ([78854d3](https://github.com/stacksjs/bun-plugin-dts-auto/commit/78854d3))
648 | - Adjust readme ([19f87ba](https://github.com/stacksjs/bun-plugin-dts-auto/commit/19f87ba))
649 | - Adjust base test ([8d45811](https://github.com/stacksjs/bun-plugin-dts-auto/commit/8d45811))
650 | - Update bun ([dd7563f](https://github.com/stacksjs/bun-plugin-dts-auto/commit/dd7563f))
651 | - Add unit tests ([00dfaa3](https://github.com/stacksjs/bun-plugin-dts-auto/commit/00dfaa3))
652 |
653 | ### ❤️ Contributors
654 |
655 | - Chris
656 |
657 | ## v0.11.1...main
658 |
659 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.11.1...main)
660 |
661 | ### 🩹 Fixes
662 |
663 | - Properly store file based on options ([9c8c619](https://github.com/stacksjs/bun-plugin-dts-auto/commit/9c8c619))
664 |
665 | ### 🏡 Chore
666 |
667 | - Use biome ([a03646e](https://github.com/stacksjs/bun-plugin-dts-auto/commit/a03646e))
668 | - Remove sourcemap support ([33c3766](https://github.com/stacksjs/bun-plugin-dts-auto/commit/33c3766))
669 |
670 | ### ❤️ Contributors
671 |
672 | - Chris
673 |
674 | ## v0.11.0...main
675 |
676 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.11.0...main)
677 |
678 | ## v0.10.0...main
679 |
680 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.10.0...main)
681 |
682 | ### 🚀 Enhancements
683 |
684 | - Make use of `pkgx` ([17cada3](https://github.com/stacksjs/bun-plugin-dts-auto/commit/17cada3))
685 |
686 | ### 🏡 Chore
687 |
688 | - Use `@types/bun` ([dc0c53a](https://github.com/stacksjs/bun-plugin-dts-auto/commit/dc0c53a))
689 | - Do not use `*.* text eol=lf` ([a9f34d3](https://github.com/stacksjs/bun-plugin-dts-auto/commit/a9f34d3))
690 | - Update lockfile ([3ba4695](https://github.com/stacksjs/bun-plugin-dts-auto/commit/3ba4695))
691 |
692 | ### ❤️ Contributors
693 |
694 | - Chris
695 |
696 | ## v0.9.0...main
697 |
698 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.9.0...main)
699 |
700 | ### 🩹 Fixes
701 |
702 | - Ensure `baseUrl` is set correctly ([3e9e1bf](https://github.com/stacksjs/bun-plugin-dts-auto/commit/3e9e1bf))
703 |
704 | ### 🏡 Chore
705 |
706 | - Allow for leading `./` ([2c99891](https://github.com/stacksjs/bun-plugin-dts-auto/commit/2c99891))
707 |
708 | ### ❤️ Contributors
709 |
710 | - Chris
711 |
712 | ## v0.8.0...main
713 |
714 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.8.0...main)
715 |
716 | ### 🚀 Enhancements
717 |
718 | - Allow setting base ([455c47c](https://github.com/stacksjs/bun-plugin-dts-auto/commit/455c47c))
719 |
720 | ### ❤️ Contributors
721 |
722 | - Chris
723 |
724 | ## v0.7.0...main
725 |
726 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.7.0...main)
727 |
728 | ### 🏡 Chore
729 |
730 | - Several minor updates ([6914abe](https://github.com/stacksjs/bun-plugin-dts-auto/commit/6914abe))
731 |
732 | ### ❤️ Contributors
733 |
734 | - Chris
735 |
736 | ## v0.6.1...main
737 |
738 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.6.1...main)
739 |
740 | ### 🚀 Enhancements
741 |
742 | - Default to the root src dir ([081b86d](https://github.com/stacksjs/bun-plugin-dts-auto/commit/081b86d))
743 |
744 | ### 🏡 Chore
745 |
746 | - Adjust readme ([2e80f42](https://github.com/stacksjs/bun-plugin-dts-auto/commit/2e80f42))
747 |
748 | ### ❤️ Contributors
749 |
750 | - Chris
751 |
752 | ## v0.6.1...main
753 |
754 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.6.1...main)
755 |
756 | ### 🚀 Enhancements
757 |
758 | - Default to the root src dir ([081b86d](https://github.com/stacksjs/bun-plugin-dts-auto/commit/081b86d))
759 |
760 | ### 🏡 Chore
761 |
762 | - Adjust readme ([2e80f42](https://github.com/stacksjs/bun-plugin-dts-auto/commit/2e80f42))
763 |
764 | ### ❤️ Contributors
765 |
766 | - Chris
767 |
768 | ## v0.6.0...main
769 |
770 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.6.0...main)
771 |
772 | ### 🩹 Fixes
773 |
774 | - Properly allow for rootDir overriding ([a902f45](https://github.com/stacksjs/bun-plugin-dts-auto/commit/a902f45))
775 |
776 | ### 🏡 Chore
777 |
778 | - Do not target src dir by default ([44e0a22](https://github.com/stacksjs/bun-plugin-dts-auto/commit/44e0a22))
779 |
780 | ### ❤️ Contributors
781 |
782 | - Chris
783 |
784 | ## v0.5.3...main
785 |
786 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.5.3...main)
787 |
788 | ### 🚀 Enhancements
789 |
790 | - Use default build outdir unless option provided ([5bae612](https://github.com/stacksjs/bun-plugin-dts-auto/commit/5bae612))
791 |
792 | ### ❤️ Contributors
793 |
794 | - Chris
795 |
796 | ## v0.5.2...main
797 |
798 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.5.2...main)
799 |
800 | ### 🏡 Chore
801 |
802 | - Also adjust option here ([b728b9e](https://github.com/stacksjs/bun-plugin-dts-auto/commit/b728b9e))
803 |
804 | ### ❤️ Contributors
805 |
806 | - Chris
807 |
808 | ## v0.5.1...main
809 |
810 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.5.1...main)
811 |
812 | ### 🏡 Chore
813 |
814 | - Change to `outdir` naming ([dfeb3bb](https://github.com/stacksjs/bun-plugin-dts-auto/commit/dfeb3bb))
815 |
816 | ### ❤️ Contributors
817 |
818 | - Chris
819 |
820 | ## v0.5.0...main
821 |
822 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.5.0...main)
823 |
824 | ### 🩹 Fixes
825 |
826 | - Set `src` to `rootDir` ([26b6018](https://github.com/stacksjs/bun-plugin-dts-auto/commit/26b6018))
827 |
828 | ### 🏡 Chore
829 |
830 | - Readme update ([5c5139f](https://github.com/stacksjs/bun-plugin-dts-auto/commit/5c5139f))
831 | - Adjust `outDir` to have colocated types ([a7b02f3](https://github.com/stacksjs/bun-plugin-dts-auto/commit/a7b02f3))
832 |
833 | ### ❤️ Contributors
834 |
835 | - Chris
836 |
837 | ## v0.4.1...main
838 |
839 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.4.1...main)
840 |
841 | ### 🚀 Enhancements
842 |
843 | - Add `cwd` option ([7d83133](https://github.com/stacksjs/bun-plugin-dts-auto/commit/7d83133))
844 |
845 | ### ❤️ Contributors
846 |
847 | - Chris
848 |
849 | ## v0.4.0...main
850 |
851 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.4.0...main)
852 |
853 | ### 🏡 Chore
854 |
855 | - Adjust build ([54cf8c0](https://github.com/stacksjs/bun-plugin-dts-auto/commit/54cf8c0))
856 |
857 | ### ❤️ Contributors
858 |
859 | - Chris
860 |
861 | ## v0.3.0...main
862 |
863 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.3.0...main)
864 |
865 | ### 🚀 Enhancements
866 |
867 | - Add `outDir` option ([824d4d9](https://github.com/stacksjs/bun-plugin-dts-auto/commit/824d4d9))
868 |
869 | ### 🏡 Chore
870 |
871 | - Housekeeping ([e2ac82d](https://github.com/stacksjs/bun-plugin-dts-auto/commit/e2ac82d))
872 | - Ci & vscode updates ([eb84883](https://github.com/stacksjs/bun-plugin-dts-auto/commit/eb84883))
873 |
874 | ### ❤️ Contributors
875 |
876 | - Chris
877 |
878 | ## v0.2.2...main
879 |
880 | [compare changes](https://github.com/stacksjs/bun-plugin-dts-auto/compare/v0.2.2...main)
881 |
882 | ### 🏡 Chore
883 |
884 | - Several updates ([4d53e0d](https://github.com/stacksjs/bun-plugin-dts-auto/commit/4d53e0d))
885 |
886 | ### ❤️ Contributors
887 |
888 | - Chris
889 |
890 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | # MIT License
2 |
3 | Copyright (c) 2024 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.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | [![npm version][npm-version-src]][npm-version-href]
4 | [![GitHub Actions][github-actions-src]][github-actions-href]
5 | [](http://commitizen.github.io/cz-cli/)
6 | [![npm downloads][npm-downloads-src]][npm-downloads-href]
7 |
8 |
9 | This Bun plugin generates dts files for your TypeScript projects.
10 |
11 | ## Features
12 |
13 | - Automatic & fast dts generation
14 | - Powered by Bun & isolatedDeclarations
15 | - Monorepo support
16 |
17 | ## Usage
18 |
19 | ```bash
20 | bun install -d bun-plugin-dtsx
21 | ```
22 |
23 | You may now use the plugin:
24 |
25 | ```ts
26 | import dts from 'bun-plugin-dtsx'
27 | // if you prefer named imports
28 | // import { dts } from 'bun-plugin-dtsx'
29 |
30 | await Bun.build({
31 | root: './src',
32 | entrypoints: [
33 | 'src/index.ts',
34 | ],
35 | outdir: './dist',
36 | plugins: [
37 | dts({
38 | cwd: './', // optional, default: process.cwd()
39 | root: './src', // optional, default: './src'
40 | outdir: './dist/types', // optional, default: './dist'
41 | keepComments: true, // optional, default: true
42 | tsconfigPath: './tsconfig.json', // optional, default: './tsconfig.json'
43 | }),
44 | ],
45 | })
46 |
47 | console.log('Build complete ✅')
48 | ```
49 |
50 | ## API
51 |
52 | The `dts` plugin accepts an options object with the following properties:
53 |
54 | - `cwd`: The current working directory _(optional, default: `process.cwd()`)_
55 | - `root`: The root directory of your TypeScript files _(optional, default: `'src'`)_
56 | - `outdir`: The output directory for generated declaration files _(optional, default: `'./dist'`)_
57 | - `entrypoints`: An array or glob of file paths, or a single file path, to process _(optional, if not specified, defaults to build entrypoints)_
58 | - `keepComments`: Whether to keep comments in the generated dts files _(optional, default: `true`)_
59 | - `tsconfigPath`: The path to your tsconfig file _(optional, default: `'./tsconfig.json'`)_
60 |
61 | ## Testing
62 |
63 | ```bash
64 | bun test
65 | ```
66 |
67 | ## Changelog
68 |
69 | Please see our [releases](https://github.com/stacksjs/bun-plugin-dtsx/releases) page for more information on what has changed recently.
70 |
71 | ## Contributing
72 |
73 | Please review the [Contributing Guide](https://github.com/stacksjs/contributing) for details.
74 |
75 | ## Community
76 |
77 | For help, discussion about best practices, or any other conversation that would benefit from being searchable:
78 |
79 | [Discussions on GitHub](https://github.com/stacksjs/stacks/discussions)
80 |
81 | For casual chit-chat with others using this package:
82 |
83 | [Join the Stacks Discord Server](https://discord.gg/stacksjs)
84 |
85 | ## Postcardware
86 |
87 | “Software that is free, but hopes for a postcard.” We love receiving postcards from around the world showing where `bun-plugin-dtsx` is being used! We showcase them on our website too.
88 |
89 | Our address: Stacks.js, 12665 Village Ln #2306, Playa Vista, CA 90094, United States 🌎
90 |
91 | ## Sponsors
92 |
93 | 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.
94 |
95 | - [JetBrains](https://www.jetbrains.com/)
96 | - [The Solana Foundation](https://solana.com/)
97 |
98 | ## Credits
99 |
100 | Many thanks to the following core technologies & people who have contributed to this package:
101 |
102 | - [Chris Breuer](https://github.com/chrisbbreuer)
103 | - [All Contributors](../../contributors)
104 |
105 | ## License
106 |
107 | The MIT License (MIT). Please see [LICENSE](https://github.com/stacksjs/bun-plugin-dtsx/tree/main/LICENSE.md) for more information.
108 |
109 | Made with 💙
110 |
111 |
112 | [npm-version-src]:
113 | [npm-version-href]:
114 | [npm-downloads-src]:
115 | [npm-downloads-href]:
116 | [github-actions-src]:
117 | [github-actions-href]:
118 |
119 |
121 |
--------------------------------------------------------------------------------
/build.ts:
--------------------------------------------------------------------------------
1 | import process from 'node:process'
2 | import dts from './src/index'
3 |
4 | console.log('Building...')
5 |
6 | const result = await Bun.build({
7 | entrypoints: ['src/index.ts'],
8 | outdir: 'dist',
9 | target: 'bun',
10 | external: ['@stacksjs/dtsx'],
11 | // minify: true,
12 | plugins: [dts()],
13 | })
14 |
15 | if (!result.success) {
16 | console.error('Build failed')
17 |
18 | for (const message of result.logs) {
19 | console.error(message)
20 | }
21 |
22 | process.exit(1)
23 | }
24 |
25 | console.log('Build complete')
26 |
--------------------------------------------------------------------------------
/bunfig.toml:
--------------------------------------------------------------------------------
1 | [install]
2 | registry = { url = "https://registry.npmjs.org/", token = "$BUN_AUTH_TOKEN" }
3 |
--------------------------------------------------------------------------------
/eslint.config.ts:
--------------------------------------------------------------------------------
1 | import stacks from '@stacksjs/eslint-config'
2 |
3 | export default stacks({
4 | stylistic: {
5 | indent: 2,
6 | quotes: 'single',
7 | },
8 |
9 | typescript: true,
10 | jsonc: true,
11 | yaml: true,
12 | ignores: [
13 | 'fixtures/**',
14 | ],
15 | })
16 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "bun-plugin-dtsx",
3 | "type": "module",
4 | "version": "0.21.12",
5 | "description": "A Bun Bundler plugin that auto generates your DTS types extremely fast.",
6 | "author": "Chris Breuer ",
7 | "license": "MIT",
8 | "homepage": "https://github.com/stacksjs/bun-plugin-dtsx#readme",
9 | "repository": {
10 | "type": "git",
11 | "url": "git+https://github.com/stacksjs/bun-plugin-dtsx.git"
12 | },
13 | "bugs": {
14 | "url": "https://github.com/stacksjs/bun-plugin-dtsx/issues"
15 | },
16 | "keywords": [
17 | "dts",
18 | "dtsx",
19 | "emit",
20 | "generation",
21 | "typescript",
22 | "types",
23 | "auto",
24 | "stacks",
25 | "bun",
26 | "plugin",
27 | "package"
28 | ],
29 | "exports": {
30 | ".": {
31 | "types": "./dist/index.d.ts",
32 | "import": "./dist/index.js"
33 | },
34 | "./*": {
35 | "import": "./dist/*"
36 | }
37 | },
38 | "module": "./dist/index.js",
39 | "types": "./dist/index.d.ts",
40 | "files": ["LICENSE.md", "README.md", "dist"],
41 | "scripts": {
42 | "build": "bun build.ts",
43 | "lint": "bunx eslint .",
44 | "lint:fix": "bunx eslint . --fix",
45 | "fresh": "bunx rimraf node_modules/ bun.lock && bun i",
46 | "changelog": "bunx changelogen --output CHANGELOG.md",
47 | "prepublishOnly": "bun run build",
48 | "release": "bun run changelog && bunx bumpp package.json --all",
49 | "test": "bun test",
50 | "typecheck": "bun tsc --noEmit"
51 | },
52 | "dependencies": {
53 | "@stacksjs/dtsx": "^0.8.1"
54 | },
55 | "devDependencies": {
56 | "@stacksjs/docs": "^0.70.23",
57 | "@stacksjs/eslint-config": "^4.10.2-beta.3",
58 | "@stacksjs/gitlint": "^0.1.3",
59 | "@types/bun": "^1.2.12",
60 | "bumpp": "^10.1.0",
61 | "bun-git-hooks": "^0.2.15",
62 | "changelogen": "^0.6.1",
63 | "typescript": "^5.8.3"
64 | },
65 | "git-hooks": {
66 | "pre-commit": {
67 | "staged-lint": {
68 | "*.{js,ts,json,yaml,yml,md}": "bunx --bun eslint . --fix"
69 | }
70 | },
71 | "commit-msg": "bunx gitlint .git/COMMIT_EDITMSG"
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/pkgx.yaml:
--------------------------------------------------------------------------------
1 | dependencies:
2 | bun.sh: ^1.2.2
3 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import type { DtsGenerationOption } from '@stacksjs/dtsx'
2 | import type { BunPlugin } from 'bun'
3 | import { generate } from '@stacksjs/dtsx'
4 |
5 | /**
6 | * Configuration interface extending DtsGenerationOption with build-specific properties
7 | */
8 | interface PluginConfig extends DtsGenerationOption {
9 | build?: {
10 | config: {
11 | root?: string
12 | outdir?: string
13 | }
14 | }
15 | }
16 |
17 | /**
18 | * Creates a Bun plugin for generating TypeScript declaration files
19 | * @param options - Configuration options for DTS generation
20 | * @returns BunPlugin instance
21 | */
22 | export function dts(options: PluginConfig = {
23 | root: './src',
24 | outdir: './dist',
25 | }): BunPlugin {
26 | return {
27 | name: 'bun-plugin-dtsx',
28 |
29 | async setup(build) {
30 | const config = normalizeConfig(options, build)
31 | await generate(config)
32 | },
33 | }
34 | }
35 |
36 | /**
37 | * Normalizes and validates the configuration
38 | * @param options - User provided options
39 | * @param build - Build configuration
40 | * @returns Normalized configuration
41 | */
42 | function normalizeConfig(options: PluginConfig, build: PluginConfig['build']): DtsGenerationOption {
43 | const root = options.root || build?.config.root
44 | const outdir = options.outdir || build?.config.outdir
45 |
46 | if (!root) {
47 | throw new Error('[bun-plugin-dtsx] Root directory is required')
48 | }
49 |
50 | return {
51 | ...options,
52 | cwd: options.cwd,
53 | root,
54 | entrypoints: options.entrypoints,
55 | outdir,
56 | clean: options.clean,
57 | tsconfigPath: options.tsconfigPath,
58 | }
59 | }
60 |
61 | export type { DtsGenerationOption }
62 |
63 | export default dts
64 |
--------------------------------------------------------------------------------
/test/dtsx.test.ts:
--------------------------------------------------------------------------------
1 | import type { BunPlugin, PluginBuilder } from 'bun'
2 | import { afterAll, beforeAll, describe, expect, test } from 'bun:test'
3 | import fs from 'node:fs'
4 | import path from 'node:path'
5 | import { dts } from '../src'
6 |
7 | const tempDir = path.resolve(process.cwd(), 'test-temp')
8 | const srcDir = path.join(tempDir, 'src')
9 | const outDir = path.join(tempDir, 'dist')
10 |
11 | // Mock build config that satisfies Bun's PluginBuilder interface
12 | const mockPluginBuilder: PluginBuilder = {
13 | config: {
14 | entrypoints: ['src/sample.ts'],
15 | root: tempDir,
16 | outdir: outDir,
17 | plugins: [] as BunPlugin[],
18 | },
19 | // Required plugin builder methods
20 | onLoad() {},
21 | onResolve() {},
22 | onStart() {},
23 | onBeforeParse() {},
24 | module: (_specifier: string, callback: () => any) => callback(),
25 | }
26 |
27 | describe('bun-plugin-dtsx', () => {
28 | beforeAll(() => {
29 | fs.mkdirSync(tempDir, { recursive: true })
30 | fs.mkdirSync(srcDir, { recursive: true })
31 | fs.mkdirSync(outDir, { recursive: true })
32 |
33 | // Create a sample TypeScript file
34 | const sampleFile = path.join(srcDir, 'sample.ts')
35 | fs.writeFileSync(
36 | sampleFile,
37 | `
38 | export interface User {
39 | id: number;
40 | name: string;
41 | }
42 |
43 | export function greet(user: User): string {
44 | return \`Hello, \${user.name}!\`;
45 | }
46 | `,
47 | )
48 |
49 | // Create a file with generic types
50 | const genericFile = path.join(srcDir, 'generic.ts')
51 | fs.writeFileSync(
52 | genericFile,
53 | `
54 | export interface Container {
55 | value: T;
56 | }
57 |
58 | export class Stack {
59 | private items: T[] = [];
60 |
61 | push(item: T): void {
62 | this.items.push(item);
63 | }
64 |
65 | pop(): T | undefined {
66 | return this.items.pop();
67 | }
68 | }
69 | `,
70 | )
71 | })
72 |
73 | afterAll(() => {
74 | fs.rmSync(tempDir, { recursive: true, force: true })
75 | })
76 |
77 | test('should generate declaration files with default options', async () => {
78 | const plugin = dts({
79 | root: tempDir,
80 | outdir: outDir,
81 | entrypoints: ['src/sample.ts'],
82 | })
83 |
84 | await plugin.setup(mockPluginBuilder)
85 |
86 | const dtsPath = path.join(outDir, 'sample.d.ts')
87 | expect(fs.existsSync(dtsPath)).toBe(true)
88 |
89 | const content = fs.readFileSync(dtsPath, 'utf-8')
90 | expect(content).toContain('interface User')
91 | expect(content).toContain('function greet')
92 | })
93 |
94 | test('should handle generic types correctly', async () => {
95 | const plugin = dts({
96 | root: tempDir,
97 | outdir: outDir,
98 | entrypoints: ['src/generic.ts'],
99 | })
100 |
101 | await plugin.setup(mockPluginBuilder)
102 |
103 | const dtsPath = path.join(outDir, 'generic.d.ts')
104 | expect(fs.existsSync(dtsPath)).toBe(true)
105 |
106 | const content = fs.readFileSync(dtsPath, 'utf-8')
107 | expect(content).toContain('interface Container')
108 | expect(content).toContain('class Stack')
109 | })
110 |
111 | test('should throw error when root is not provided', async () => {
112 | const plugin = dts({
113 | outdir: outDir,
114 | entrypoints: ['src/sample.ts'],
115 | })
116 |
117 | const builderWithoutRoot = {
118 | ...mockPluginBuilder,
119 | config: { ...mockPluginBuilder.config, root: undefined },
120 | }
121 |
122 | await expect(plugin.setup(builderWithoutRoot))
123 | .rejects
124 | .toThrow('[bun-plugin-dtsx] Root directory is required')
125 | })
126 |
127 | test('should clean output directory when clean option is true', async () => {
128 | // Create a dummy file in the output directory
129 | const dummyFile = path.join(outDir, 'dummy.d.ts')
130 | fs.writeFileSync(dummyFile, 'dummy content')
131 |
132 | const plugin = dts({
133 | root: tempDir,
134 | outdir: outDir,
135 | entrypoints: ['src/sample.ts'],
136 | clean: true,
137 | })
138 |
139 | await plugin.setup(mockPluginBuilder)
140 |
141 | // Verify dummy file was cleaned
142 | expect(fs.existsSync(dummyFile)).toBe(false)
143 | // Verify new declaration file was generated
144 | expect(fs.existsSync(path.join(outDir, 'sample.d.ts'))).toBe(true)
145 | })
146 | })
147 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "incremental": true,
4 | "target": "esnext",
5 | "lib": ["esnext"],
6 | "moduleDetection": "force",
7 | "module": "esnext",
8 | "moduleResolution": "bundler",
9 | "resolveJsonModule": true,
10 | "types": ["node"],
11 | "allowImportingTsExtensions": true,
12 | "strict": true,
13 | "strictNullChecks": true,
14 | "declaration": true,
15 | "declarationMap": true,
16 | "noEmit": true,
17 | "outDir": "./dist",
18 | "esModuleInterop": true,
19 | "forceConsistentCasingInFileNames": true,
20 | "isolatedDeclarations": true,
21 | "skipDefaultLibCheck": true,
22 | "skipLibCheck": true
23 | }
24 | }
25 |
--------------------------------------------------------------------------------