├── .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 | ![Social Card of Bun Plugin dtsx](https://github.com/stacksjs/bun-plugin-dtsx/blob/main/.github/art/cover.png) 2 | 3 | [![npm version][npm-version-src]][npm-version-href] 4 | [![GitHub Actions][github-actions-src]][github-actions-href] 5 | [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](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 | --------------------------------------------------------------------------------