├── .editorconfig
├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug_report.yml
│ ├── config.yml
│ └── feature_request.yml
├── PULL_REQUEST_TEMPLATE.md
├── commit-convention.md
└── workflows
│ └── release-tag.yml
├── .gitignore
├── .npmrc
├── .prettierignore
├── .prettierrc.yaml
├── .vscode
└── settings.json
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── package.json
├── packages
├── create-docs
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── package.json
│ ├── playground
│ │ ├── docs-i18n-ts
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vitepress
│ │ │ │ ├── config
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── zh.ts
│ │ │ │ └── theme
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── styles
│ │ │ │ │ └── custom.css
│ │ │ ├── .vscode
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── docs
│ │ │ │ ├── guide
│ │ │ │ │ ├── asset-handling.md
│ │ │ │ │ ├── index.md
│ │ │ │ │ └── markdown.md
│ │ │ │ ├── index.md
│ │ │ │ ├── public
│ │ │ │ │ ├── favicon.png
│ │ │ │ │ ├── favicon.svg
│ │ │ │ │ ├── logo-large.webp
│ │ │ │ │ └── logo.svg
│ │ │ │ └── zh
│ │ │ │ │ ├── guide
│ │ │ │ │ ├── asset-handling.md
│ │ │ │ │ ├── index.md
│ │ │ │ │ └── markdown.md
│ │ │ │ │ └── index.md
│ │ │ ├── env.d.ts
│ │ │ ├── package.json
│ │ │ └── tsconfig.json
│ │ ├── docs-i18n
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vitepress
│ │ │ │ ├── config
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── zh.js
│ │ │ │ └── theme
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── styles
│ │ │ │ │ └── custom.css
│ │ │ ├── .vscode
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── docs
│ │ │ │ ├── guide
│ │ │ │ │ ├── asset-handling.md
│ │ │ │ │ ├── index.md
│ │ │ │ │ └── markdown.md
│ │ │ │ ├── index.md
│ │ │ │ ├── public
│ │ │ │ │ ├── favicon.png
│ │ │ │ │ ├── favicon.svg
│ │ │ │ │ ├── logo-large.webp
│ │ │ │ │ └── logo.svg
│ │ │ │ └── zh
│ │ │ │ │ ├── guide
│ │ │ │ │ ├── asset-handling.md
│ │ │ │ │ ├── index.md
│ │ │ │ │ └── markdown.md
│ │ │ │ │ └── index.md
│ │ │ └── package.json
│ │ ├── docs-ts
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vitepress
│ │ │ │ ├── config.ts
│ │ │ │ └── theme
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── styles
│ │ │ │ │ └── custom.css
│ │ │ ├── .vscode
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── docs
│ │ │ │ ├── guide
│ │ │ │ │ ├── asset-handling.md
│ │ │ │ │ ├── index.md
│ │ │ │ │ └── markdown.md
│ │ │ │ ├── index.md
│ │ │ │ └── public
│ │ │ │ │ ├── favicon.png
│ │ │ │ │ ├── favicon.svg
│ │ │ │ │ ├── logo-large.webp
│ │ │ │ │ └── logo.svg
│ │ │ ├── env.d.ts
│ │ │ ├── package.json
│ │ │ └── tsconfig.json
│ │ ├── docs-zh-ts
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vitepress
│ │ │ │ ├── config.ts
│ │ │ │ └── theme
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── styles
│ │ │ │ │ └── custom.css
│ │ │ ├── .vscode
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── docs
│ │ │ │ ├── guide
│ │ │ │ │ ├── asset-handling.md
│ │ │ │ │ ├── index.md
│ │ │ │ │ └── markdown.md
│ │ │ │ ├── index.md
│ │ │ │ └── public
│ │ │ │ │ ├── favicon.png
│ │ │ │ │ ├── favicon.svg
│ │ │ │ │ ├── logo-large.webp
│ │ │ │ │ └── logo.svg
│ │ │ ├── env.d.ts
│ │ │ ├── package.json
│ │ │ └── tsconfig.json
│ │ ├── docs-zh
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vitepress
│ │ │ │ ├── config.js
│ │ │ │ └── theme
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── styles
│ │ │ │ │ └── custom.css
│ │ │ ├── .vscode
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── docs
│ │ │ │ ├── guide
│ │ │ │ │ ├── asset-handling.md
│ │ │ │ │ ├── index.md
│ │ │ │ │ └── markdown.md
│ │ │ │ ├── index.md
│ │ │ │ └── public
│ │ │ │ │ ├── favicon.png
│ │ │ │ │ ├── favicon.svg
│ │ │ │ │ ├── logo-large.webp
│ │ │ │ │ └── logo.svg
│ │ │ └── package.json
│ │ └── docs
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vitepress
│ │ │ ├── config.js
│ │ │ └── theme
│ │ │ │ ├── index.js
│ │ │ │ └── styles
│ │ │ │ └── custom.css
│ │ │ ├── .vscode
│ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── docs
│ │ │ ├── guide
│ │ │ │ ├── asset-handling.md
│ │ │ │ ├── index.md
│ │ │ │ └── markdown.md
│ │ │ ├── index.md
│ │ │ └── public
│ │ │ │ ├── favicon.png
│ │ │ │ ├── favicon.svg
│ │ │ │ ├── logo-large.webp
│ │ │ │ └── logo.svg
│ │ │ └── package.json
│ ├── scripts
│ │ └── snapshot.mjs
│ ├── template
│ │ ├── base-js
│ │ │ ├── .vitepress
│ │ │ │ └── theme
│ │ │ │ │ └── index.js
│ │ │ └── package.json
│ │ ├── base-ts
│ │ │ ├── .vitepress
│ │ │ │ └── theme
│ │ │ │ │ └── index.ts
│ │ │ ├── env.d.ts
│ │ │ ├── package.json
│ │ │ └── tsconfig.json
│ │ ├── base
│ │ │ ├── .editorconfig
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vitepress
│ │ │ │ └── theme
│ │ │ │ │ └── styles
│ │ │ │ │ └── custom.css
│ │ │ ├── .vscode
│ │ │ │ └── settings.json
│ │ │ ├── _gitignore
│ │ │ └── docs
│ │ │ │ └── public
│ │ │ │ ├── favicon.png
│ │ │ │ ├── favicon.svg
│ │ │ │ ├── logo-large.webp
│ │ │ │ └── logo.svg
│ │ ├── docs-i18n-ts
│ │ │ └── .vitepress
│ │ │ │ └── config
│ │ │ │ ├── index.ts
│ │ │ │ └── zh.ts
│ │ ├── docs-i18n
│ │ │ └── .vitepress
│ │ │ │ └── config
│ │ │ │ ├── index.js
│ │ │ │ └── zh.js
│ │ ├── docs-ts
│ │ │ └── .vitepress
│ │ │ │ └── config.ts
│ │ ├── docs-zh-ts
│ │ │ └── .vitepress
│ │ │ │ └── config.ts
│ │ ├── docs-zh
│ │ │ └── .vitepress
│ │ │ │ └── config.js
│ │ ├── docs
│ │ │ └── .vitepress
│ │ │ │ └── config.js
│ │ └── i18n
│ │ │ ├── en
│ │ │ ├── guide
│ │ │ │ ├── asset-handling.md
│ │ │ │ ├── index.md
│ │ │ │ └── markdown.md
│ │ │ └── index.md
│ │ │ └── zh
│ │ │ ├── guide
│ │ │ ├── asset-handling.md
│ │ │ ├── index.md
│ │ │ └── markdown.md
│ │ │ └── index.md
│ └── utils
│ │ ├── fsExtra.js
│ │ └── getCommand.js
├── create-electron
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── package.json
│ ├── playground
│ │ ├── react-ts
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── build
│ │ │ │ ├── entitlements.mac.plist
│ │ │ │ ├── icon.icns
│ │ │ │ ├── icon.ico
│ │ │ │ └── icon.png
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.ts
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── resources
│ │ │ │ └── icon.png
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ └── index.ts
│ │ │ │ ├── preload
│ │ │ │ │ ├── index.d.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── renderer
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── src
│ │ │ │ │ ├── App.tsx
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── base.css
│ │ │ │ │ ├── electron.svg
│ │ │ │ │ ├── main.css
│ │ │ │ │ └── wavy-lines.svg
│ │ │ │ │ ├── components
│ │ │ │ │ └── Versions.tsx
│ │ │ │ │ ├── env.d.ts
│ │ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ ├── tsconfig.node.json
│ │ │ └── tsconfig.web.json
│ │ ├── react
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── build
│ │ │ │ ├── entitlements.mac.plist
│ │ │ │ ├── icon.icns
│ │ │ │ ├── icon.ico
│ │ │ │ └── icon.png
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.mjs
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── resources
│ │ │ │ └── icon.png
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ └── index.js
│ │ │ │ ├── preload
│ │ │ │ └── index.js
│ │ │ │ └── renderer
│ │ │ │ ├── index.html
│ │ │ │ └── src
│ │ │ │ ├── App.jsx
│ │ │ │ ├── assets
│ │ │ │ ├── base.css
│ │ │ │ ├── electron.svg
│ │ │ │ ├── main.css
│ │ │ │ └── wavy-lines.svg
│ │ │ │ ├── components
│ │ │ │ └── Versions.jsx
│ │ │ │ └── main.jsx
│ │ ├── solid-ts
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── build
│ │ │ │ ├── entitlements.mac.plist
│ │ │ │ ├── icon.icns
│ │ │ │ ├── icon.ico
│ │ │ │ └── icon.png
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.ts
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── resources
│ │ │ │ └── icon.png
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ └── index.ts
│ │ │ │ ├── preload
│ │ │ │ │ ├── index.d.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── renderer
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── src
│ │ │ │ │ ├── App.tsx
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── base.css
│ │ │ │ │ ├── electron.svg
│ │ │ │ │ ├── main.css
│ │ │ │ │ └── wavy-lines.svg
│ │ │ │ │ ├── components
│ │ │ │ │ └── Versions.tsx
│ │ │ │ │ ├── env.d.ts
│ │ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ ├── tsconfig.node.json
│ │ │ └── tsconfig.web.json
│ │ ├── solid
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── build
│ │ │ │ ├── entitlements.mac.plist
│ │ │ │ ├── icon.icns
│ │ │ │ ├── icon.ico
│ │ │ │ └── icon.png
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.mjs
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── resources
│ │ │ │ └── icon.png
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ └── index.js
│ │ │ │ ├── preload
│ │ │ │ └── index.js
│ │ │ │ └── renderer
│ │ │ │ ├── index.html
│ │ │ │ └── src
│ │ │ │ ├── App.jsx
│ │ │ │ ├── assets
│ │ │ │ ├── base.css
│ │ │ │ ├── electron.svg
│ │ │ │ ├── main.css
│ │ │ │ └── wavy-lines.svg
│ │ │ │ ├── components
│ │ │ │ └── Versions.jsx
│ │ │ │ └── main.jsx
│ │ ├── svelte-ts
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── build
│ │ │ │ ├── entitlements.mac.plist
│ │ │ │ ├── icon.icns
│ │ │ │ ├── icon.ico
│ │ │ │ └── icon.png
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.ts
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── resources
│ │ │ │ └── icon.png
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ └── index.ts
│ │ │ │ ├── preload
│ │ │ │ │ ├── index.d.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── renderer
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── src
│ │ │ │ │ ├── App.svelte
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── base.css
│ │ │ │ │ ├── electron.svg
│ │ │ │ │ ├── main.css
│ │ │ │ │ └── wavy-lines.svg
│ │ │ │ │ ├── components
│ │ │ │ │ └── Versions.svelte
│ │ │ │ │ ├── env.d.ts
│ │ │ │ │ └── main.ts
│ │ │ ├── svelte.config.mjs
│ │ │ ├── tsconfig.json
│ │ │ ├── tsconfig.node.json
│ │ │ └── tsconfig.web.json
│ │ ├── svelte
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── build
│ │ │ │ ├── entitlements.mac.plist
│ │ │ │ ├── icon.icns
│ │ │ │ ├── icon.ico
│ │ │ │ └── icon.png
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.mjs
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── resources
│ │ │ │ └── icon.png
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ └── index.js
│ │ │ │ ├── preload
│ │ │ │ │ └── index.js
│ │ │ │ └── renderer
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── src
│ │ │ │ │ ├── App.svelte
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── base.css
│ │ │ │ │ ├── electron.svg
│ │ │ │ │ ├── main.css
│ │ │ │ │ └── wavy-lines.svg
│ │ │ │ │ ├── components
│ │ │ │ │ └── Versions.svelte
│ │ │ │ │ └── main.js
│ │ │ └── svelte.config.mjs
│ │ ├── vanilla-ts
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── build
│ │ │ │ ├── entitlements.mac.plist
│ │ │ │ ├── icon.icns
│ │ │ │ ├── icon.ico
│ │ │ │ └── icon.png
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.ts
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── resources
│ │ │ │ └── icon.png
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ └── index.ts
│ │ │ │ ├── preload
│ │ │ │ │ ├── index.d.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── renderer
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── base.css
│ │ │ │ │ ├── electron.svg
│ │ │ │ │ ├── main.css
│ │ │ │ │ └── wavy-lines.svg
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── src
│ │ │ │ │ └── renderer.ts
│ │ │ ├── tsconfig.json
│ │ │ ├── tsconfig.node.json
│ │ │ └── tsconfig.web.json
│ │ ├── vanilla
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── build
│ │ │ │ ├── entitlements.mac.plist
│ │ │ │ ├── icon.icns
│ │ │ │ ├── icon.ico
│ │ │ │ └── icon.png
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.mjs
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── resources
│ │ │ │ └── icon.png
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ └── index.js
│ │ │ │ ├── preload
│ │ │ │ └── index.js
│ │ │ │ └── renderer
│ │ │ │ ├── assets
│ │ │ │ ├── base.css
│ │ │ │ ├── electron.svg
│ │ │ │ ├── main.css
│ │ │ │ └── wavy-lines.svg
│ │ │ │ ├── index.html
│ │ │ │ └── src
│ │ │ │ └── renderer.js
│ │ ├── vue-ts
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── build
│ │ │ │ ├── entitlements.mac.plist
│ │ │ │ ├── icon.icns
│ │ │ │ ├── icon.ico
│ │ │ │ └── icon.png
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.ts
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── resources
│ │ │ │ └── icon.png
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ └── index.ts
│ │ │ │ ├── preload
│ │ │ │ │ ├── index.d.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── renderer
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── src
│ │ │ │ │ ├── App.vue
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── base.css
│ │ │ │ │ ├── electron.svg
│ │ │ │ │ ├── main.css
│ │ │ │ │ └── wavy-lines.svg
│ │ │ │ │ ├── components
│ │ │ │ │ └── Versions.vue
│ │ │ │ │ ├── env.d.ts
│ │ │ │ │ └── main.ts
│ │ │ ├── tsconfig.json
│ │ │ ├── tsconfig.node.json
│ │ │ └── tsconfig.web.json
│ │ └── vue
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ ├── launch.json
│ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── build
│ │ │ ├── entitlements.mac.plist
│ │ │ ├── icon.icns
│ │ │ ├── icon.ico
│ │ │ └── icon.png
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.mjs
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── resources
│ │ │ └── icon.png
│ │ │ └── src
│ │ │ ├── main
│ │ │ └── index.js
│ │ │ ├── preload
│ │ │ └── index.js
│ │ │ └── renderer
│ │ │ ├── index.html
│ │ │ └── src
│ │ │ ├── App.vue
│ │ │ ├── assets
│ │ │ ├── base.css
│ │ │ ├── electron.svg
│ │ │ ├── main.css
│ │ │ └── wavy-lines.svg
│ │ │ ├── components
│ │ │ └── Versions.vue
│ │ │ └── main.js
│ ├── scripts
│ │ └── snapshot.mjs
│ ├── template
│ │ ├── base
│ │ │ ├── .editorconfig
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ ├── launch.json
│ │ │ │ └── settings.json
│ │ │ ├── _gitignore
│ │ │ ├── build
│ │ │ │ ├── entitlements.mac.plist
│ │ │ │ ├── icon.icns
│ │ │ │ ├── icon.ico
│ │ │ │ └── icon.png
│ │ │ └── resources
│ │ │ │ └── icon.png
│ │ ├── react-ts
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.ts
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ └── index.ts
│ │ │ │ ├── preload
│ │ │ │ │ ├── index.d.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── renderer
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── src
│ │ │ │ │ ├── App.tsx
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── base.css
│ │ │ │ │ ├── electron.svg
│ │ │ │ │ ├── main.css
│ │ │ │ │ └── wavy-lines.svg
│ │ │ │ │ ├── components
│ │ │ │ │ └── Versions.tsx
│ │ │ │ │ ├── env.d.ts
│ │ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ ├── tsconfig.node.json
│ │ │ └── tsconfig.web.json
│ │ ├── react
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.mjs
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ └── index.js
│ │ │ │ ├── preload
│ │ │ │ └── index.js
│ │ │ │ └── renderer
│ │ │ │ ├── index.html
│ │ │ │ └── src
│ │ │ │ ├── App.jsx
│ │ │ │ ├── assets
│ │ │ │ ├── base.css
│ │ │ │ ├── electron.svg
│ │ │ │ ├── main.css
│ │ │ │ └── wavy-lines.svg
│ │ │ │ ├── components
│ │ │ │ └── Versions.jsx
│ │ │ │ └── main.jsx
│ │ ├── solid-ts
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.ts
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ └── index.ts
│ │ │ │ ├── preload
│ │ │ │ │ ├── index.d.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── renderer
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── src
│ │ │ │ │ ├── App.tsx
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── base.css
│ │ │ │ │ ├── electron.svg
│ │ │ │ │ ├── main.css
│ │ │ │ │ └── wavy-lines.svg
│ │ │ │ │ ├── components
│ │ │ │ │ └── Versions.tsx
│ │ │ │ │ ├── env.d.ts
│ │ │ │ │ └── main.tsx
│ │ │ ├── tsconfig.json
│ │ │ ├── tsconfig.node.json
│ │ │ └── tsconfig.web.json
│ │ ├── solid
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.mjs
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ └── index.js
│ │ │ │ ├── preload
│ │ │ │ └── index.js
│ │ │ │ └── renderer
│ │ │ │ ├── index.html
│ │ │ │ └── src
│ │ │ │ ├── App.jsx
│ │ │ │ ├── assets
│ │ │ │ ├── base.css
│ │ │ │ ├── electron.svg
│ │ │ │ ├── main.css
│ │ │ │ └── wavy-lines.svg
│ │ │ │ ├── components
│ │ │ │ └── Versions.jsx
│ │ │ │ └── main.jsx
│ │ ├── svelte-ts
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.ts
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ └── index.ts
│ │ │ │ ├── preload
│ │ │ │ │ ├── index.d.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── renderer
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── src
│ │ │ │ │ ├── App.svelte
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── base.css
│ │ │ │ │ ├── electron.svg
│ │ │ │ │ ├── main.css
│ │ │ │ │ └── wavy-lines.svg
│ │ │ │ │ ├── components
│ │ │ │ │ └── Versions.svelte
│ │ │ │ │ ├── env.d.ts
│ │ │ │ │ └── main.ts
│ │ │ ├── svelte.config.mjs
│ │ │ ├── tsconfig.json
│ │ │ ├── tsconfig.node.json
│ │ │ └── tsconfig.web.json
│ │ ├── svelte
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.mjs
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ └── index.js
│ │ │ │ ├── preload
│ │ │ │ │ └── index.js
│ │ │ │ └── renderer
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── src
│ │ │ │ │ ├── App.svelte
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── base.css
│ │ │ │ │ ├── electron.svg
│ │ │ │ │ ├── main.css
│ │ │ │ │ └── wavy-lines.svg
│ │ │ │ │ ├── components
│ │ │ │ │ └── Versions.svelte
│ │ │ │ │ └── main.js
│ │ │ └── svelte.config.mjs
│ │ ├── vanilla-ts
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.ts
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ └── index.ts
│ │ │ │ ├── preload
│ │ │ │ │ ├── index.d.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── renderer
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── base.css
│ │ │ │ │ ├── electron.svg
│ │ │ │ │ ├── main.css
│ │ │ │ │ └── wavy-lines.svg
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── src
│ │ │ │ │ └── renderer.ts
│ │ │ ├── tsconfig.json
│ │ │ ├── tsconfig.node.json
│ │ │ └── tsconfig.web.json
│ │ ├── vanilla
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.mjs
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ │ ├── main
│ │ │ │ └── index.js
│ │ │ │ ├── preload
│ │ │ │ └── index.js
│ │ │ │ └── renderer
│ │ │ │ ├── assets
│ │ │ │ ├── base.css
│ │ │ │ ├── electron.svg
│ │ │ │ ├── main.css
│ │ │ │ └── wavy-lines.svg
│ │ │ │ ├── index.html
│ │ │ │ └── src
│ │ │ │ └── renderer.js
│ │ ├── vue-ts
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.ts
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ └── index.ts
│ │ │ │ ├── preload
│ │ │ │ │ ├── index.d.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── renderer
│ │ │ │ │ ├── index.html
│ │ │ │ │ └── src
│ │ │ │ │ ├── App.vue
│ │ │ │ │ ├── assets
│ │ │ │ │ ├── base.css
│ │ │ │ │ ├── electron.svg
│ │ │ │ │ ├── main.css
│ │ │ │ │ └── wavy-lines.svg
│ │ │ │ │ ├── components
│ │ │ │ │ └── Versions.vue
│ │ │ │ │ ├── env.d.ts
│ │ │ │ │ └── main.ts
│ │ │ ├── tsconfig.json
│ │ │ ├── tsconfig.node.json
│ │ │ └── tsconfig.web.json
│ │ └── vue
│ │ │ ├── electron-builder.yml
│ │ │ ├── electron.vite.config.mjs
│ │ │ ├── eslint.config.mjs
│ │ │ ├── package.json
│ │ │ └── src
│ │ │ ├── main
│ │ │ └── index.js
│ │ │ ├── preload
│ │ │ └── index.js
│ │ │ └── renderer
│ │ │ ├── index.html
│ │ │ └── src
│ │ │ ├── App.vue
│ │ │ ├── assets
│ │ │ ├── base.css
│ │ │ ├── electron.svg
│ │ │ ├── main.css
│ │ │ └── wavy-lines.svg
│ │ │ ├── components
│ │ │ └── Versions.vue
│ │ │ └── main.js
│ └── utils
│ │ ├── fsExtra.js
│ │ ├── generateReadme.js
│ │ ├── getCommand.js
│ │ ├── sortDependencies.js
│ │ └── useElectronUpdater.js
├── create-monorepo
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── package.json
│ ├── playground
│ │ ├── monorepo-test
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .npmrc
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── eslint.config.js
│ │ │ ├── package.json
│ │ │ ├── packages
│ │ │ │ └── foo
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── rollup.config.ts
│ │ │ │ │ ├── src
│ │ │ │ │ └── index.ts
│ │ │ │ │ ├── test
│ │ │ │ │ └── index.test.ts
│ │ │ │ │ └── tsconfig.json
│ │ │ ├── pnpm-workspace.yaml
│ │ │ ├── tsconfig.base.json
│ │ │ └── tsconfig.json
│ │ ├── monorepo-tsx
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .npmrc
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── eslint.config.js
│ │ │ ├── package.json
│ │ │ ├── packages
│ │ │ │ └── foo
│ │ │ │ │ ├── .env
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── env.d.ts
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── rollup.config.ts
│ │ │ │ │ ├── src
│ │ │ │ │ └── index.ts
│ │ │ │ │ └── tsconfig.json
│ │ │ ├── pnpm-workspace.yaml
│ │ │ ├── tsconfig.base.json
│ │ │ └── tsconfig.json
│ │ └── monorepo
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── .npmrc
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ │ ├── README.md
│ │ │ ├── eslint.config.js
│ │ │ ├── package.json
│ │ │ ├── packages
│ │ │ └── foo
│ │ │ │ ├── README.md
│ │ │ │ ├── package.json
│ │ │ │ ├── rollup.config.ts
│ │ │ │ ├── src
│ │ │ │ └── index.ts
│ │ │ │ └── tsconfig.json
│ │ │ ├── pnpm-workspace.yaml
│ │ │ ├── tsconfig.base.json
│ │ │ └── tsconfig.json
│ ├── scripts
│ │ └── snapshot.mjs
│ ├── template
│ │ ├── base
│ │ │ ├── .editorconfig
│ │ │ ├── .prettierignore
│ │ │ ├── .prettierrc.yaml
│ │ │ ├── .vscode
│ │ │ │ ├── extensions.json
│ │ │ │ └── settings.json
│ │ │ ├── _gitignore
│ │ │ ├── eslint.config.js
│ │ │ ├── package.json
│ │ │ ├── packages
│ │ │ │ └── foo
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── rollup.config.ts
│ │ │ │ │ ├── src
│ │ │ │ │ └── index.ts
│ │ │ │ │ └── tsconfig.json
│ │ │ ├── pnpm-workspace.yaml
│ │ │ ├── tsconfig.base.json
│ │ │ └── tsconfig.json
│ │ ├── env
│ │ │ └── packages
│ │ │ │ └── foo
│ │ │ │ ├── .env
│ │ │ │ └── env.d.ts
│ │ └── test
│ │ │ └── packages
│ │ │ └── foo
│ │ │ └── test
│ │ │ └── index.test.ts
│ └── utils
│ │ └── fsExtra.js
└── create-node-lib
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── index.js
│ ├── package.json
│ ├── playground
│ ├── rollup-tsx
│ │ ├── .editorconfig
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .prettierrc.yaml
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── env.d.ts
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── rollup.config.ts
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── rollup-vitest
│ │ ├── .editorconfig
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .prettierrc.yaml
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── rollup.config.ts
│ │ ├── src
│ │ │ └── index.ts
│ │ ├── test
│ │ │ └── index.test.ts
│ │ └── tsconfig.json
│ ├── rollup
│ │ ├── .editorconfig
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .prettierrc.yaml
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── rollup.config.ts
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── tsup-tsx
│ │ ├── .editorconfig
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .prettierrc.yaml
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── env.d.ts
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── tsup-vitest
│ │ ├── .editorconfig
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .prettierrc.yaml
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ ├── test
│ │ │ └── index.test.ts
│ │ └── tsconfig.json
│ ├── tsup-with-config
│ │ ├── .editorconfig
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .prettierrc.yaml
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ ├── tsconfig.json
│ │ └── tsup.config.ts
│ ├── tsup
│ │ ├── .editorconfig
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .prettierrc.yaml
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── unbuild-tsx
│ │ ├── .editorconfig
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .prettierrc.yaml
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── env.d.ts
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── unbuild-vitest
│ │ ├── .editorconfig
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .prettierrc.yaml
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ ├── test
│ │ │ └── index.test.ts
│ │ └── tsconfig.json
│ ├── unbuild-with-config
│ │ ├── .editorconfig
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .prettierrc.yaml
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ ├── README.md
│ │ ├── build.config.ts
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ └── unbuild
│ │ ├── .editorconfig
│ │ ├── .gitignore
│ │ ├── .prettierignore
│ │ ├── .prettierrc.yaml
│ │ ├── .vscode
│ │ ├── extensions.json
│ │ └── settings.json
│ │ ├── README.md
│ │ ├── eslint.config.js
│ │ ├── package.json
│ │ ├── src
│ │ └── index.ts
│ │ └── tsconfig.json
│ ├── scripts
│ └── snapshot.mjs
│ ├── template
│ ├── base
│ │ ├── .editorconfig
│ │ ├── .prettierignore
│ │ ├── .prettierrc.yaml
│ │ ├── .vscode
│ │ │ ├── extensions.json
│ │ │ └── settings.json
│ │ ├── _gitignore
│ │ ├── eslint.config.js
│ │ ├── src
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── config
│ │ ├── build.config.ts
│ │ ├── rollup.config.ts
│ │ └── tsup.config.ts
│ ├── env
│ │ ├── .env
│ │ └── env.d.ts
│ ├── rollup
│ │ └── package.json
│ ├── test
│ │ └── test
│ │ │ └── index.test.ts
│ ├── tsup
│ │ └── package.json
│ └── unbuild
│ │ └── package.json
│ └── utils
│ ├── fsExtra.js
│ └── getCommand.js
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
└── scripts
└── verifyCommit.js
/.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
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: alex8088
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .DS_Store
3 | dist
4 | *.log
5 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | shamefully-hoist=true
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | packages/**/template
2 | packages/**/playground
3 | pnpm-lock.yaml
4 |
--------------------------------------------------------------------------------
/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 100
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[javascript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[json]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-docs/README.md:
--------------------------------------------------------------------------------
1 | # create-docs
2 |
3 | An easy way to generate a static site
4 |
5 | ## Usage
6 |
7 | With npm:
8 |
9 | ```bash
10 | $ npm create @quick-start/docs
11 | ```
12 |
13 | With yarn:
14 |
15 | ```bash
16 | $ yarn create @quick-start/docs
17 | ```
18 |
19 | With pnpm:
20 |
21 | ```bash
22 | $ pnpm create @quick-start/docs
23 | ```
24 |
25 | Then follow the prompts!
26 |
27 | ## Powered By
28 |
29 | - [VitePress](https://vitepress.vuejs.org/)
30 | - [Vite](https://vitejs.dev/)
31 | - [Vue](https://vuejs.org/)
32 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n-ts/.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
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n-ts/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | *.log
3 | .vitepress/dist
4 | .vitepress/cache
5 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n-ts/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n-ts/.vitepress/theme/index.ts:
--------------------------------------------------------------------------------
1 | import DefaultTheme from 'vitepress/theme'
2 | import 'virtual:group-icons.css'
3 | import './styles/custom.css'
4 |
5 | export default DefaultTheme
6 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n-ts/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n-ts/README.md:
--------------------------------------------------------------------------------
1 | # docs-i18n-ts
2 |
3 | This site is built with [VitePress](https://vitepress.dev).
4 |
5 | ## Install
6 |
7 | ```bash
8 | $ pnpm install
9 | ```
10 |
11 | ## Development
12 |
13 | ```bash
14 | $ pnpm dev
15 | ```
16 |
17 | ## Build
18 |
19 | ```bash
20 | $ pnpm build
21 | ```
22 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n-ts/docs/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/playground/docs-i18n-ts/docs/public/favicon.png
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n-ts/docs/public/logo-large.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/playground/docs-i18n-ts/docs/public/logo-large.webp
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n-ts/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n-ts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "docs-i18n-ts",
3 | "private": true,
4 | "version": "1.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vitepress",
8 | "build": "vitepress build",
9 | "serve": "vitepress serve"
10 | },
11 | "devDependencies": {
12 | "@types/node": "^22.14.1",
13 | "vitepress": "^1.6.3",
14 | "vitepress-plugin-group-icons": "^1.4.1"
15 | },
16 | "pnpm": {
17 | "peerDependencyRules": {
18 | "ignoreMissing": [
19 | "@algolia/client-search",
20 | "search-insights"
21 | ]
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "moduleResolution": "node",
6 | "esModuleInterop": true,
7 | "resolveJsonModule": true,
8 | "strict": true,
9 | "jsx": "preserve"
10 | },
11 | "include": ["env.d.ts", ".vitepress/**/*"]
12 | }
13 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n/.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
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | *.log
3 | .vitepress/dist
4 | .vitepress/cache
5 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n/.vitepress/theme/index.js:
--------------------------------------------------------------------------------
1 | import DefaultTheme from 'vitepress/theme'
2 | import 'virtual:group-icons.css'
3 | import './styles/custom.css'
4 |
5 | export default DefaultTheme
6 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n/README.md:
--------------------------------------------------------------------------------
1 | # docs-i18n
2 |
3 | This site is built with [VitePress](https://vitepress.dev).
4 |
5 | ## Install
6 |
7 | ```bash
8 | $ pnpm install
9 | ```
10 |
11 | ## Development
12 |
13 | ```bash
14 | $ pnpm dev
15 | ```
16 |
17 | ## Build
18 |
19 | ```bash
20 | $ pnpm build
21 | ```
22 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n/docs/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/playground/docs-i18n/docs/public/favicon.png
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n/docs/public/logo-large.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/playground/docs-i18n/docs/public/logo-large.webp
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-i18n/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "docs-i18n",
3 | "private": true,
4 | "version": "1.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vitepress",
8 | "build": "vitepress build",
9 | "serve": "vitepress serve"
10 | },
11 | "devDependencies": {
12 | "vitepress": "^1.6.3",
13 | "vitepress-plugin-group-icons": "^1.4.1"
14 | },
15 | "pnpm": {
16 | "peerDependencyRules": {
17 | "ignoreMissing": [
18 | "@algolia/client-search",
19 | "search-insights"
20 | ]
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-ts/.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
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-ts/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | *.log
3 | .vitepress/dist
4 | .vitepress/cache
5 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-ts/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-ts/.vitepress/theme/index.ts:
--------------------------------------------------------------------------------
1 | import DefaultTheme from 'vitepress/theme'
2 | import 'virtual:group-icons.css'
3 | import './styles/custom.css'
4 |
5 | export default DefaultTheme
6 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-ts/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-ts/README.md:
--------------------------------------------------------------------------------
1 | # docs-ts
2 |
3 | This site is built with [VitePress](https://vitepress.dev).
4 |
5 | ## Install
6 |
7 | ```bash
8 | $ pnpm install
9 | ```
10 |
11 | ## Development
12 |
13 | ```bash
14 | $ pnpm dev
15 | ```
16 |
17 | ## Build
18 |
19 | ```bash
20 | $ pnpm build
21 | ```
22 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-ts/docs/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/playground/docs-ts/docs/public/favicon.png
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-ts/docs/public/logo-large.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/playground/docs-ts/docs/public/logo-large.webp
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-ts/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-ts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "docs-ts",
3 | "private": true,
4 | "version": "1.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vitepress",
8 | "build": "vitepress build",
9 | "serve": "vitepress serve"
10 | },
11 | "devDependencies": {
12 | "@types/node": "^22.14.1",
13 | "vitepress": "^1.6.3",
14 | "vitepress-plugin-group-icons": "^1.4.1"
15 | },
16 | "pnpm": {
17 | "peerDependencyRules": {
18 | "ignoreMissing": [
19 | "@algolia/client-search",
20 | "search-insights"
21 | ]
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "moduleResolution": "node",
6 | "esModuleInterop": true,
7 | "resolveJsonModule": true,
8 | "strict": true,
9 | "jsx": "preserve"
10 | },
11 | "include": ["env.d.ts", ".vitepress/**/*"]
12 | }
13 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh-ts/.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
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh-ts/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | *.log
3 | .vitepress/dist
4 | .vitepress/cache
5 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh-ts/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh-ts/.vitepress/theme/index.ts:
--------------------------------------------------------------------------------
1 | import DefaultTheme from 'vitepress/theme'
2 | import 'virtual:group-icons.css'
3 | import './styles/custom.css'
4 |
5 | export default DefaultTheme
6 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh-ts/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh-ts/README.md:
--------------------------------------------------------------------------------
1 | # docs-zh-ts
2 |
3 | This site is built with [VitePress](https://vitepress.dev).
4 |
5 | ## Install
6 |
7 | ```bash
8 | $ pnpm install
9 | ```
10 |
11 | ## Development
12 |
13 | ```bash
14 | $ pnpm dev
15 | ```
16 |
17 | ## Build
18 |
19 | ```bash
20 | $ pnpm build
21 | ```
22 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh-ts/docs/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/playground/docs-zh-ts/docs/public/favicon.png
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh-ts/docs/public/logo-large.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/playground/docs-zh-ts/docs/public/logo-large.webp
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh-ts/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh-ts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "docs-zh-ts",
3 | "private": true,
4 | "version": "1.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vitepress",
8 | "build": "vitepress build",
9 | "serve": "vitepress serve"
10 | },
11 | "devDependencies": {
12 | "@types/node": "^22.14.1",
13 | "vitepress": "^1.6.3",
14 | "vitepress-plugin-group-icons": "^1.4.1"
15 | },
16 | "pnpm": {
17 | "peerDependencyRules": {
18 | "ignoreMissing": [
19 | "@algolia/client-search",
20 | "search-insights"
21 | ]
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "moduleResolution": "node",
6 | "esModuleInterop": true,
7 | "resolveJsonModule": true,
8 | "strict": true,
9 | "jsx": "preserve"
10 | },
11 | "include": ["env.d.ts", ".vitepress/**/*"]
12 | }
13 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh/.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
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | *.log
3 | .vitepress/dist
4 | .vitepress/cache
5 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh/.vitepress/theme/index.js:
--------------------------------------------------------------------------------
1 | import DefaultTheme from 'vitepress/theme'
2 | import 'virtual:group-icons.css'
3 | import './styles/custom.css'
4 |
5 | export default DefaultTheme
6 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh/README.md:
--------------------------------------------------------------------------------
1 | # docs-zh
2 |
3 | This site is built with [VitePress](https://vitepress.dev).
4 |
5 | ## Install
6 |
7 | ```bash
8 | $ pnpm install
9 | ```
10 |
11 | ## Development
12 |
13 | ```bash
14 | $ pnpm dev
15 | ```
16 |
17 | ## Build
18 |
19 | ```bash
20 | $ pnpm build
21 | ```
22 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh/docs/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/playground/docs-zh/docs/public/favicon.png
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh/docs/public/logo-large.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/playground/docs-zh/docs/public/logo-large.webp
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs-zh/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "docs-zh",
3 | "private": true,
4 | "version": "1.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vitepress",
8 | "build": "vitepress build",
9 | "serve": "vitepress serve"
10 | },
11 | "devDependencies": {
12 | "vitepress": "^1.6.3",
13 | "vitepress-plugin-group-icons": "^1.4.1"
14 | },
15 | "pnpm": {
16 | "peerDependencyRules": {
17 | "ignoreMissing": [
18 | "@algolia/client-search",
19 | "search-insights"
20 | ]
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs/.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
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | *.log
3 | .vitepress/dist
4 | .vitepress/cache
5 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs/.vitepress/theme/index.js:
--------------------------------------------------------------------------------
1 | import DefaultTheme from 'vitepress/theme'
2 | import 'virtual:group-icons.css'
3 | import './styles/custom.css'
4 |
5 | export default DefaultTheme
6 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs/README.md:
--------------------------------------------------------------------------------
1 | # docs
2 |
3 | This site is built with [VitePress](https://vitepress.dev).
4 |
5 | ## Install
6 |
7 | ```bash
8 | $ pnpm install
9 | ```
10 |
11 | ## Development
12 |
13 | ```bash
14 | $ pnpm dev
15 | ```
16 |
17 | ## Build
18 |
19 | ```bash
20 | $ pnpm build
21 | ```
22 |
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs/docs/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/playground/docs/docs/public/favicon.png
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs/docs/public/logo-large.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/playground/docs/docs/public/logo-large.webp
--------------------------------------------------------------------------------
/packages/create-docs/playground/docs/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "docs",
3 | "private": true,
4 | "version": "1.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vitepress",
8 | "build": "vitepress build",
9 | "serve": "vitepress serve"
10 | },
11 | "devDependencies": {
12 | "vitepress": "^1.6.3",
13 | "vitepress-plugin-group-icons": "^1.4.1"
14 | },
15 | "pnpm": {
16 | "peerDependencyRules": {
17 | "ignoreMissing": [
18 | "@algolia/client-search",
19 | "search-insights"
20 | ]
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/create-docs/scripts/snapshot.mjs:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zx
2 | import 'zx/globals'
3 |
4 | const playgroundDir = path.resolve(__dirname, '../playground')
5 | const bin = path.posix.relative('../playground/', '../index.js')
6 |
7 | if (!fs.existsSync(playgroundDir)) fs.mkdirSync(playgroundDir)
8 |
9 | cd(playgroundDir)
10 |
11 | await $`node ${bin} docs --skip`
12 | await $`node ${bin} docs-ts --ts --skip`
13 | await $`node ${bin} docs-i18n --i18n --skip`
14 | await $`node ${bin} docs-i18n-ts --ts --i18n --skip`
15 | await $`node ${bin} docs-zh --locale zh --skip`
16 | await $`node ${bin} docs-zh-ts --ts --locale zh --skip`
17 |
--------------------------------------------------------------------------------
/packages/create-docs/template/base-js/.vitepress/theme/index.js:
--------------------------------------------------------------------------------
1 | import DefaultTheme from 'vitepress/theme'
2 | import 'virtual:group-icons.css'
3 | import './styles/custom.css'
4 |
5 | export default DefaultTheme
6 |
--------------------------------------------------------------------------------
/packages/create-docs/template/base-js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "my-docs",
3 | "private": true,
4 | "version": "1.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vitepress",
8 | "build": "vitepress build",
9 | "serve": "vitepress serve"
10 | },
11 | "devDependencies": {
12 | "vitepress": "^1.6.3",
13 | "vitepress-plugin-group-icons": "^1.4.1"
14 | },
15 | "pnpm": {
16 | "peerDependencyRules": {
17 | "ignoreMissing": [
18 | "@algolia/client-search",
19 | "search-insights"
20 | ]
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/create-docs/template/base-ts/.vitepress/theme/index.ts:
--------------------------------------------------------------------------------
1 | import DefaultTheme from 'vitepress/theme'
2 | import 'virtual:group-icons.css'
3 | import './styles/custom.css'
4 |
5 | export default DefaultTheme
6 |
--------------------------------------------------------------------------------
/packages/create-docs/template/base-ts/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/packages/create-docs/template/base-ts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "my-docs",
3 | "private": true,
4 | "version": "1.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vitepress",
8 | "build": "vitepress build",
9 | "serve": "vitepress serve"
10 | },
11 | "devDependencies": {
12 | "@types/node": "^22.14.1",
13 | "vitepress": "^1.6.3",
14 | "vitepress-plugin-group-icons": "^1.4.1"
15 | },
16 | "pnpm": {
17 | "peerDependencyRules": {
18 | "ignoreMissing": [
19 | "@algolia/client-search",
20 | "search-insights"
21 | ]
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/packages/create-docs/template/base-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "moduleResolution": "node",
6 | "esModuleInterop": true,
7 | "resolveJsonModule": true,
8 | "strict": true,
9 | "jsx": "preserve"
10 | },
11 | "include": ["env.d.ts", ".vitepress/**/*"]
12 | }
13 |
--------------------------------------------------------------------------------
/packages/create-docs/template/base/.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
--------------------------------------------------------------------------------
/packages/create-docs/template/base/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-docs/template/base/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-docs/template/base/_gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | *.log
3 | .vitepress/dist
4 | .vitepress/cache
5 |
--------------------------------------------------------------------------------
/packages/create-docs/template/base/docs/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/template/base/docs/public/favicon.png
--------------------------------------------------------------------------------
/packages/create-docs/template/base/docs/public/logo-large.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-docs/template/base/docs/public/logo-large.webp
--------------------------------------------------------------------------------
/packages/create-docs/utils/getCommand.js:
--------------------------------------------------------------------------------
1 | module.exports = (packageManager, scriptName) => {
2 | if (scriptName === 'install') {
3 | return packageManager === 'yarn' ? 'yarn' : `${packageManager} install`
4 | }
5 |
6 | return packageManager === 'npm' ? `npm run ${scriptName}` : `${packageManager} ${scriptName}`
7 | }
8 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/.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
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | out
4 | .DS_Store
5 | .eslintcache
6 | *.log*
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/.prettierignore:
--------------------------------------------------------------------------------
1 | out
2 | dist
3 | pnpm-lock.yaml
4 | LICENSE.md
5 | tsconfig.json
6 | tsconfig.*.json
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 100
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/README.md:
--------------------------------------------------------------------------------
1 | # react-ts
2 |
3 | An Electron application with React and TypeScript
4 |
5 | ## Recommended IDE Setup
6 |
7 | - [VSCode](https://code.visualstudio.com/) + [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) + [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
8 |
9 | ## Project Setup
10 |
11 | ### Install
12 |
13 | ```bash
14 | $ pnpm install
15 | ```
16 |
17 | ### Development
18 |
19 | ```bash
20 | $ pnpm dev
21 | ```
22 |
23 | ### Build
24 |
25 | ```bash
26 | # For windows
27 | $ pnpm build:win
28 |
29 | # For macOS
30 | $ pnpm build:mac
31 |
32 | # For Linux
33 | $ pnpm build:linux
34 | ```
35 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/build/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-jit
6 |
7 | com.apple.security.cs.allow-unsigned-executable-memory
8 |
9 | com.apple.security.cs.allow-dyld-environment-variables
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/build/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/react-ts/build/icon.icns
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/build/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/react-ts/build/icon.ico
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/build/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/react-ts/build/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/electron.vite.config.ts:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
3 | import react from '@vitejs/plugin-react'
4 |
5 | export default defineConfig({
6 | main: {
7 | plugins: [externalizeDepsPlugin()]
8 | },
9 | preload: {
10 | plugins: [externalizeDepsPlugin()]
11 | },
12 | renderer: {
13 | resolve: {
14 | alias: {
15 | '@renderer': resolve('src/renderer/src')
16 | }
17 | },
18 | plugins: [react()]
19 | }
20 | })
21 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/react-ts/resources/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/src/preload/index.d.ts:
--------------------------------------------------------------------------------
1 | import { ElectronAPI } from '@electron-toolkit/preload'
2 |
3 | declare global {
4 | interface Window {
5 | electron: ElectronAPI
6 | api: unknown
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/src/renderer/src/components/Versions.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from 'react'
2 |
3 | function Versions(): React.JSX.Element {
4 | const [versions] = useState(window.electron.process.versions)
5 |
6 | return (
7 |
8 | - Electron v{versions.electron}
9 | - Chromium v{versions.chrome}
10 | - Node v{versions.node}
11 |
12 | )
13 | }
14 |
15 | export default Versions
16 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/src/renderer/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/src/renderer/src/main.tsx:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { StrictMode } from 'react'
4 | import { createRoot } from 'react-dom/client'
5 | import App from './App'
6 |
7 | createRoot(document.getElementById('root')!).render(
8 |
9 |
10 |
11 | )
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [{ "path": "./tsconfig.node.json" }, { "path": "./tsconfig.web.json" }]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
3 | "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/**/*"],
4 | "compilerOptions": {
5 | "composite": true,
6 | "types": ["electron-vite/node"]
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react-ts/tsconfig.web.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.web.json",
3 | "include": [
4 | "src/renderer/src/env.d.ts",
5 | "src/renderer/src/**/*",
6 | "src/renderer/src/**/*.tsx",
7 | "src/preload/*.d.ts"
8 | ],
9 | "compilerOptions": {
10 | "composite": true,
11 | "jsx": "react-jsx",
12 | "baseUrl": ".",
13 | "paths": {
14 | "@renderer/*": [
15 | "src/renderer/src/*"
16 | ]
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/.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
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | out
4 | .DS_Store
5 | .eslintcache
6 | *.log*
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/.prettierignore:
--------------------------------------------------------------------------------
1 | out
2 | dist
3 | pnpm-lock.yaml
4 | LICENSE.md
5 | tsconfig.json
6 | tsconfig.*.json
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 100
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/README.md:
--------------------------------------------------------------------------------
1 | # react
2 |
3 | An Electron application with React
4 |
5 | ## Recommended IDE Setup
6 |
7 | - [VSCode](https://code.visualstudio.com/) + [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) + [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
8 |
9 | ## Project Setup
10 |
11 | ### Install
12 |
13 | ```bash
14 | $ pnpm install
15 | ```
16 |
17 | ### Development
18 |
19 | ```bash
20 | $ pnpm dev
21 | ```
22 |
23 | ### Build
24 |
25 | ```bash
26 | # For windows
27 | $ pnpm build:win
28 |
29 | # For macOS
30 | $ pnpm build:mac
31 |
32 | # For Linux
33 | $ pnpm build:linux
34 | ```
35 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/build/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-jit
6 |
7 | com.apple.security.cs.allow-unsigned-executable-memory
8 |
9 | com.apple.security.cs.allow-dyld-environment-variables
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/build/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/react/build/icon.icns
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/build/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/react/build/icon.ico
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/build/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/react/build/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/electron.vite.config.mjs:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
3 | import react from '@vitejs/plugin-react'
4 |
5 | export default defineConfig({
6 | main: {
7 | plugins: [externalizeDepsPlugin()]
8 | },
9 | preload: {
10 | plugins: [externalizeDepsPlugin()]
11 | },
12 | renderer: {
13 | resolve: {
14 | alias: {
15 | '@renderer': resolve('src/renderer/src')
16 | }
17 | },
18 | plugins: [react()]
19 | }
20 | })
21 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/react/resources/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/src/preload/index.js:
--------------------------------------------------------------------------------
1 | import { contextBridge } from 'electron'
2 | import { electronAPI } from '@electron-toolkit/preload'
3 |
4 | // Custom APIs for renderer
5 | const api = {}
6 |
7 | // Use `contextBridge` APIs to expose Electron APIs to
8 | // renderer only if context isolation is enabled, otherwise
9 | // just add to the DOM global.
10 | if (process.contextIsolated) {
11 | try {
12 | contextBridge.exposeInMainWorld('electron', electronAPI)
13 | contextBridge.exposeInMainWorld('api', api)
14 | } catch (error) {
15 | console.error(error)
16 | }
17 | } else {
18 | window.electron = electronAPI
19 | window.api = api
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/src/renderer/src/components/Versions.jsx:
--------------------------------------------------------------------------------
1 | import { useState } from 'react'
2 |
3 | function Versions() {
4 | const [versions] = useState(window.electron.process.versions)
5 |
6 | return (
7 |
8 | - Electron v{versions.electron}
9 | - Chromium v{versions.chrome}
10 | - Node v{versions.node}
11 |
12 | )
13 | }
14 |
15 | export default Versions
16 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/react/src/renderer/src/main.jsx:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { StrictMode } from 'react'
4 | import { createRoot } from 'react-dom/client'
5 | import App from './App'
6 |
7 | createRoot(document.getElementById('root')).render(
8 |
9 |
10 |
11 | )
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/.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
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | out
4 | .DS_Store
5 | .eslintcache
6 | *.log*
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/.prettierignore:
--------------------------------------------------------------------------------
1 | out
2 | dist
3 | pnpm-lock.yaml
4 | LICENSE.md
5 | tsconfig.json
6 | tsconfig.*.json
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 100
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/build/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-jit
6 |
7 | com.apple.security.cs.allow-unsigned-executable-memory
8 |
9 | com.apple.security.cs.allow-dyld-environment-variables
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/build/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/solid-ts/build/icon.icns
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/build/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/solid-ts/build/icon.ico
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/build/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/solid-ts/build/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/electron.vite.config.ts:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
3 | import solid from 'vite-plugin-solid'
4 |
5 | export default defineConfig({
6 | main: {
7 | plugins: [externalizeDepsPlugin()]
8 | },
9 | preload: {
10 | plugins: [externalizeDepsPlugin()]
11 | },
12 | renderer: {
13 | resolve: {
14 | alias: {
15 | '@renderer': resolve('src/renderer/src')
16 | }
17 | },
18 | plugins: [solid()]
19 | }
20 | })
21 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import tseslint from '@electron-toolkit/eslint-config-ts'
2 | import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier'
3 | import eslintPluginSolid from 'eslint-plugin-solid'
4 |
5 | export default tseslint.config(
6 | { ignores: ['**/node_modules', '**/dist', '**/out'] },
7 | tseslint.configs.recommended,
8 | eslintPluginSolid.configs['flat/typescript'],
9 | eslintConfigPrettier
10 | )
11 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/solid-ts/resources/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/src/preload/index.d.ts:
--------------------------------------------------------------------------------
1 | import { ElectronAPI } from '@electron-toolkit/preload'
2 |
3 | declare global {
4 | interface Window {
5 | electron: ElectronAPI
6 | api: unknown
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/src/renderer/src/components/Versions.tsx:
--------------------------------------------------------------------------------
1 | import { type Component, createSignal } from 'solid-js'
2 |
3 | const Versions: Component = () => {
4 | const [versions] = createSignal(window.electron.process.versions)
5 |
6 | return (
7 |
8 | - Electron v{versions().electron}
9 | - Chromium v{versions().chrome}
10 | - Node v{versions().node}
11 |
12 | )
13 | }
14 |
15 | export default Versions
16 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/src/renderer/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/src/renderer/src/main.tsx:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { render } from 'solid-js/web'
4 | import App from './App'
5 |
6 | render(() => , document.getElementById('root') as HTMLElement)
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [{ "path": "./tsconfig.node.json" }, { "path": "./tsconfig.web.json" }]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
3 | "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/**/*"],
4 | "compilerOptions": {
5 | "composite": true,
6 | "types": ["electron-vite/node"]
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid-ts/tsconfig.web.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.web.json",
3 | "include": [
4 | "src/renderer/src/env.d.ts",
5 | "src/renderer/src/**/*",
6 | "src/renderer/src/**/*.tsx",
7 | "src/preload/*.d.ts"
8 | ],
9 | "compilerOptions": {
10 | "composite": true,
11 | "jsxImportSource": "solid-js",
12 | "baseUrl": ".",
13 | "paths": {
14 | "@renderer/*": [
15 | "src/renderer/src/*"
16 | ]
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/.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
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | out
4 | .DS_Store
5 | .eslintcache
6 | *.log*
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/.prettierignore:
--------------------------------------------------------------------------------
1 | out
2 | dist
3 | pnpm-lock.yaml
4 | LICENSE.md
5 | tsconfig.json
6 | tsconfig.*.json
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 100
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/README.md:
--------------------------------------------------------------------------------
1 | # solid
2 |
3 | An Electron application with Solid
4 |
5 | ## Recommended IDE Setup
6 |
7 | - [VSCode](https://code.visualstudio.com/) + [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) + [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
8 |
9 | ## Project Setup
10 |
11 | ### Install
12 |
13 | ```bash
14 | $ pnpm install
15 | ```
16 |
17 | ### Development
18 |
19 | ```bash
20 | $ pnpm dev
21 | ```
22 |
23 | ### Build
24 |
25 | ```bash
26 | # For windows
27 | $ pnpm build:win
28 |
29 | # For macOS
30 | $ pnpm build:mac
31 |
32 | # For Linux
33 | $ pnpm build:linux
34 | ```
35 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/build/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-jit
6 |
7 | com.apple.security.cs.allow-unsigned-executable-memory
8 |
9 | com.apple.security.cs.allow-dyld-environment-variables
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/build/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/solid/build/icon.icns
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/build/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/solid/build/icon.ico
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/build/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/solid/build/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/electron.vite.config.mjs:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
3 | import solid from 'vite-plugin-solid'
4 |
5 | export default defineConfig({
6 | main: {
7 | plugins: [externalizeDepsPlugin()]
8 | },
9 | preload: {
10 | plugins: [externalizeDepsPlugin()]
11 | },
12 | renderer: {
13 | resolve: {
14 | alias: {
15 | '@renderer': resolve('src/renderer/src')
16 | }
17 | },
18 | plugins: [solid()]
19 | }
20 | })
21 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import eslintConfig from '@electron-toolkit/eslint-config'
2 | import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier'
3 | import eslintPluginSolid from 'eslint-plugin-solid'
4 |
5 | export default [
6 | { ignores: ['**/node_modules', '**/dist', '**/out'] },
7 | eslintConfig,
8 | {
9 | files: ['**/*.{js,jsx}'],
10 | ...eslintPluginSolid.configs['flat/recommended']
11 | },
12 | eslintConfigPrettier
13 | ]
14 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/solid/resources/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/src/preload/index.js:
--------------------------------------------------------------------------------
1 | import { contextBridge } from 'electron'
2 | import { electronAPI } from '@electron-toolkit/preload'
3 |
4 | // Custom APIs for renderer
5 | const api = {}
6 |
7 | // Use `contextBridge` APIs to expose Electron APIs to
8 | // renderer only if context isolation is enabled, otherwise
9 | // just add to the DOM global.
10 | if (process.contextIsolated) {
11 | try {
12 | contextBridge.exposeInMainWorld('electron', electronAPI)
13 | contextBridge.exposeInMainWorld('api', api)
14 | } catch (error) {
15 | console.error(error)
16 | }
17 | } else {
18 | window.electron = electronAPI
19 | window.api = api
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/src/renderer/src/components/Versions.jsx:
--------------------------------------------------------------------------------
1 | import { createSignal } from 'solid-js'
2 |
3 | function Versions() {
4 | const [versions] = createSignal(window.electron.process.versions)
5 |
6 | return (
7 |
8 | - Electron v{versions().electron}
9 | - Chromium v{versions().chrome}
10 | - Node v{versions().node}
11 |
12 | )
13 | }
14 |
15 | export default Versions
16 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/solid/src/renderer/src/main.jsx:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { render } from 'solid-js/web'
4 | import App from './App'
5 |
6 | render(() => , document.getElementById('root'))
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/.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
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | out
4 | .DS_Store
5 | .eslintcache
6 | *.log*
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/.prettierignore:
--------------------------------------------------------------------------------
1 | out
2 | dist
3 | pnpm-lock.yaml
4 | LICENSE.md
5 | tsconfig.json
6 | tsconfig.*.json
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 100
4 | trailingComma: none
5 | plugins:
6 | - prettier-plugin-svelte
7 | overrides:
8 | - files: '*.svelte'
9 | options:
10 | parser: svelte
11 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | },
11 | "[svelte]": {
12 | "editor.defaultFormatter": "svelte.svelte-vscode"
13 | },
14 | "svelte.enable-ts-plugin": true,
15 | "eslint.validate": [
16 | "javascript",
17 | "javascriptreact",
18 | "svelte"
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/build/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-jit
6 |
7 | com.apple.security.cs.allow-unsigned-executable-memory
8 |
9 | com.apple.security.cs.allow-dyld-environment-variables
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/build/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/svelte-ts/build/icon.icns
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/build/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/svelte-ts/build/icon.ico
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/build/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/svelte-ts/build/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/electron.vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
2 | import { svelte } from '@sveltejs/vite-plugin-svelte'
3 |
4 | export default defineConfig({
5 | main: {
6 | plugins: [externalizeDepsPlugin()]
7 | },
8 | preload: {
9 | plugins: [externalizeDepsPlugin()]
10 | },
11 | renderer: {
12 | plugins: [svelte()]
13 | }
14 | })
15 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/svelte-ts/resources/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/src/preload/index.d.ts:
--------------------------------------------------------------------------------
1 | import { ElectronAPI } from '@electron-toolkit/preload'
2 |
3 | declare global {
4 | interface Window {
5 | electron: ElectronAPI
6 | api: unknown
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/src/renderer/src/components/Versions.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 | - Electron v{versions.electron}
7 | - Chromium v{versions.chrome}
8 | - Node v{versions.node}
9 |
10 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/src/renderer/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/src/renderer/src/main.ts:
--------------------------------------------------------------------------------
1 | import { mount } from 'svelte'
2 |
3 | import './assets/main.css'
4 |
5 | import App from './App.svelte'
6 |
7 | const app = mount(App, {
8 | target: document.getElementById('app')!
9 | })
10 |
11 | export default app
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/svelte.config.mjs:
--------------------------------------------------------------------------------
1 | import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
2 |
3 | export default {
4 | // Consult https://svelte.dev/docs#compile-time-svelte-preprocess
5 | // for more information about preprocessors
6 | preprocess: vitePreprocess()
7 | }
8 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [{ "path": "./tsconfig.node.json" }, { "path": "./tsconfig.web.json" }]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
3 | "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/**/*"],
4 | "compilerOptions": {
5 | "composite": true,
6 | "types": ["electron-vite/node"]
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte-ts/tsconfig.web.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.web.json",
3 | "include": [
4 | "src/renderer/src/env.d.ts",
5 | "src/renderer/src/**/*",
6 | "src/renderer/src/**/*.svelte",
7 | "src/preload/*.d.ts"
8 | ],
9 | "compilerOptions": {
10 | "verbatimModuleSyntax": true,
11 | "useDefineForClassFields": true,
12 | "strict": false,
13 | "allowJs": true,
14 | "checkJs": true,
15 | "lib": ["ESNext", "DOM", "DOM.Iterable"]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/.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
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | out
4 | .DS_Store
5 | .eslintcache
6 | *.log*
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/.prettierignore:
--------------------------------------------------------------------------------
1 | out
2 | dist
3 | pnpm-lock.yaml
4 | LICENSE.md
5 | tsconfig.json
6 | tsconfig.*.json
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 100
4 | trailingComma: none
5 | plugins:
6 | - prettier-plugin-svelte
7 | overrides:
8 | - files: '*.svelte'
9 | options:
10 | parser: svelte
11 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | },
11 | "[svelte]": {
12 | "editor.defaultFormatter": "svelte.svelte-vscode"
13 | },
14 | "svelte.enable-ts-plugin": true,
15 | "eslint.validate": [
16 | "javascript",
17 | "javascriptreact",
18 | "svelte"
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/build/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-jit
6 |
7 | com.apple.security.cs.allow-unsigned-executable-memory
8 |
9 | com.apple.security.cs.allow-dyld-environment-variables
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/build/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/svelte/build/icon.icns
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/build/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/svelte/build/icon.ico
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/build/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/svelte/build/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/electron.vite.config.mjs:
--------------------------------------------------------------------------------
1 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
2 | import { svelte } from '@sveltejs/vite-plugin-svelte'
3 |
4 | export default defineConfig({
5 | main: {
6 | plugins: [externalizeDepsPlugin()]
7 | },
8 | preload: {
9 | plugins: [externalizeDepsPlugin()]
10 | },
11 | renderer: {
12 | plugins: [svelte()]
13 | }
14 | })
15 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import eslintConfig from '@electron-toolkit/eslint-config'
2 | import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier'
3 | import eslintPluginSvelte from 'eslint-plugin-svelte'
4 |
5 | export default [
6 | { ignores: ['**/node_modules', '**/dist', '**/out'] },
7 | eslintConfig,
8 | ...eslintPluginSvelte.configs['flat/recommended'],
9 | {
10 | files: ['**/*.{jsx,svelte}'],
11 | rules: {
12 | 'svelte/no-unused-svelte-ignore': 'off'
13 | }
14 | },
15 | eslintConfigPrettier
16 | ]
17 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/svelte/resources/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/src/preload/index.js:
--------------------------------------------------------------------------------
1 | import { contextBridge } from 'electron'
2 | import { electronAPI } from '@electron-toolkit/preload'
3 |
4 | // Custom APIs for renderer
5 | const api = {}
6 |
7 | // Use `contextBridge` APIs to expose Electron APIs to
8 | // renderer only if context isolation is enabled, otherwise
9 | // just add to the DOM global.
10 | if (process.contextIsolated) {
11 | try {
12 | contextBridge.exposeInMainWorld('electron', electronAPI)
13 | contextBridge.exposeInMainWorld('api', api)
14 | } catch (error) {
15 | console.error(error)
16 | }
17 | } else {
18 | window.electron = electronAPI
19 | window.api = api
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/src/renderer/src/components/Versions.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 | - Electron v{versions.electron}
7 | - Chromium v{versions.chrome}
8 | - Node v{versions.node}
9 |
10 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/src/renderer/src/main.js:
--------------------------------------------------------------------------------
1 | import { mount } from 'svelte'
2 |
3 | import './assets/main.css'
4 |
5 | import App from './App.svelte'
6 |
7 | const app = mount(App, {
8 | target: document.getElementById('app')
9 | })
10 |
11 | export default app
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/svelte/svelte.config.mjs:
--------------------------------------------------------------------------------
1 | import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
2 |
3 | export default {
4 | // Consult https://svelte.dev/docs#compile-time-svelte-preprocess
5 | // for more information about preprocessors
6 | preprocess: vitePreprocess()
7 | }
8 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/.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
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | out
4 | .DS_Store
5 | .eslintcache
6 | *.log*
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/.prettierignore:
--------------------------------------------------------------------------------
1 | out
2 | dist
3 | pnpm-lock.yaml
4 | LICENSE.md
5 | tsconfig.json
6 | tsconfig.*.json
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 100
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/build/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-jit
6 |
7 | com.apple.security.cs.allow-unsigned-executable-memory
8 |
9 | com.apple.security.cs.allow-dyld-environment-variables
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/build/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vanilla-ts/build/icon.icns
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/build/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vanilla-ts/build/icon.ico
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/build/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vanilla-ts/build/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/electron.vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
2 |
3 | export default defineConfig({
4 | main: {
5 | plugins: [externalizeDepsPlugin()]
6 | },
7 | preload: {
8 | plugins: [externalizeDepsPlugin()]
9 | },
10 | renderer: {}
11 | })
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import tseslint from '@electron-toolkit/eslint-config-ts'
2 | import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier'
3 |
4 | export default tseslint.config(
5 | { ignores: ['**/node_modules', '**/dist', '**/out'] },
6 | tseslint.configs.recommended,
7 | eslintConfigPrettier
8 | )
9 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vanilla-ts/resources/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/src/preload/index.d.ts:
--------------------------------------------------------------------------------
1 | import { ElectronAPI } from '@electron-toolkit/preload'
2 |
3 | declare global {
4 | interface Window {
5 | electron: ElectronAPI
6 | api: unknown
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [{ "path": "./tsconfig.node.json" }, { "path": "./tsconfig.web.json" }]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
3 | "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/**/*"],
4 | "compilerOptions": {
5 | "composite": true,
6 | "types": ["electron-vite/node"]
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla-ts/tsconfig.web.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.web.json",
3 | "include": ["src/renderer/**/*.ts", "src/preload/*.d.ts"],
4 | "compilerOptions": {
5 | "composite": true
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/.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
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | out
4 | .DS_Store
5 | .eslintcache
6 | *.log*
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/.prettierignore:
--------------------------------------------------------------------------------
1 | out
2 | dist
3 | pnpm-lock.yaml
4 | LICENSE.md
5 | tsconfig.json
6 | tsconfig.*.json
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 100
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/README.md:
--------------------------------------------------------------------------------
1 | # vanilla
2 |
3 | A minimal Electron application with JavaScript
4 |
5 | ## Recommended IDE Setup
6 |
7 | - [VSCode](https://code.visualstudio.com/) + [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) + [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
8 |
9 | ## Project Setup
10 |
11 | ### Install
12 |
13 | ```bash
14 | $ pnpm install
15 | ```
16 |
17 | ### Development
18 |
19 | ```bash
20 | $ pnpm dev
21 | ```
22 |
23 | ### Build
24 |
25 | ```bash
26 | # For windows
27 | $ pnpm build:win
28 |
29 | # For macOS
30 | $ pnpm build:mac
31 |
32 | # For Linux
33 | $ pnpm build:linux
34 | ```
35 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/build/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-jit
6 |
7 | com.apple.security.cs.allow-unsigned-executable-memory
8 |
9 | com.apple.security.cs.allow-dyld-environment-variables
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/build/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vanilla/build/icon.icns
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/build/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vanilla/build/icon.ico
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/build/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vanilla/build/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/electron.vite.config.mjs:
--------------------------------------------------------------------------------
1 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
2 |
3 | export default defineConfig({
4 | main: {
5 | plugins: [externalizeDepsPlugin()]
6 | },
7 | preload: {
8 | plugins: [externalizeDepsPlugin()]
9 | },
10 | renderer: {}
11 | })
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import eslintConfig from '@electron-toolkit/eslint-config'
2 | import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier'
3 |
4 | export default [
5 | { ignores: ['**/node_modules', '**/dist', '**/out'] },
6 | eslintConfig,
7 | eslintConfigPrettier
8 | ]
9 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vanilla/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vanilla/resources/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/.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
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | out
4 | .DS_Store
5 | .eslintcache
6 | *.log*
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/.prettierignore:
--------------------------------------------------------------------------------
1 | out
2 | dist
3 | pnpm-lock.yaml
4 | LICENSE.md
5 | tsconfig.json
6 | tsconfig.*.json
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 100
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/build/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-jit
6 |
7 | com.apple.security.cs.allow-unsigned-executable-memory
8 |
9 | com.apple.security.cs.allow-dyld-environment-variables
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/build/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vue-ts/build/icon.icns
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/build/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vue-ts/build/icon.ico
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/build/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vue-ts/build/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/electron.vite.config.ts:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
3 | import vue from '@vitejs/plugin-vue'
4 |
5 | export default defineConfig({
6 | main: {
7 | plugins: [externalizeDepsPlugin()]
8 | },
9 | preload: {
10 | plugins: [externalizeDepsPlugin()]
11 | },
12 | renderer: {
13 | resolve: {
14 | alias: {
15 | '@renderer': resolve('src/renderer/src')
16 | }
17 | },
18 | plugins: [vue()]
19 | }
20 | })
21 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vue-ts/resources/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/src/preload/index.d.ts:
--------------------------------------------------------------------------------
1 | import { ElectronAPI } from '@electron-toolkit/preload'
2 |
3 | declare global {
4 | interface Window {
5 | electron: ElectronAPI
6 | api: unknown
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/src/renderer/src/components/Versions.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 | - Electron v{{ versions.electron }}
10 | - Chromium v{{ versions.chrome }}
11 | - Node v{{ versions.node }}
12 |
13 |
14 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/src/renderer/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/src/renderer/src/main.ts:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { createApp } from 'vue'
4 | import App from './App.vue'
5 |
6 | createApp(App).mount('#app')
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [{ "path": "./tsconfig.node.json" }, { "path": "./tsconfig.web.json" }]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
3 | "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/**/*"],
4 | "compilerOptions": {
5 | "composite": true,
6 | "types": ["electron-vite/node"]
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue-ts/tsconfig.web.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.web.json",
3 | "include": [
4 | "src/renderer/src/env.d.ts",
5 | "src/renderer/src/**/*",
6 | "src/renderer/src/**/*.vue",
7 | "src/preload/*.d.ts"
8 | ],
9 | "compilerOptions": {
10 | "composite": true,
11 | "baseUrl": ".",
12 | "paths": {
13 | "@renderer/*": [
14 | "src/renderer/src/*"
15 | ]
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/.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
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | out
4 | .DS_Store
5 | .eslintcache
6 | *.log*
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/.prettierignore:
--------------------------------------------------------------------------------
1 | out
2 | dist
3 | pnpm-lock.yaml
4 | LICENSE.md
5 | tsconfig.json
6 | tsconfig.*.json
7 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 100
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/build/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-jit
6 |
7 | com.apple.security.cs.allow-unsigned-executable-memory
8 |
9 | com.apple.security.cs.allow-dyld-environment-variables
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/build/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vue/build/icon.icns
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/build/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vue/build/icon.ico
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/build/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vue/build/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/electron.vite.config.mjs:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
3 | import vue from '@vitejs/plugin-vue'
4 |
5 | export default defineConfig({
6 | main: {
7 | plugins: [externalizeDepsPlugin()]
8 | },
9 | preload: {
10 | plugins: [externalizeDepsPlugin()]
11 | },
12 | renderer: {
13 | resolve: {
14 | alias: {
15 | '@renderer': resolve('src/renderer/src')
16 | }
17 | },
18 | plugins: [vue()]
19 | }
20 | })
21 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/playground/vue/resources/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/src/preload/index.js:
--------------------------------------------------------------------------------
1 | import { contextBridge } from 'electron'
2 | import { electronAPI } from '@electron-toolkit/preload'
3 |
4 | // Custom APIs for renderer
5 | const api = {}
6 |
7 | // Use `contextBridge` APIs to expose Electron APIs to
8 | // renderer only if context isolation is enabled, otherwise
9 | // just add to the DOM global.
10 | if (process.contextIsolated) {
11 | try {
12 | contextBridge.exposeInMainWorld('electron', electronAPI)
13 | contextBridge.exposeInMainWorld('api', api)
14 | } catch (error) {
15 | console.error(error)
16 | }
17 | } else {
18 | window.electron = electronAPI
19 | window.api = api
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/src/renderer/src/components/Versions.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 | - Electron v{{ versions.electron }}
10 | - Chromium v{{ versions.chrome }}
11 | - Node v{{ versions.node }}
12 |
13 |
14 |
--------------------------------------------------------------------------------
/packages/create-electron/playground/vue/src/renderer/src/main.js:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { createApp } from 'vue'
4 | import App from './App.vue'
5 |
6 | createApp(App).mount('#app')
7 |
--------------------------------------------------------------------------------
/packages/create-electron/scripts/snapshot.mjs:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zx
2 | import 'zx/globals'
3 |
4 | const templates = [
5 | 'vanilla',
6 | 'vanilla-ts',
7 | 'vue',
8 | 'vue-ts',
9 | 'react',
10 | 'react-ts',
11 | 'svelte',
12 | 'svelte-ts',
13 | 'solid',
14 | 'solid-ts'
15 | ]
16 |
17 | const playgroundDir = path.resolve(__dirname, '../playground')
18 | const bin = path.posix.relative('../playground/', '../index.js')
19 |
20 | if (!fs.existsSync(playgroundDir)) fs.mkdirSync(playgroundDir)
21 |
22 | cd(playgroundDir)
23 |
24 | for (const template of templates) {
25 | await $`node ${bin} ${template} --template ${template} --skip`
26 | }
27 |
--------------------------------------------------------------------------------
/packages/create-electron/template/base/.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
--------------------------------------------------------------------------------
/packages/create-electron/template/base/.prettierignore:
--------------------------------------------------------------------------------
1 | out
2 | dist
3 | pnpm-lock.yaml
4 | LICENSE.md
5 | tsconfig.json
6 | tsconfig.*.json
7 |
--------------------------------------------------------------------------------
/packages/create-electron/template/base/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 100
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-electron/template/base/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-electron/template/base/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-electron/template/base/_gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | out
4 | .DS_Store
5 | .eslintcache
6 | *.log*
7 |
--------------------------------------------------------------------------------
/packages/create-electron/template/base/build/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | com.apple.security.cs.allow-jit
6 |
7 | com.apple.security.cs.allow-unsigned-executable-memory
8 |
9 | com.apple.security.cs.allow-dyld-environment-variables
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/packages/create-electron/template/base/build/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/template/base/build/icon.icns
--------------------------------------------------------------------------------
/packages/create-electron/template/base/build/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/template/base/build/icon.ico
--------------------------------------------------------------------------------
/packages/create-electron/template/base/build/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/template/base/build/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/template/base/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alex8088/quick-start/4b77baed6187d29311b3b1497c986f5e61348521/packages/create-electron/template/base/resources/icon.png
--------------------------------------------------------------------------------
/packages/create-electron/template/react-ts/electron.vite.config.ts:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
3 | import react from '@vitejs/plugin-react'
4 |
5 | export default defineConfig({
6 | main: {
7 | plugins: [externalizeDepsPlugin()]
8 | },
9 | preload: {
10 | plugins: [externalizeDepsPlugin()]
11 | },
12 | renderer: {
13 | resolve: {
14 | alias: {
15 | '@renderer': resolve('src/renderer/src')
16 | }
17 | },
18 | plugins: [react()]
19 | }
20 | })
21 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react-ts/src/preload/index.d.ts:
--------------------------------------------------------------------------------
1 | import { ElectronAPI } from '@electron-toolkit/preload'
2 |
3 | declare global {
4 | interface Window {
5 | electron: ElectronAPI
6 | api: unknown
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react-ts/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react-ts/src/renderer/src/components/Versions.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from 'react'
2 |
3 | function Versions(): React.JSX.Element {
4 | const [versions] = useState(window.electron.process.versions)
5 |
6 | return (
7 |
8 | - Electron v{versions.electron}
9 | - Chromium v{versions.chrome}
10 | - Node v{versions.node}
11 |
12 | )
13 | }
14 |
15 | export default Versions
16 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react-ts/src/renderer/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react-ts/src/renderer/src/main.tsx:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { StrictMode } from 'react'
4 | import { createRoot } from 'react-dom/client'
5 | import App from './App'
6 |
7 | createRoot(document.getElementById('root')!).render(
8 |
9 |
10 |
11 | )
12 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [{ "path": "./tsconfig.node.json" }, { "path": "./tsconfig.web.json" }]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react-ts/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
3 | "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/**/*"],
4 | "compilerOptions": {
5 | "composite": true,
6 | "types": ["electron-vite/node"]
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react-ts/tsconfig.web.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.web.json",
3 | "include": [
4 | "src/renderer/src/env.d.ts",
5 | "src/renderer/src/**/*",
6 | "src/renderer/src/**/*.tsx",
7 | "src/preload/*.d.ts"
8 | ],
9 | "compilerOptions": {
10 | "composite": true,
11 | "jsx": "react-jsx",
12 | "baseUrl": ".",
13 | "paths": {
14 | "@renderer/*": [
15 | "src/renderer/src/*"
16 | ]
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react/electron.vite.config.mjs:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
3 | import react from '@vitejs/plugin-react'
4 |
5 | export default defineConfig({
6 | main: {
7 | plugins: [externalizeDepsPlugin()]
8 | },
9 | preload: {
10 | plugins: [externalizeDepsPlugin()]
11 | },
12 | renderer: {
13 | resolve: {
14 | alias: {
15 | '@renderer': resolve('src/renderer/src')
16 | }
17 | },
18 | plugins: [react()]
19 | }
20 | })
21 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react/src/preload/index.js:
--------------------------------------------------------------------------------
1 | import { contextBridge } from 'electron'
2 | import { electronAPI } from '@electron-toolkit/preload'
3 |
4 | // Custom APIs for renderer
5 | const api = {}
6 |
7 | // Use `contextBridge` APIs to expose Electron APIs to
8 | // renderer only if context isolation is enabled, otherwise
9 | // just add to the DOM global.
10 | if (process.contextIsolated) {
11 | try {
12 | contextBridge.exposeInMainWorld('electron', electronAPI)
13 | contextBridge.exposeInMainWorld('api', api)
14 | } catch (error) {
15 | console.error(error)
16 | }
17 | } else {
18 | window.electron = electronAPI
19 | window.api = api
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react/src/renderer/src/components/Versions.jsx:
--------------------------------------------------------------------------------
1 | import { useState } from 'react'
2 |
3 | function Versions() {
4 | const [versions] = useState(window.electron.process.versions)
5 |
6 | return (
7 |
8 | - Electron v{versions.electron}
9 | - Chromium v{versions.chrome}
10 | - Node v{versions.node}
11 |
12 | )
13 | }
14 |
15 | export default Versions
16 |
--------------------------------------------------------------------------------
/packages/create-electron/template/react/src/renderer/src/main.jsx:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { StrictMode } from 'react'
4 | import { createRoot } from 'react-dom/client'
5 | import App from './App'
6 |
7 | createRoot(document.getElementById('root')).render(
8 |
9 |
10 |
11 | )
12 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid-ts/electron.vite.config.ts:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
3 | import solid from 'vite-plugin-solid'
4 |
5 | export default defineConfig({
6 | main: {
7 | plugins: [externalizeDepsPlugin()]
8 | },
9 | preload: {
10 | plugins: [externalizeDepsPlugin()]
11 | },
12 | renderer: {
13 | resolve: {
14 | alias: {
15 | '@renderer': resolve('src/renderer/src')
16 | }
17 | },
18 | plugins: [solid()]
19 | }
20 | })
21 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid-ts/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import tseslint from '@electron-toolkit/eslint-config-ts'
2 | import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier'
3 | import eslintPluginSolid from 'eslint-plugin-solid'
4 |
5 | export default tseslint.config(
6 | { ignores: ['**/node_modules', '**/dist', '**/out'] },
7 | tseslint.configs.recommended,
8 | eslintPluginSolid.configs['flat/typescript'],
9 | eslintConfigPrettier
10 | )
11 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid-ts/src/preload/index.d.ts:
--------------------------------------------------------------------------------
1 | import { ElectronAPI } from '@electron-toolkit/preload'
2 |
3 | declare global {
4 | interface Window {
5 | electron: ElectronAPI
6 | api: unknown
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid-ts/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid-ts/src/renderer/src/components/Versions.tsx:
--------------------------------------------------------------------------------
1 | import { type Component, createSignal } from 'solid-js'
2 |
3 | const Versions: Component = () => {
4 | const [versions] = createSignal(window.electron.process.versions)
5 |
6 | return (
7 |
8 | - Electron v{versions().electron}
9 | - Chromium v{versions().chrome}
10 | - Node v{versions().node}
11 |
12 | )
13 | }
14 |
15 | export default Versions
16 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid-ts/src/renderer/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid-ts/src/renderer/src/main.tsx:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { render } from 'solid-js/web'
4 | import App from './App'
5 |
6 | render(() => , document.getElementById('root') as HTMLElement)
7 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [{ "path": "./tsconfig.node.json" }, { "path": "./tsconfig.web.json" }]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid-ts/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
3 | "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/**/*"],
4 | "compilerOptions": {
5 | "composite": true,
6 | "types": ["electron-vite/node"]
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid-ts/tsconfig.web.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.web.json",
3 | "include": [
4 | "src/renderer/src/env.d.ts",
5 | "src/renderer/src/**/*",
6 | "src/renderer/src/**/*.tsx",
7 | "src/preload/*.d.ts"
8 | ],
9 | "compilerOptions": {
10 | "composite": true,
11 | "jsxImportSource": "solid-js",
12 | "baseUrl": ".",
13 | "paths": {
14 | "@renderer/*": [
15 | "src/renderer/src/*"
16 | ]
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid/electron.vite.config.mjs:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
3 | import solid from 'vite-plugin-solid'
4 |
5 | export default defineConfig({
6 | main: {
7 | plugins: [externalizeDepsPlugin()]
8 | },
9 | preload: {
10 | plugins: [externalizeDepsPlugin()]
11 | },
12 | renderer: {
13 | resolve: {
14 | alias: {
15 | '@renderer': resolve('src/renderer/src')
16 | }
17 | },
18 | plugins: [solid()]
19 | }
20 | })
21 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import eslintConfig from '@electron-toolkit/eslint-config'
2 | import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier'
3 | import eslintPluginSolid from 'eslint-plugin-solid'
4 |
5 | export default [
6 | { ignores: ['**/node_modules', '**/dist', '**/out'] },
7 | eslintConfig,
8 | {
9 | files: ['**/*.{js,jsx}'],
10 | ...eslintPluginSolid.configs['flat/recommended']
11 | },
12 | eslintConfigPrettier
13 | ]
14 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid/src/preload/index.js:
--------------------------------------------------------------------------------
1 | import { contextBridge } from 'electron'
2 | import { electronAPI } from '@electron-toolkit/preload'
3 |
4 | // Custom APIs for renderer
5 | const api = {}
6 |
7 | // Use `contextBridge` APIs to expose Electron APIs to
8 | // renderer only if context isolation is enabled, otherwise
9 | // just add to the DOM global.
10 | if (process.contextIsolated) {
11 | try {
12 | contextBridge.exposeInMainWorld('electron', electronAPI)
13 | contextBridge.exposeInMainWorld('api', api)
14 | } catch (error) {
15 | console.error(error)
16 | }
17 | } else {
18 | window.electron = electronAPI
19 | window.api = api
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid/src/renderer/src/components/Versions.jsx:
--------------------------------------------------------------------------------
1 | import { createSignal } from 'solid-js'
2 |
3 | function Versions() {
4 | const [versions] = createSignal(window.electron.process.versions)
5 |
6 | return (
7 |
8 | - Electron v{versions().electron}
9 | - Chromium v{versions().chrome}
10 | - Node v{versions().node}
11 |
12 | )
13 | }
14 |
15 | export default Versions
16 |
--------------------------------------------------------------------------------
/packages/create-electron/template/solid/src/renderer/src/main.jsx:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { render } from 'solid-js/web'
4 | import App from './App'
5 |
6 | render(() => , document.getElementById('root'))
7 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte-ts/electron.vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
2 | import { svelte } from '@sveltejs/vite-plugin-svelte'
3 |
4 | export default defineConfig({
5 | main: {
6 | plugins: [externalizeDepsPlugin()]
7 | },
8 | preload: {
9 | plugins: [externalizeDepsPlugin()]
10 | },
11 | renderer: {
12 | plugins: [svelte()]
13 | }
14 | })
15 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte-ts/src/preload/index.d.ts:
--------------------------------------------------------------------------------
1 | import { ElectronAPI } from '@electron-toolkit/preload'
2 |
3 | declare global {
4 | interface Window {
5 | electron: ElectronAPI
6 | api: unknown
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte-ts/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte-ts/src/renderer/src/components/Versions.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 | - Electron v{versions.electron}
7 | - Chromium v{versions.chrome}
8 | - Node v{versions.node}
9 |
10 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte-ts/src/renderer/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte-ts/src/renderer/src/main.ts:
--------------------------------------------------------------------------------
1 | import { mount } from 'svelte'
2 |
3 | import './assets/main.css'
4 |
5 | import App from './App.svelte'
6 |
7 | const app = mount(App, {
8 | target: document.getElementById('app')!
9 | })
10 |
11 | export default app
12 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte-ts/svelte.config.mjs:
--------------------------------------------------------------------------------
1 | import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
2 |
3 | export default {
4 | // Consult https://svelte.dev/docs#compile-time-svelte-preprocess
5 | // for more information about preprocessors
6 | preprocess: vitePreprocess()
7 | }
8 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [{ "path": "./tsconfig.node.json" }, { "path": "./tsconfig.web.json" }]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte-ts/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
3 | "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/**/*"],
4 | "compilerOptions": {
5 | "composite": true,
6 | "types": ["electron-vite/node"]
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte-ts/tsconfig.web.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.web.json",
3 | "include": [
4 | "src/renderer/src/env.d.ts",
5 | "src/renderer/src/**/*",
6 | "src/renderer/src/**/*.svelte",
7 | "src/preload/*.d.ts"
8 | ],
9 | "compilerOptions": {
10 | "verbatimModuleSyntax": true,
11 | "useDefineForClassFields": true,
12 | "strict": false,
13 | "allowJs": true,
14 | "checkJs": true,
15 | "lib": ["ESNext", "DOM", "DOM.Iterable"]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte/electron.vite.config.mjs:
--------------------------------------------------------------------------------
1 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
2 | import { svelte } from '@sveltejs/vite-plugin-svelte'
3 |
4 | export default defineConfig({
5 | main: {
6 | plugins: [externalizeDepsPlugin()]
7 | },
8 | preload: {
9 | plugins: [externalizeDepsPlugin()]
10 | },
11 | renderer: {
12 | plugins: [svelte()]
13 | }
14 | })
15 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import eslintConfig from '@electron-toolkit/eslint-config'
2 | import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier'
3 | import eslintPluginSvelte from 'eslint-plugin-svelte'
4 |
5 | export default [
6 | { ignores: ['**/node_modules', '**/dist', '**/out'] },
7 | eslintConfig,
8 | ...eslintPluginSvelte.configs['flat/recommended'],
9 | {
10 | files: ['**/*.{jsx,svelte}'],
11 | rules: {
12 | 'svelte/no-unused-svelte-ignore': 'off'
13 | }
14 | },
15 | eslintConfigPrettier
16 | ]
17 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte/src/preload/index.js:
--------------------------------------------------------------------------------
1 | import { contextBridge } from 'electron'
2 | import { electronAPI } from '@electron-toolkit/preload'
3 |
4 | // Custom APIs for renderer
5 | const api = {}
6 |
7 | // Use `contextBridge` APIs to expose Electron APIs to
8 | // renderer only if context isolation is enabled, otherwise
9 | // just add to the DOM global.
10 | if (process.contextIsolated) {
11 | try {
12 | contextBridge.exposeInMainWorld('electron', electronAPI)
13 | contextBridge.exposeInMainWorld('api', api)
14 | } catch (error) {
15 | console.error(error)
16 | }
17 | } else {
18 | window.electron = electronAPI
19 | window.api = api
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte/src/renderer/src/components/Versions.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 | - Electron v{versions.electron}
7 | - Chromium v{versions.chrome}
8 | - Node v{versions.node}
9 |
10 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte/src/renderer/src/main.js:
--------------------------------------------------------------------------------
1 | import { mount } from 'svelte'
2 |
3 | import './assets/main.css'
4 |
5 | import App from './App.svelte'
6 |
7 | const app = mount(App, {
8 | target: document.getElementById('app')
9 | })
10 |
11 | export default app
12 |
--------------------------------------------------------------------------------
/packages/create-electron/template/svelte/svelte.config.mjs:
--------------------------------------------------------------------------------
1 | import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'
2 |
3 | export default {
4 | // Consult https://svelte.dev/docs#compile-time-svelte-preprocess
5 | // for more information about preprocessors
6 | preprocess: vitePreprocess()
7 | }
8 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vanilla-ts/electron.vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
2 |
3 | export default defineConfig({
4 | main: {
5 | plugins: [externalizeDepsPlugin()]
6 | },
7 | preload: {
8 | plugins: [externalizeDepsPlugin()]
9 | },
10 | renderer: {}
11 | })
12 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vanilla-ts/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import tseslint from '@electron-toolkit/eslint-config-ts'
2 | import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier'
3 |
4 | export default tseslint.config(
5 | { ignores: ['**/node_modules', '**/dist', '**/out'] },
6 | tseslint.configs.recommended,
7 | eslintConfigPrettier
8 | )
9 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vanilla-ts/src/preload/index.d.ts:
--------------------------------------------------------------------------------
1 | import { ElectronAPI } from '@electron-toolkit/preload'
2 |
3 | declare global {
4 | interface Window {
5 | electron: ElectronAPI
6 | api: unknown
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vanilla-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [{ "path": "./tsconfig.node.json" }, { "path": "./tsconfig.web.json" }]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vanilla-ts/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
3 | "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/**/*"],
4 | "compilerOptions": {
5 | "composite": true,
6 | "types": ["electron-vite/node"]
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vanilla-ts/tsconfig.web.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.web.json",
3 | "include": ["src/renderer/**/*.ts", "src/preload/*.d.ts"],
4 | "compilerOptions": {
5 | "composite": true
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vanilla/electron.vite.config.mjs:
--------------------------------------------------------------------------------
1 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
2 |
3 | export default defineConfig({
4 | main: {
5 | plugins: [externalizeDepsPlugin()]
6 | },
7 | preload: {
8 | plugins: [externalizeDepsPlugin()]
9 | },
10 | renderer: {}
11 | })
12 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vanilla/eslint.config.mjs:
--------------------------------------------------------------------------------
1 | import eslintConfig from '@electron-toolkit/eslint-config'
2 | import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier'
3 |
4 | export default [
5 | { ignores: ['**/node_modules', '**/dist', '**/out'] },
6 | eslintConfig,
7 | eslintConfigPrettier
8 | ]
9 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue-ts/electron.vite.config.ts:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
3 | import vue from '@vitejs/plugin-vue'
4 |
5 | export default defineConfig({
6 | main: {
7 | plugins: [externalizeDepsPlugin()]
8 | },
9 | preload: {
10 | plugins: [externalizeDepsPlugin()]
11 | },
12 | renderer: {
13 | resolve: {
14 | alias: {
15 | '@renderer': resolve('src/renderer/src')
16 | }
17 | },
18 | plugins: [vue()]
19 | }
20 | })
21 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue-ts/src/preload/index.d.ts:
--------------------------------------------------------------------------------
1 | import { ElectronAPI } from '@electron-toolkit/preload'
2 |
3 | declare global {
4 | interface Window {
5 | electron: ElectronAPI
6 | api: unknown
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue-ts/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue-ts/src/renderer/src/components/Versions.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 | - Electron v{{ versions.electron }}
10 | - Chromium v{{ versions.chrome }}
11 | - Node v{{ versions.node }}
12 |
13 |
14 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue-ts/src/renderer/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue-ts/src/renderer/src/main.ts:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { createApp } from 'vue'
4 | import App from './App.vue'
5 |
6 | createApp(App).mount('#app')
7 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "files": [],
3 | "references": [{ "path": "./tsconfig.node.json" }, { "path": "./tsconfig.web.json" }]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue-ts/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.node.json",
3 | "include": ["electron.vite.config.*", "src/main/**/*", "src/preload/**/*"],
4 | "compilerOptions": {
5 | "composite": true,
6 | "types": ["electron-vite/node"]
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue-ts/tsconfig.web.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@electron-toolkit/tsconfig/tsconfig.web.json",
3 | "include": [
4 | "src/renderer/src/env.d.ts",
5 | "src/renderer/src/**/*",
6 | "src/renderer/src/**/*.vue",
7 | "src/preload/*.d.ts"
8 | ],
9 | "compilerOptions": {
10 | "composite": true,
11 | "baseUrl": ".",
12 | "paths": {
13 | "@renderer/*": [
14 | "src/renderer/src/*"
15 | ]
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue/electron.vite.config.mjs:
--------------------------------------------------------------------------------
1 | import { resolve } from 'path'
2 | import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
3 | import vue from '@vitejs/plugin-vue'
4 |
5 | export default defineConfig({
6 | main: {
7 | plugins: [externalizeDepsPlugin()]
8 | },
9 | preload: {
10 | plugins: [externalizeDepsPlugin()]
11 | },
12 | renderer: {
13 | resolve: {
14 | alias: {
15 | '@renderer': resolve('src/renderer/src')
16 | }
17 | },
18 | plugins: [vue()]
19 | }
20 | })
21 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue/src/preload/index.js:
--------------------------------------------------------------------------------
1 | import { contextBridge } from 'electron'
2 | import { electronAPI } from '@electron-toolkit/preload'
3 |
4 | // Custom APIs for renderer
5 | const api = {}
6 |
7 | // Use `contextBridge` APIs to expose Electron APIs to
8 | // renderer only if context isolation is enabled, otherwise
9 | // just add to the DOM global.
10 | if (process.contextIsolated) {
11 | try {
12 | contextBridge.exposeInMainWorld('electron', electronAPI)
13 | contextBridge.exposeInMainWorld('api', api)
14 | } catch (error) {
15 | console.error(error)
16 | }
17 | } else {
18 | window.electron = electronAPI
19 | window.api = api
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue/src/renderer/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Electron
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue/src/renderer/src/components/Versions.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 | - Electron v{{ versions.electron }}
10 | - Chromium v{{ versions.chrome }}
11 | - Node v{{ versions.node }}
12 |
13 |
14 |
--------------------------------------------------------------------------------
/packages/create-electron/template/vue/src/renderer/src/main.js:
--------------------------------------------------------------------------------
1 | import './assets/main.css'
2 |
3 | import { createApp } from 'vue'
4 | import App from './App.vue'
5 |
6 | createApp(App).mount('#app')
7 |
--------------------------------------------------------------------------------
/packages/create-electron/utils/getCommand.js:
--------------------------------------------------------------------------------
1 | module.exports = (packageManager, scriptName) => {
2 | if (scriptName === 'install') {
3 | return packageManager === 'yarn' ? 'yarn' : `${packageManager} install`
4 | }
5 |
6 | return packageManager === 'npm' ? `npm run ${scriptName}` : `${packageManager} ${scriptName}`
7 | }
8 |
--------------------------------------------------------------------------------
/packages/create-electron/utils/sortDependencies.js:
--------------------------------------------------------------------------------
1 | module.exports = (packageJson) => {
2 | const sorted = {}
3 |
4 | const depTypes = ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies']
5 |
6 | for (const depType of depTypes) {
7 | if (packageJson[depType]) {
8 | sorted[depType] = {}
9 |
10 | Object.keys(packageJson[depType])
11 | .sort()
12 | .forEach((name) => {
13 | sorted[depType][name] = packageJson[depType][name]
14 | })
15 | }
16 | }
17 |
18 | Object.keys(sorted).forEach((name) => {
19 | packageJson[name] = sorted[name]
20 | })
21 |
22 | return packageJson
23 | }
24 |
--------------------------------------------------------------------------------
/packages/create-electron/utils/useElectronUpdater.js:
--------------------------------------------------------------------------------
1 | module.exports = (packageName) => {
2 | return {
3 | config: {
4 | provider: 'generic',
5 | url: 'https://example.com/auto-updates',
6 | updaterCacheDirName: `${packageName}-updater`
7 | },
8 | dependencies: {
9 | 'electron-updater': '^6.3.9'
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/.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
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/.npmrc:
--------------------------------------------------------------------------------
1 | shamefully-hoist=true
2 | auto-install-peers=false
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/.prettierignore:
--------------------------------------------------------------------------------
1 | pnpm-lock.yaml
2 | packages/**/dist
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "typescript.tsdk": "node_modules/typescript/lib",
3 | "[typescript]": {
4 | "editor.defaultFormatter": "esbenp.prettier-vscode"
5 | },
6 | "[javascript]": {
7 | "editor.defaultFormatter": "esbenp.prettier-vscode"
8 | },
9 | "[json]": {
10 | "editor.defaultFormatter": "esbenp.prettier-vscode"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/README.md:
--------------------------------------------------------------------------------
1 | # monorepo-test
2 |
3 | A monorepo starter
4 |
5 | ## Packages
6 |
7 | | Package | Description | Version |
8 | | ------------- | :---------------- | :------------ |
9 | | [@monorepo-test/foo](packages/foo) | A minimal typescript library | |
10 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/packages/foo/README.md:
--------------------------------------------------------------------------------
1 | # @monorepo-test/foo
2 |
3 | A minimal typescript library.
4 |
5 | ## Build
6 |
7 | ```sh
8 | $ pnpm build:foo
9 | ```
10 |
11 | ## Test
12 |
13 | ```sh
14 | $ pnpm test:foo
15 | ```
16 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/packages/foo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@monorepo-test/foo",
3 | "version": "1.0.0",
4 | "description": "A minimal typescript library.",
5 | "type": "module",
6 | "main": "dist/index.cjs",
7 | "module": "dist/index.mjs",
8 | "types": "dist/index.d.ts",
9 | "exports": {
10 | ".": {
11 | "types": "./dist/index.d.ts",
12 | "import": "./dist/index.mjs",
13 | "require": "./dist/index.cjs"
14 | }
15 | },
16 | "files": [
17 | "dist"
18 | ],
19 | "scripts": {
20 | "build": "rollup -c rollup.config.ts --configPlugin typescript",
21 | "test": "vitest run"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/packages/foo/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/packages/foo/test/index.test.ts:
--------------------------------------------------------------------------------
1 | import { test, assert } from 'vitest'
2 | import { foo } from '../src'
3 |
4 | test('simple', () => {
5 | assert.equal(foo, 'foo')
6 | })
7 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/packages/foo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base.json",
3 | "include": ["src"]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - 'packages/*'
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/tsconfig.base.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": ["es2022", "esnext", "dom"],
6 | "sourceMap": false,
7 | "strict": true,
8 | "esModuleInterop": true,
9 | "moduleResolution": "Bundler",
10 | "resolveJsonModule": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "skipLibCheck": true,
13 | "noUnusedLocals": true,
14 | "noUnusedParameters": true,
15 | "noImplicitAny": false,
16 | "noImplicitReturns": true
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-test/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.base.json",
3 | "include": ["packages"],
4 | "exclude": ["**/dist"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/.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
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/.npmrc:
--------------------------------------------------------------------------------
1 | shamefully-hoist=true
2 | auto-install-peers=false
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/.prettierignore:
--------------------------------------------------------------------------------
1 | pnpm-lock.yaml
2 | packages/**/dist
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "typescript.tsdk": "node_modules/typescript/lib",
3 | "[typescript]": {
4 | "editor.defaultFormatter": "esbenp.prettier-vscode"
5 | },
6 | "[javascript]": {
7 | "editor.defaultFormatter": "esbenp.prettier-vscode"
8 | },
9 | "[json]": {
10 | "editor.defaultFormatter": "esbenp.prettier-vscode"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/README.md:
--------------------------------------------------------------------------------
1 | # monorepo-tsx
2 |
3 | A monorepo starter
4 |
5 | ## Packages
6 |
7 | | Package | Description | Version |
8 | | ------------- | :---------------- | :------------ |
9 | | [@monorepo-tsx/foo](packages/foo) | A minimal typescript library | |
10 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/packages/foo/.env:
--------------------------------------------------------------------------------
1 | # .env
2 | NODE_ENV=development
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/packages/foo/README.md:
--------------------------------------------------------------------------------
1 | # @monorepo-tsx/foo
2 |
3 | A minimal typescript library.
4 |
5 | ## Development
6 |
7 | ```sh
8 | $ pnpm dev:foo
9 | ```
10 |
11 | ## Build
12 |
13 | ```sh
14 | $ pnpm build:foo
15 | ```
16 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/packages/foo/env.d.ts:
--------------------------------------------------------------------------------
1 | declare namespace NodeJS {
2 | interface ProcessEnv {
3 | NODE_ENV?: string
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/packages/foo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@monorepo-tsx/foo",
3 | "version": "1.0.0",
4 | "description": "A minimal typescript library.",
5 | "type": "module",
6 | "main": "dist/index.cjs",
7 | "module": "dist/index.mjs",
8 | "types": "dist/index.d.ts",
9 | "exports": {
10 | ".": {
11 | "types": "./dist/index.d.ts",
12 | "import": "./dist/index.mjs",
13 | "require": "./dist/index.cjs"
14 | }
15 | },
16 | "files": [
17 | "dist"
18 | ],
19 | "scripts": {
20 | "dev": "esno -r dotenv/config src/index.ts",
21 | "build": "rollup -c rollup.config.ts --configPlugin typescript"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/packages/foo/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/packages/foo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base.json",
3 | "include": [
4 | "src",
5 | "env.d.ts"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - 'packages/*'
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/tsconfig.base.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": ["es2022", "esnext", "dom"],
6 | "sourceMap": false,
7 | "strict": true,
8 | "esModuleInterop": true,
9 | "moduleResolution": "Bundler",
10 | "resolveJsonModule": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "skipLibCheck": true,
13 | "noUnusedLocals": true,
14 | "noUnusedParameters": true,
15 | "noImplicitAny": false,
16 | "noImplicitReturns": true
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo-tsx/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.base.json",
3 | "include": ["packages"],
4 | "exclude": ["**/dist"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/.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
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/.npmrc:
--------------------------------------------------------------------------------
1 | shamefully-hoist=true
2 | auto-install-peers=false
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/.prettierignore:
--------------------------------------------------------------------------------
1 | pnpm-lock.yaml
2 | packages/**/dist
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "typescript.tsdk": "node_modules/typescript/lib",
3 | "[typescript]": {
4 | "editor.defaultFormatter": "esbenp.prettier-vscode"
5 | },
6 | "[javascript]": {
7 | "editor.defaultFormatter": "esbenp.prettier-vscode"
8 | },
9 | "[json]": {
10 | "editor.defaultFormatter": "esbenp.prettier-vscode"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/README.md:
--------------------------------------------------------------------------------
1 | # monorepo
2 |
3 | A monorepo starter
4 |
5 | ## Packages
6 |
7 | | Package | Description | Version |
8 | | ------------- | :---------------- | :------------ |
9 | | [@monorepo/foo](packages/foo) | A minimal typescript library | |
10 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/packages/foo/README.md:
--------------------------------------------------------------------------------
1 | # @monorepo/foo
2 |
3 | A minimal typescript library.
4 |
5 | ## Build
6 |
7 | ```sh
8 | $ pnpm build:foo
9 | ```
10 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/packages/foo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@monorepo/foo",
3 | "version": "1.0.0",
4 | "description": "A minimal typescript library.",
5 | "type": "module",
6 | "main": "dist/index.cjs",
7 | "module": "dist/index.mjs",
8 | "types": "dist/index.d.ts",
9 | "exports": {
10 | ".": {
11 | "types": "./dist/index.d.ts",
12 | "import": "./dist/index.mjs",
13 | "require": "./dist/index.cjs"
14 | }
15 | },
16 | "files": [
17 | "dist"
18 | ],
19 | "scripts": {
20 | "build": "rollup -c rollup.config.ts --configPlugin typescript"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/packages/foo/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/packages/foo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base.json",
3 | "include": ["src"]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - 'packages/*'
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/tsconfig.base.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": ["es2022", "esnext", "dom"],
6 | "sourceMap": false,
7 | "strict": true,
8 | "esModuleInterop": true,
9 | "moduleResolution": "Bundler",
10 | "resolveJsonModule": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "skipLibCheck": true,
13 | "noUnusedLocals": true,
14 | "noUnusedParameters": true,
15 | "noImplicitAny": false,
16 | "noImplicitReturns": true
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/packages/create-monorepo/playground/monorepo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.base.json",
3 | "include": ["packages"],
4 | "exclude": ["**/dist"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/create-monorepo/scripts/snapshot.mjs:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zx
2 | import 'zx/globals'
3 |
4 | const playgroundDir = path.resolve(__dirname, '../playground')
5 | const bin = path.posix.relative('../playground/', '../index.js')
6 |
7 | if (!fs.existsSync(playgroundDir)) fs.mkdirSync(playgroundDir)
8 |
9 | cd(playgroundDir)
10 |
11 | await $`node ${bin} monorepo --skip`
12 | await $`node ${bin} monorepo-test --test --skip`
13 | await $`node ${bin} monorepo-tsx --runTS --skip`
14 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/base/.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
--------------------------------------------------------------------------------
/packages/create-monorepo/template/base/.prettierignore:
--------------------------------------------------------------------------------
1 | pnpm-lock.yaml
2 | packages/**/dist
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/base/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/base/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/base/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "typescript.tsdk": "node_modules/typescript/lib",
3 | "[typescript]": {
4 | "editor.defaultFormatter": "esbenp.prettier-vscode"
5 | },
6 | "[javascript]": {
7 | "editor.defaultFormatter": "esbenp.prettier-vscode"
8 | },
9 | "[json]": {
10 | "editor.defaultFormatter": "esbenp.prettier-vscode"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/base/_gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/base/packages/foo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@my-monorepo/foo",
3 | "version": "1.0.0",
4 | "description": "A minimal typescript library.",
5 | "type": "module",
6 | "main": "dist/index.cjs",
7 | "module": "dist/index.mjs",
8 | "types": "dist/index.d.ts",
9 | "exports": {
10 | ".": {
11 | "types": "./dist/index.d.ts",
12 | "import": "./dist/index.mjs",
13 | "require": "./dist/index.cjs"
14 | }
15 | },
16 | "files": [
17 | "dist"
18 | ],
19 | "scripts": {
20 | "dev": "esno -r dotenv/config src/index.ts",
21 | "build": "rollup -c rollup.config.ts --configPlugin typescript",
22 | "test": "vitest run"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/base/packages/foo/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/base/packages/foo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base.json",
3 | "include": ["src"]
4 | }
5 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/base/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - 'packages/*'
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/base/tsconfig.base.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": ["es2022", "esnext", "dom"],
6 | "sourceMap": false,
7 | "strict": true,
8 | "esModuleInterop": true,
9 | "moduleResolution": "Bundler",
10 | "resolveJsonModule": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "skipLibCheck": true,
13 | "noUnusedLocals": true,
14 | "noUnusedParameters": true,
15 | "noImplicitAny": false,
16 | "noImplicitReturns": true
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/base/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.base.json",
3 | "include": ["packages"],
4 | "exclude": ["**/dist"]
5 | }
6 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/env/packages/foo/.env:
--------------------------------------------------------------------------------
1 | # .env
2 | NODE_ENV=development
3 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/env/packages/foo/env.d.ts:
--------------------------------------------------------------------------------
1 | declare namespace NodeJS {
2 | interface ProcessEnv {
3 | NODE_ENV?: string
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/packages/create-monorepo/template/test/packages/foo/test/index.test.ts:
--------------------------------------------------------------------------------
1 | import { test, assert } from 'vitest'
2 | import { foo } from '../src'
3 |
4 | test('simple', () => {
5 | assert.equal(foo, 'foo')
6 | })
7 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-tsx/.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
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-tsx/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-tsx/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-tsx/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-tsx/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-tsx/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-tsx/README.md:
--------------------------------------------------------------------------------
1 | # rollup-tsx
2 |
3 | A Node.js library starter.
4 |
5 | ## Development
6 |
7 | ```sh
8 | $ pnpm dev
9 | ```
10 |
11 | ## Build
12 |
13 | ```sh
14 | $ pnpm build
15 | ```
16 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-tsx/env.d.ts:
--------------------------------------------------------------------------------
1 | declare namespace NodeJS {
2 | interface ProcessEnv {
3 | NODE_ENV?: string
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-tsx/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-tsx/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": [
6 | "esnext"
7 | ],
8 | "sourceMap": false,
9 | "strict": true,
10 | "allowJs": true,
11 | "esModuleInterop": true,
12 | "moduleResolution": "Bundler",
13 | "resolveJsonModule": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "skipLibCheck": true,
16 | "noUnusedLocals": true,
17 | "noUnusedParameters": true,
18 | "noImplicitAny": false,
19 | "noImplicitReturns": true
20 | },
21 | "include": [
22 | "src",
23 | "env.d.ts",
24 | "rollup.config.ts"
25 | ]
26 | }
27 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-vitest/.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
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-vitest/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-vitest/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-vitest/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-vitest/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-vitest/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-vitest/README.md:
--------------------------------------------------------------------------------
1 | # rollup-vitest
2 |
3 | A Node.js library starter.
4 |
5 | ## Build
6 |
7 | ```sh
8 | $ pnpm build
9 | ```
10 |
11 | ## Test
12 |
13 | ```sh
14 | $ pnpm test
15 | ```
16 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-vitest/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-vitest/test/index.test.ts:
--------------------------------------------------------------------------------
1 | import { test, assert } from 'vitest'
2 | import { foo } from '../src'
3 |
4 | test('simple', () => {
5 | assert.equal(foo, 'foo')
6 | })
7 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup-vitest/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": [
6 | "esnext"
7 | ],
8 | "sourceMap": false,
9 | "strict": true,
10 | "allowJs": true,
11 | "esModuleInterop": true,
12 | "moduleResolution": "Bundler",
13 | "resolveJsonModule": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "skipLibCheck": true,
16 | "noUnusedLocals": true,
17 | "noUnusedParameters": true,
18 | "noImplicitAny": false,
19 | "noImplicitReturns": true
20 | },
21 | "include": [
22 | "src",
23 | "rollup.config.ts"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup/.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
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup/README.md:
--------------------------------------------------------------------------------
1 | # rollup
2 |
3 | A Node.js library starter.
4 |
5 | ## Build
6 |
7 | ```sh
8 | $ pnpm build
9 | ```
10 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/rollup/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": [
6 | "esnext"
7 | ],
8 | "sourceMap": false,
9 | "strict": true,
10 | "allowJs": true,
11 | "esModuleInterop": true,
12 | "moduleResolution": "Bundler",
13 | "resolveJsonModule": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "skipLibCheck": true,
16 | "noUnusedLocals": true,
17 | "noUnusedParameters": true,
18 | "noImplicitAny": false,
19 | "noImplicitReturns": true
20 | },
21 | "include": [
22 | "src",
23 | "rollup.config.ts"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-tsx/.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
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-tsx/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-tsx/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-tsx/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-tsx/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-tsx/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-tsx/README.md:
--------------------------------------------------------------------------------
1 | # tsup-tsx
2 |
3 | A Node.js library starter.
4 |
5 | ## Development
6 |
7 | ```sh
8 | $ pnpm dev
9 | ```
10 |
11 | ## Build
12 |
13 | ```sh
14 | $ pnpm build
15 | ```
16 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-tsx/env.d.ts:
--------------------------------------------------------------------------------
1 | declare namespace NodeJS {
2 | interface ProcessEnv {
3 | NODE_ENV?: string
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-tsx/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-tsx/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": [
6 | "esnext"
7 | ],
8 | "sourceMap": false,
9 | "strict": true,
10 | "allowJs": true,
11 | "esModuleInterop": true,
12 | "moduleResolution": "Bundler",
13 | "resolveJsonModule": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "skipLibCheck": true,
16 | "noUnusedLocals": true,
17 | "noUnusedParameters": true,
18 | "noImplicitAny": false,
19 | "noImplicitReturns": true
20 | },
21 | "include": [
22 | "src",
23 | "env.d.ts"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-vitest/.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
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-vitest/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-vitest/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-vitest/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-vitest/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-vitest/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-vitest/README.md:
--------------------------------------------------------------------------------
1 | # tsup-vitest
2 |
3 | A Node.js library starter.
4 |
5 | ## Build
6 |
7 | ```sh
8 | $ pnpm build
9 | ```
10 |
11 | ## Test
12 |
13 | ```sh
14 | $ pnpm test
15 | ```
16 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-vitest/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-vitest/test/index.test.ts:
--------------------------------------------------------------------------------
1 | import { test, assert } from 'vitest'
2 | import { foo } from '../src'
3 |
4 | test('simple', () => {
5 | assert.equal(foo, 'foo')
6 | })
7 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-vitest/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": ["esnext"],
6 | "sourceMap": false,
7 | "strict": true,
8 | "allowJs": true,
9 | "esModuleInterop": true,
10 | "moduleResolution": "Bundler",
11 | "resolveJsonModule": true,
12 | "forceConsistentCasingInFileNames": true,
13 | "skipLibCheck": true,
14 | "noUnusedLocals": true,
15 | "noUnusedParameters": true,
16 | "noImplicitAny": false,
17 | "noImplicitReturns": true
18 | },
19 | "include": ["src"]
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-with-config/.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
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-with-config/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-with-config/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-with-config/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-with-config/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-with-config/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-with-config/README.md:
--------------------------------------------------------------------------------
1 | # tsup-with-config
2 |
3 | A Node.js library starter.
4 |
5 | ## Build
6 |
7 | ```sh
8 | $ pnpm build
9 | ```
10 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-with-config/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-with-config/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": [
6 | "esnext"
7 | ],
8 | "sourceMap": false,
9 | "strict": true,
10 | "allowJs": true,
11 | "esModuleInterop": true,
12 | "moduleResolution": "Bundler",
13 | "resolveJsonModule": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "skipLibCheck": true,
16 | "noUnusedLocals": true,
17 | "noUnusedParameters": true,
18 | "noImplicitAny": false,
19 | "noImplicitReturns": true
20 | },
21 | "include": [
22 | "src",
23 | "tsup.config.ts"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup-with-config/tsup.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'tsup'
2 |
3 | export default defineConfig({
4 | entry: ['./src/index.ts'],
5 | clean: true,
6 | dts: true,
7 | format: ['cjs', 'esm']
8 | })
9 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup/.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
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup/README.md:
--------------------------------------------------------------------------------
1 | # tsup
2 |
3 | A Node.js library starter.
4 |
5 | ## Build
6 |
7 | ```sh
8 | $ pnpm build
9 | ```
10 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/tsup/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": ["esnext"],
6 | "sourceMap": false,
7 | "strict": true,
8 | "allowJs": true,
9 | "esModuleInterop": true,
10 | "moduleResolution": "Bundler",
11 | "resolveJsonModule": true,
12 | "forceConsistentCasingInFileNames": true,
13 | "skipLibCheck": true,
14 | "noUnusedLocals": true,
15 | "noUnusedParameters": true,
16 | "noImplicitAny": false,
17 | "noImplicitReturns": true
18 | },
19 | "include": ["src"]
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-tsx/.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
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-tsx/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-tsx/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-tsx/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-tsx/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-tsx/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-tsx/README.md:
--------------------------------------------------------------------------------
1 | # unbuild-tsx
2 |
3 | A Node.js library starter.
4 |
5 | ## Development
6 |
7 | ```sh
8 | $ pnpm dev
9 | ```
10 |
11 | ## Build
12 |
13 | ```sh
14 | $ pnpm build
15 | ```
16 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-tsx/env.d.ts:
--------------------------------------------------------------------------------
1 | declare namespace NodeJS {
2 | interface ProcessEnv {
3 | NODE_ENV?: string
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-tsx/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-tsx/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": [
6 | "esnext"
7 | ],
8 | "sourceMap": false,
9 | "strict": true,
10 | "allowJs": true,
11 | "esModuleInterop": true,
12 | "moduleResolution": "Bundler",
13 | "resolveJsonModule": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "skipLibCheck": true,
16 | "noUnusedLocals": true,
17 | "noUnusedParameters": true,
18 | "noImplicitAny": false,
19 | "noImplicitReturns": true
20 | },
21 | "include": [
22 | "src",
23 | "env.d.ts"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-vitest/.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
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-vitest/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-vitest/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-vitest/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-vitest/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-vitest/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-vitest/README.md:
--------------------------------------------------------------------------------
1 | # unbuild-vitest
2 |
3 | A Node.js library starter.
4 |
5 | ## Build
6 |
7 | ```sh
8 | $ pnpm build
9 | ```
10 |
11 | ## Test
12 |
13 | ```sh
14 | $ pnpm test
15 | ```
16 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-vitest/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-vitest/test/index.test.ts:
--------------------------------------------------------------------------------
1 | import { test, assert } from 'vitest'
2 | import { foo } from '../src'
3 |
4 | test('simple', () => {
5 | assert.equal(foo, 'foo')
6 | })
7 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-vitest/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": ["esnext"],
6 | "sourceMap": false,
7 | "strict": true,
8 | "allowJs": true,
9 | "esModuleInterop": true,
10 | "moduleResolution": "Bundler",
11 | "resolveJsonModule": true,
12 | "forceConsistentCasingInFileNames": true,
13 | "skipLibCheck": true,
14 | "noUnusedLocals": true,
15 | "noUnusedParameters": true,
16 | "noImplicitAny": false,
17 | "noImplicitReturns": true
18 | },
19 | "include": ["src"]
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-with-config/.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
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-with-config/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-with-config/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-with-config/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-with-config/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-with-config/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-with-config/README.md:
--------------------------------------------------------------------------------
1 | # unbuild-with-config
2 |
3 | A Node.js library starter.
4 |
5 | ## Build
6 |
7 | ```sh
8 | $ pnpm build
9 | ```
10 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-with-config/build.config.ts:
--------------------------------------------------------------------------------
1 | import { defineBuildConfig } from 'unbuild'
2 |
3 | export default defineBuildConfig({
4 | entries: ['./src/index.ts'],
5 | clean: true,
6 | declaration: true,
7 | rollup: {
8 | emitCJS: true
9 | }
10 | })
11 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-with-config/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild-with-config/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": [
6 | "esnext"
7 | ],
8 | "sourceMap": false,
9 | "strict": true,
10 | "allowJs": true,
11 | "esModuleInterop": true,
12 | "moduleResolution": "Bundler",
13 | "resolveJsonModule": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "skipLibCheck": true,
16 | "noUnusedLocals": true,
17 | "noUnusedParameters": true,
18 | "noImplicitAny": false,
19 | "noImplicitReturns": true
20 | },
21 | "include": [
22 | "src",
23 | "build.config.ts"
24 | ]
25 | }
26 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild/.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
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild/README.md:
--------------------------------------------------------------------------------
1 | # unbuild
2 |
3 | A Node.js library starter.
4 |
5 | ## Build
6 |
7 | ```sh
8 | $ pnpm build
9 | ```
10 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-node-lib/playground/unbuild/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": ["esnext"],
6 | "sourceMap": false,
7 | "strict": true,
8 | "allowJs": true,
9 | "esModuleInterop": true,
10 | "moduleResolution": "Bundler",
11 | "resolveJsonModule": true,
12 | "forceConsistentCasingInFileNames": true,
13 | "skipLibCheck": true,
14 | "noUnusedLocals": true,
15 | "noUnusedParameters": true,
16 | "noImplicitAny": false,
17 | "noImplicitReturns": true
18 | },
19 | "include": ["src"]
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-node-lib/template/base/.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
--------------------------------------------------------------------------------
/packages/create-node-lib/template/base/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | pnpm-lock.yaml
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/template/base/.prettierrc.yaml:
--------------------------------------------------------------------------------
1 | singleQuote: true
2 | semi: false
3 | printWidth: 80
4 | trailingComma: none
5 |
--------------------------------------------------------------------------------
/packages/create-node-lib/template/base/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/packages/create-node-lib/template/base/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "[typescript]": {
3 | "editor.defaultFormatter": "esbenp.prettier-vscode"
4 | },
5 | "[javascript]": {
6 | "editor.defaultFormatter": "esbenp.prettier-vscode"
7 | },
8 | "[json]": {
9 | "editor.defaultFormatter": "esbenp.prettier-vscode"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/packages/create-node-lib/template/base/_gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | .eslintcache
4 | .env*
5 | *.log*
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/template/base/src/index.ts:
--------------------------------------------------------------------------------
1 | export const foo = 'foo'
2 |
--------------------------------------------------------------------------------
/packages/create-node-lib/template/base/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "esnext",
4 | "module": "esnext",
5 | "lib": ["esnext"],
6 | "sourceMap": false,
7 | "strict": true,
8 | "allowJs": true,
9 | "esModuleInterop": true,
10 | "moduleResolution": "Bundler",
11 | "resolveJsonModule": true,
12 | "forceConsistentCasingInFileNames": true,
13 | "skipLibCheck": true,
14 | "noUnusedLocals": true,
15 | "noUnusedParameters": true,
16 | "noImplicitAny": false,
17 | "noImplicitReturns": true
18 | },
19 | "include": ["src"]
20 | }
21 |
--------------------------------------------------------------------------------
/packages/create-node-lib/template/config/build.config.ts:
--------------------------------------------------------------------------------
1 | import { defineBuildConfig } from 'unbuild'
2 |
3 | export default defineBuildConfig({
4 | entries: ['./src/index.ts'],
5 | clean: true,
6 | declaration: true,
7 | rollup: {
8 | emitCJS: true
9 | }
10 | })
11 |
--------------------------------------------------------------------------------
/packages/create-node-lib/template/config/tsup.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'tsup'
2 |
3 | export default defineConfig({
4 | entry: ['./src/index.ts'],
5 | clean: true,
6 | dts: true,
7 | format: ['cjs', 'esm']
8 | })
9 |
--------------------------------------------------------------------------------
/packages/create-node-lib/template/env/.env:
--------------------------------------------------------------------------------
1 | # .env
2 | NODE_ENV=development
3 |
--------------------------------------------------------------------------------
/packages/create-node-lib/template/env/env.d.ts:
--------------------------------------------------------------------------------
1 | declare namespace NodeJS {
2 | interface ProcessEnv {
3 | NODE_ENV?: string
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/packages/create-node-lib/template/test/test/index.test.ts:
--------------------------------------------------------------------------------
1 | import { test, assert } from 'vitest'
2 | import { foo } from '../src'
3 |
4 | test('simple', () => {
5 | assert.equal(foo, 'foo')
6 | })
7 |
--------------------------------------------------------------------------------
/packages/create-node-lib/utils/getCommand.js:
--------------------------------------------------------------------------------
1 | module.exports = (packageManager, scriptName) => {
2 | if (scriptName === 'install') {
3 | return packageManager === 'yarn' ? 'yarn' : `${packageManager} install`
4 | }
5 |
6 | return packageManager === 'npm' ? `npm run ${scriptName}` : `${packageManager} ${scriptName}`
7 | }
8 |
--------------------------------------------------------------------------------
/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - 'packages/*'
3 |
--------------------------------------------------------------------------------