diff --git a/.github/idux-bot.yml b/.github/idux-bot.yml index ef676ec1a..f791c6974 100644 --- a/.github/idux-bot.yml +++ b/.github/idux-bot.yml @@ -43,8 +43,7 @@ issue: - Upgrade Dependencies replay: | Hello @{user}. - - If you use npm, please try `rm -rf node_modules && npm install` to upgrade all your dependencies. - - If you use yarn, you may need `yarn upgrade`. + - please try `rm -rf node_modules && pnpm install` to upgrade all your dependencies. - labels: diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 1eecd80f6..2c897301d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -9,6 +9,9 @@ trigger: pool: vmImage: 'ubuntu-latest' +variables: + install_packages: 'npm add -g pnpm && pnpm install' + stages: - stage: env jobs: @@ -26,9 +29,8 @@ stages: jobs: - job: lint_packages steps: - - task: Npm@1 - inputs: - command: 'install' + - script: $(install_packages) + displayName: 'Install packages' - script: npm run lint displayName: 'Run lint' @@ -38,9 +40,9 @@ stages: jobs: - job: test_packages steps: - - task: Npm@1 - inputs: - command: 'install' + - script: $(install_packages) + displayName: 'Install packages' + - script: npm run test displayName: 'Run test' @@ -72,9 +74,8 @@ stages: - job: build_site condition: eq(variables['Build.Reason'], 'PullRequest') steps: - - task: Npm@1 - inputs: - command: 'install' + - script: $(install_packages) + displayName: 'Install packages' - script: npm run build displayName: 'Run build' @@ -90,9 +91,8 @@ stages: - job: publish_artifacts condition: ne(variables['Build.Reason'], 'PullRequest') steps: - - task: Npm@1 - inputs: - command: 'install' + - script: $(install_packages) + displayName: 'Install packages' - script: npm run build displayName: 'Run build' diff --git a/lerna.json b/lerna.json index 2e01eb6f6..9c11ab10a 100644 --- a/lerna.json +++ b/lerna.json @@ -9,9 +9,7 @@ "registry": "https://registry.npmjs.org" }, "bootstrap": { - "ignore": "", - "hoist": true, - "npmClientArgs": ["--no-package-lock"] + "npmClient": "pnpm" } } } diff --git a/package.json b/package.json index e490b5606..6ae0e56b3 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "icons": "gulp icons --gulpfile ./scripts/gulp/gulpfile.ts", "gen": "ts-node scripts/gen/generate.ts", "prepare": "husky install", - "postinstall": "lerna bootstrap", + "preinstall": "npx only-allow pnpm", "version": "lerna version --conventional-commits", "test": "jest", "lint": "npm run ls-lint && npm run eslint && npm run stylelint && npm run markdownlint", @@ -42,17 +42,6 @@ "path": "./node_modules/cz-conventional-changelog" } }, - "dependencies": { - "@juggle/resize-observer": "^3.3.1", - "@popperjs/core": "^2.9.3", - "axios": "^0.21.1", - "codesandbox": "^2.2.3", - "date-fns": "^2.27.0", - "lodash-es": "^4.17.21", - "vue": "^3.2.6", - "vue-router": "^4.0.0", - "vue-types": "^3.0.0" - }, "devDependencies": { "@babel/core": "^7.16.0", "@babel/preset-env": "^7.16.0", @@ -62,6 +51,8 @@ "@ls-lint/ls-lint": "^1.10.0", "@rollup/plugin-node-resolve": "^13.1.0", "@rollup/plugin-replace": "^3.0.0", + "@rollup/pluginutils": "^4.1.2", + "@types/bluebird": "^3.5.36", "@types/figlet": "^1.5.4", "@types/fs-extra": "^9.0.12", "@types/gulp": "^4.0.9", @@ -70,6 +61,7 @@ "@types/less": "^3.0.3", "@types/lodash-es": "^4.17.4", "@types/marked": "^4.0.0", + "@types/node": "^17.0.17", "@types/parse5": "^6.0.1", "@types/prismjs": "^1.16.6", "@types/svgo": "^2.6.1", @@ -79,9 +71,14 @@ "@vitejs/plugin-vue": "^1.10.0", "@vitejs/plugin-vue-jsx": "^1.3.0", "@vue/babel-plugin-jsx": "^1.1.1", + "@vue/compiler-dom": "^3.2.29", "@vue/compiler-sfc": "^3.2.6", "@vue/eslint-config-prettier": "^7.0.0", "@vue/eslint-config-typescript": "^10.0.0", + "@vue/reactivity": "^3.2.29", + "@vue/runtime-core": "^3.2.29", + "@vue/runtime-dom": "^3.2.29", + "@vue/shared": "^3.2.29", "@vue/test-utils": "2.0.0-rc.17", "babel-jest": "^27.4.0", "chalk": "^4.0.0", @@ -115,6 +112,7 @@ "prismjs": "^1.25.0", "remark": "^13.0.0", "resolve-bin": "^1.0.0", + "rollup": "^2.62.0", "rollup-plugin-typescript2": "^0.31.1", "stylelint": "^14.0.0", "stylelint-config-prettier": "^9.0.0", @@ -122,10 +120,12 @@ "svgo": "^2.8.0", "ts-jest": "^27.1.0", "ts-node": "^10.4.0", + "ts-toolbelt": "^9.6.0", "tslib": "^2.3.1", "typescript": "^4.5.0", "unplugin-vue-components": "^0.17.0", "vite": "^2.7.0", + "vue": "^3.2.29", "vue3-jest": "^27.0.0-alpha.2", "yaml-front-matter": "^4.1.1" }, diff --git a/packages/cdk/package.json b/packages/cdk/package.json index c12c955cd..4f6cc515a 100644 --- a/packages/cdk/package.json +++ b/packages/cdk/package.json @@ -35,5 +35,8 @@ "@popperjs/core": "^2.9.3", "lodash-es": "^4.17.21", "vue-types": "^3.0.0" + }, + "peerDependencies": { + "vue": "^3.2.29" } } diff --git a/scripts/gulp/icons/bin.js b/packages/components/bin.js old mode 100644 new mode 100755 similarity index 100% rename from scripts/gulp/icons/bin.js rename to packages/components/bin.js diff --git a/packages/components/package.json b/packages/components/package.json index a6253fcf0..5f9249755 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -33,6 +33,15 @@ "scripts": {}, "dependencies": { "@idux/cdk": "^1.0.0-alpha.4", - "date-fns": "^2.27.0" + "date-fns": "^2.27.0", + "lodash-es": "^4.17.21", + "vue-types": "^3.0.0" + }, + "devDependencies": { + "axios": "^0.25.0", + "vue-router": "^4.0.12" + }, + "peerDependencies": { + "vue": "^3.2.29" } } diff --git a/packages/pro/package.json b/packages/pro/package.json index 944773616..760f452f2 100644 --- a/packages/pro/package.json +++ b/packages/pro/package.json @@ -31,6 +31,11 @@ "scripts": {}, "dependencies": { "@idux/cdk": "^1.0.0-alpha.4", - "@idux/components": "^1.0.0-alpha.5" + "@idux/components": "^1.0.0-alpha.5", + "lodash-es": "^4.17.21", + "vue-types": "^3.0.0" + }, + "peerDependencies": { + "vue": "^3.2.29" } } diff --git a/packages/site/package.json b/packages/site/package.json index 3a6cd4a0d..36337836b 100644 --- a/packages/site/package.json +++ b/packages/site/package.json @@ -13,6 +13,9 @@ "@idux/cdk": "^1.0.0-alpha.4", "@idux/components": "^1.0.0-alpha.5", "@idux/pro": "^1.0.0-alpha.5", - "codesandbox": "^2.2.3" + "codesandbox": "^2.2.3", + "lodash-es": "^4.17.21", + "vue": "^3.2.29", + "vue-router": "^4.0.0" } } diff --git a/packages/site/src/docs/Contributing.en.md b/packages/site/src/docs/Contributing.en.md index fbaab5b46..0cc1ca693 100644 --- a/packages/site/src/docs/Contributing.en.md +++ b/packages/site/src/docs/Contributing.en.md @@ -65,7 +65,7 @@ The `IDuxFE` team will pay attention to all Pull Requests. We will review and me ## Development Process - clone the fork repository; -- install dependencies with `npm i` or `yarn`; +- install dependencies with `pnpm install`; - commonly used commands: - `npm start` Run the documentation website locally; - `npm run lint` Check code style(tips: run `npm run lint-fix` Can fix simple format errors); diff --git a/packages/site/src/docs/Contributing.zh.md b/packages/site/src/docs/Contributing.zh.md index 509e9a1f9..1ddc60425 100644 --- a/packages/site/src/docs/Contributing.zh.md +++ b/packages/site/src/docs/Contributing.zh.md @@ -65,7 +65,7 @@ order: 11 ## 开发流程 - clone fork 后的仓库 -- 安装依赖:`npm install` 或 `yarn` +- 安装依赖:`pnpm install` - 常用的命令: - `npm start` 在本地运行文档网站。 - `npm run lint` 检查代码风格(tips: 使用 `npm run lint-fix` 可以修复简单格式错误)。 @@ -75,6 +75,7 @@ order: 11 ## 代码风格 我们使用了 `eslint`, `stylelint`, `markdownlint` 以及 `ls-lint` 来保证整体的代码风格一致。并且在 commit hooks 中配置了自动格式化和 lint, 只要提交通过即可。 + ## Commit 对于如何提交 git commit message,我们有非常精确的规则。我们希望所有的 commit message 更具可读性,这样在查看项目历史记录会变得容易,同时我们使用 commit message 生成 Changelog. diff --git a/packages/site/vite.config.ts b/packages/site/vite.config.ts index 20134215c..085b625ec 100644 --- a/packages/site/vite.config.ts +++ b/packages/site/vite.config.ts @@ -10,9 +10,6 @@ import { transformIndexPlugin } from './plugins/transformIndexPlugin' export default defineConfig(({ command }) => { const isBuild = command === 'build' - const cdkResolve = isBuild ? '../../dist/cdk' : '../cdk' - const componentsResolve = isBuild ? '../../dist/components' : '../components' - const proResolve = isBuild ? '../../dist/pro' : '../pro' return { plugins: [ @@ -27,9 +24,9 @@ export default defineConfig(({ command }) => { ], resolve: { alias: [ - { find: '@idux/cdk', replacement: resolve(__dirname, cdkResolve) }, - { find: '@idux/components', replacement: resolve(__dirname, componentsResolve) }, - { find: '@idux/pro', replacement: resolve(__dirname, proResolve) }, + { find: '@idux/cdk', replacement: resolve(__dirname, '../cdk') }, + { find: '@idux/components', replacement: resolve(__dirname, '../components') }, + { find: '@idux/pro', replacement: resolve(__dirname, '../pro') }, { find: '@idux/site', replacement: resolve(__dirname, './src') }, ], }, diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 000000000..600b4bb48 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - 'packages/**' diff --git a/scripts/gulp/build/index.ts b/scripts/gulp/build/index.ts index 450a51f33..6eef320b8 100644 --- a/scripts/gulp/build/index.ts +++ b/scripts/gulp/build/index.ts @@ -44,7 +44,7 @@ export const buildComponents = series( clean(componentsDistDirname), buildPackage(componentsOptions), async () => { - await copyFile(join(icon.assetsDirname, '../bin.js'), join(componentsDistDirname, 'bin.js')) + await copyFile(join(componentsDirname, 'bin.js'), join(componentsDistDirname, 'bin.js')) await copy(icon.assetsDirname, join(componentsDistDirname, 'icon/svg')) }, buildIndex(componentsOptions),