{"id":20750274,"url":"https://github.com/alanlu-dev/web-kit","last_synced_at":"2025-04-28T12:54:56.054Z","repository":{"id":225679792,"uuid":"765696621","full_name":"alanlu-dev/web-kit","owner":"alanlu-dev","description":"A monorepo build system and workflow for web projects.","archived":false,"fork":false,"pushed_at":"2024-10-16T06:27:16.000Z","size":62527,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-27T09:40:55.671Z","etag":null,"topics":["changesets","commitlint","eslint","linter-config","markdownlint","mastercss","monorepo","prettier","release-it","scss","stylelint","tsconfig","utils"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alanlu-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-01T12:44:23.000Z","updated_at":"2024-10-15T11:18:37.000Z","dependencies_parsed_at":"2024-04-26T09:46:32.996Z","dependency_job_id":"ecbcab1d-97d3-4b24-b2a2-04f7c3ec8852","html_url":"https://github.com/alanlu-dev/web-kit","commit_stats":{"total_commits":86,"total_committers":3,"mean_commits":"28.666666666666668","dds":0.313953488372093,"last_synced_commit":"67e25c4d61fe9488022f781bda62f61b99ac17e6"},"previous_names":["alanlu-dev/web-kit"],"tags_count":172,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alanlu-dev%2Fweb-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alanlu-dev%2Fweb-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alanlu-dev%2Fweb-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alanlu-dev%2Fweb-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alanlu-dev","download_url":"https://codeload.github.com/alanlu-dev/web-kit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225016227,"owners_count":17407556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["changesets","commitlint","eslint","linter-config","markdownlint","mastercss","monorepo","prettier","release-it","scss","stylelint","tsconfig","utils"],"created_at":"2024-11-17T08:26:31.031Z","updated_at":"2025-04-28T12:54:56.041Z","avatar_url":"https://github.com/alanlu-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @alanlu-dev/web-kit\n\n\u003cp\u003e\n \u003ca href=\"https://github.com/alanlu-dev/web-kit/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/alanlu-dev/web-kit/ci.yml?branch=main\" alt=\"Build Status\"\u003e\u003c/a\u003e\n \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/alanlu-dev/web-kit?style=flat\" alt=\"License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## 環境建置\n\n在專案中，選擇適合的工具能夠提高代碼品質、開發效率以及團隊合作。以下是一系列可供選擇的工具，您可以根據專案需求和個人偏好進行選擇和配置。\n\n### 開發工具\n\n* [Visual Studio Code](https://code.visualstudio.com): 由微軟開發的跨平台代碼編輯器，擁有豐富的擴展生態系統和強大的功能。\n\n### 包管理工具\n\n* [pnpm](https://pnpm.io): 一個快速、節省空間的包管理器，類似於 npm 和 Yarn，但共享依賴以節省空間。\n* [nvm](https://github.com/nvm-sh/nvm): Node.js 版本管理工具，用於管理多個 Node.js 版本，並在不同專案中切換版本。\n\n### 代碼風格和格式化\n\n* [EditorConfig](https://editorconfig.org): 跨編輯器和 IDE 的一致性代碼編寫風格工具。\n* [Prettier](https://prettier.io): 自動美化代碼，確保代碼風格的一致性和可讀性。\n* [ESLint](https://eslint.org): JavaScript 和 TypeScript 的靜態代碼分析工具，用於檢查代碼中的錯誤和實施一致的代碼風格。\n* [Stylelint](https://stylelint.io): CSS 和 SCSS/Less 的靜態代碼分析工具，用於檢查樣式表中的錯誤和一致性。\n* [Markdownlint](https://github.com/DavidAnson/markdownlint): Markdown 文件的風格和語法的工具。\n* [husky](https://typicode.github.io/husky): Git 鉤子工具，用於在 Git 操作觸發前執行指定的代碼。\n* [lint-staged](https://github.com/lint-staged/lint-staged): 在 Git 暫存區上運行 lint 工具的工具，通常與 husky 一起使用。\n* [commitlint](https://commitlint.js.org): 檢查提交消息是否符合指定格式的工具，通常與 Conventional Commits 一起使用。\n* [CSpell](https://cspell.org/): 拼寫檢查工具，用於檢查代碼和文本文件中的拼寫錯誤。\n\n### 版本控制\n\n* [Conventional Commits](https://www.conventionalcommits.org): 一種標準化的提交消息格式，用於生成一致的提交消息，以便自動化版本控制和發布。\n* [czg](https://cz-git.qbb.sh/zh/cli): 用於生成符合 Conventional Commits 的提交消息的交互式命令行工具。\n* [changeset](https://github.com/changesets/changesets): 一個用於管理 monorepo 中發布版本的工具。Changeset 允許您將多個包的變更集中管理，並生成一致的發布版本，以確保版本管理的一致性和可追溯性。\n\n### 建構工具\n\n* [Vite](https://vitejs.dev): 現代化的前端開發工具和建構工具，提供快速的開發體驗和優化的生產環境。\n* [unbuild](https://github.com/unjs/unbuild): 構建和打包 JavaScript 和 TypeScript 項目的工具，提供零配置的構建和打包功能。\n* [Turborepo](https://turbo.build/repo): 管理多個 monorepo 專案的開發者工具，提供統一的開發體驗和依賴管理。\n\n### 測試工具\n\n* [Vitest](https://vitest.dev): Vite 的測試工具，專注於提供簡單且快速的測試環境，基於 Jest 框架。\n* [Playwright](https://playwright.dev): 一個用於自動化測試 Web 應用程序的工具，支持多種瀏覽器和平台。\n\n### JavaScript\n\n* [TypeScript](https://www.typescriptlang.org): 靜態類型的 JavaScript 語言，提供更強大的開發工具和代碼檢查。\n\n### Style\n\n* [SCSS](https://sass-lang.com):  CSS 預處理器，添加了變量、嵌套、Mixin 等功能以提高代碼可重用性和維護性。\n* [PostCSS](https://postcss.org): 轉換 CSS 的工具，可以自動添加瀏覽器前綴、優化代碼等。\n* [Tailwind CSS](https://tailwindcss.com): 一個功能強大的 CSS 框架，提供了大量的樣式工具和組件，用於快速構建現代化的網站。\n* [Master CSS](https://master.co): CSS 語言和框架，用於快速構建現代和高性能的網站。\n\n---\n\n### Packages\n\n#### `tooling`\n\n這個資料夾包含所有的開發工具配置，這些配置幫助我們維護代碼質量，確保代碼符合規範並且自動化檢查和格式化代碼。主要內容包括：\n\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/tooling/commitlint-config/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/commitlint-config%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：Shareable commitlint configuration for [Conventional Commits](https://www.conventionalcommits.org).\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/tooling/eslint-config/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/eslint-config%2A\u0026style=flathttps://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/eslint-config%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：Shareable ESLint configuration.\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/tooling/lint-staged-config/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/lint-staged-config%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：Shareable lint-staged configuration.\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/tooling/markdownlint-config/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/markdownlint-config%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：Shareable markdownlint configuration.\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/tooling/prettier-config/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/prettier-config%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：Shareable prettier configuration.\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/tooling/stylelint-config/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/stylelint-config%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：Shareable stylelint configuration.\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/tooling/tsconfig/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/tsconfig%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：Shareable TypeScript configuration.\n\n#### `versions`\n\n這個資料夾包含版本管理和發佈流程的配置，確保專案版本的一致性。\n\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/versions/changeset/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/changeset%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：Automatically generate changeset by [Conventional Commits](https://www.conventionalcommits.org).\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/versions/release-it-config/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/release-it-config%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：A release-it configuration for monorepo.\n\n#### `types`\n\n這個資料夾包含所有與 TypeScript 類型相關的檔案，用來確保代碼的型別安全。\n\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/types/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/types%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：Shareable TypeScript types.\n\n#### `utils`\n\n這個資料夾包含通用的輔助函式或工具，這些函式通常會在多個地方重用，幫助我們處理一些常見的邏輯，如數據處理、驗證等。\n\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/utils/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/utils%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：A collection of utility functions.\n\n#### `tests`\n\n這個資料夾包含專案的測試配置。所有的測試框架和測試工具設定都集中在這裡。\n\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/tests/playwright/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/playwright%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：A playwright configuration for monorepo.\n\n#### `styles`\n\n這個資料夾包含專案的樣式配置。你可以在這裡找到所有的樣式相關設定，確保專案的一致視覺風格。\n\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/styles/mastercss/config/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/mastercss-config%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：Shareable Master CSS configuration.\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/styles/mastercss/helpers/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/mastercss-helpers%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：A collection of utility functions for Master CSS.\n* \u003ca href=\"https://github.com/alanlu-dev/web-kit/blob/main/packages/styles/scss/CHANGELOG.md\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/alanlu-dev/web-kit?filter=@alanlu-dev/scss%2A\u0026style=flat\" alt=\"Version\"\u003e\u003c/a\u003e：Shareable SCSS configuration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falanlu-dev%2Fweb-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falanlu-dev%2Fweb-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falanlu-dev%2Fweb-kit/lists"}