├── .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 | 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 | 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 | 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 | 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 | --------------------------------------------------------------------------------