Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(builder): add new builder-plugin-vue2 #4238

Merged
merged 5 commits into from
Jul 18, 2023

Conversation

chenjiahan
Copy link
Member

@chenjiahan chenjiahan commented Jul 18, 2023

Summary

  • Add new builder-plugin-vue2, which is similar to builder-plugin-vue, but designed for Vue 2.
  • This PR do not contain the documentation of this plugin, I will add it in a separate PR.

🤖 Generated by Copilot at 4a15eb2

This pull request adds a new builder-plugin-vue2 package to the Modern.js Builder, which enables the support for Vue 2 projects with various features and options. It also adds a changeset file, a license file, a readme file, a changelog file, a modern.config.js file, a package.json file, an ESLint configuration file, a npmignore file, a source code file, a TypeScript configuration file, a vitest configuration file, a test setup file, a test file and a test snapshot serializer for the new package. Additionally, it adds some e2e test cases for the new plugin, using playwright and vitest, and modifies some existing test cases to add the vue dependency.

Details

🤖 Generated by Copilot at 4a15eb2

  • Add a new builder-plugin-vue2 package to support Vue 2 projects with Modern.js Builder (link, link, link, link, link, link, link, link, link, link)
  • Export a function that returns a builder plugin object that can modify the builder config and the bundler chain (link)
  • Accept some options to customize the vue-loader and the vue-jsx babel preset (link)
  • Use the tscLikeBuildConfig from the @scripts/build package in the modern.config.js file (link)
  • Test the plugin's functionality and behavior with different options and scenarios using vitest and snapshots (link, link, link, link, link)
  • Add a custom snapshot serializer from the @scripts/vitest-config package (link)
  • Add e2e test cases for the plugin with different Vue 2 projects, such as sfc-basic, jsx-basic, sfc-lang-ts, sfc-lang-jsx and sfc-lang-tsx (link, link)
  • Add the vue dependency to the package.json file of the builder-cli-vue e2e test case, which is needed to run the Vue 3 project (link)
  • Add a package.json file for the vue e2e test case, specifying the name, version and vue dependency of the test project (link)

Related Issue

Checklist

  • I have added changeset via pnpm run change.
  • I have updated the documentation.
  • I have added tests to cover my changes.

@changeset-bot
Copy link

changeset-bot bot commented Jul 18, 2023

🦋 Changeset detected

Latest commit: 4df65b6

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 214 packages
Name Type
@modern-js/builder-plugin-vue2 Patch
@e2e/builder Patch
@modern-js/babel-preset-app Patch
@modern-js/babel-preset-base Patch
@modern-js/core Patch
@modern-js/doc-core Patch
@modern-js/doc-plugin-api-docgen Patch
@modern-js/doc-plugin-auto-sidebar Patch
@modern-js/doc-plugin-medium-zoom Patch
@modern-js/doc-plugin-preview Patch
@modern-js/doc-plugin-typedoc Patch
@modern-js/plugin-bff Patch
@modern-js/plugin-changeset Patch
@modern-js/plugin-data-loader Patch
@modern-js/plugin-i18n Patch
@modern-js/plugin-lint Patch
@modern-js/plugin-proxy Patch
@modern-js/plugin-ssg Patch
@modern-js/plugin-storybook Patch
@modern-js/plugin-swc Patch
@modern-js/plugin-tailwindcss Patch
@modern-js/builder-doc Patch
@modern-js/doc-tools-doc Patch
@modern-js/main-doc Patch
@modern-js/module-tools-docs Patch
@modern-js/plugin-garfish Patch
@modern-js/plugin-router-v5 Patch
@modern-js/runtime Patch
@modern-js/plugin-testing Patch
@modern-js/new-action Patch
@modern-js-app/eslint-config Patch
@modern-js/eslint-config Patch
@modern-js/tsconfig Patch
@modern-js/bff-core Patch
@modern-js/bff-runtime Patch
@modern-js/server-core Patch
@modern-js/create-request Patch
@modern-js/plugin-express Patch
@modern-js/plugin-koa Patch
@modern-js/plugin-polyfill Patch
@modern-js/plugin-server Patch
@modern-js/plugin-worker Patch
@modern-js/prod-server Patch
@modern-js/server Patch
@modern-js/server-utils Patch
@modern-js/builder-cli Patch
@modern-js/builder-rspack-provider Patch
@modern-js/builder-shared Patch
@modern-js/builder-webpack-provider Patch
@modern-js/builder Patch
@modern-js/friendly-errors-webpack-plugin Patch
@modern-js/builder-plugin-esbuild Patch
@modern-js/builder-plugin-image-compress Patch
@modern-js/builder-plugin-node-polyfill Patch
@modern-js/builder-plugin-stylus Patch
@modern-js/builder-plugin-swc Patch
@modern-js/builder-plugin-vue Patch
@modern-js/plugin-module-babel Patch
@modern-js/plugin-module-banner Patch
@modern-js/plugin-module-doc Patch
@modern-js/plugin-module-import Patch
@modern-js/plugin-module-main-fields Patch
@modern-js/plugin-module-node-polyfill Patch
@modern-js/plugin-module-polyfill Patch
@modern-js/plugin-module-target Patch
@modern-js/app-tools Patch
@modern-js/doc-tools Patch
@modern-js/module-tools Patch
@modern-js/monorepo-tools Patch
@modern-js/create Patch
@modern-js/e2e Patch
@modern-js/monorepo-utils Patch
@modern-js/node-bundle-require Patch
@modern-js/plugin Patch
@modern-js/remark-container Patch
@modern-js/types Patch
@modern-js/upgrade Patch
@modern-js/utils Patch
@modern-js/babel-compiler Patch
@scripts/build Patch
@scripts/check-changeset Patch
@scripts/jest-config Patch
@scripts/lint-package-json Patch
@scripts/prebundle Patch
@scripts/update-codesmith Patch
@scripts/vitest-config Patch
tests Patch
@integration-test/alias-set Patch
api-service-koa Patch
app-docmuent Patch
integration-asset-prefix Patch
async-entry-test Patch
bff-express Patch
bff-koa Patch
integration-builder-plugins Patch
builder-rspack Patch
integration-clean-dist-path Patch
integration-copy-assets Patch
antd-less Patch
bad-nested-npm-import Patch
bad-npm-import Patch
base-import Patch
disable-source-map Patch
exclude-less Patch
exclude-sass Patch
import-common-css Patch
less-import Patch
less-inline-js Patch
less-npm-import Patch
multi-css Patch
multi-less Patch
multi-sass Patch
nested-npm-import Patch
npm-import Patch
integration-tailwindcss-v2 Patch
integration-tailwindcss-v3 Patch
twin-macro-v2 Patch
twin-macro-v3 Patch
css-test Patch
integration-custom-render Patch
integration-custom-template Patch
dev-server Patch
simple-doc-template Patch
i18n-doc Patch
doc-plugin Patch
simple-doc-production Patch
with-base Patch
doc-tools Patch
legacy-esbuild-minify-js Patch
esbuild-transform-and-minify Patch
esbuild-integration Patch
integration-config-async-config-test Patch
integration-basic-local-config Patch
integration-config-function-params Patch
integration-local-config-function Patch
integration-load-config Patch
main-entry-name Patch
integration-module-doc Patch
tmp Patch
nonce Patch
routes Patch
file-based-router Patch
use-loader Patch
runtime Patch
select-mul-entry-test Patch
select-one-entry-test Patch
entry Patch
server-config Patch
server-middleware Patch
server-hook-reqeust Patch
server-hook-response Patch
server-hook-router Patch
@integration-test/server-hook-reqeust Patch
server-prod Patch
@source-code-build/app Patch
@source-code-build/components Patch
@source-code-build/utils Patch
ssg-fixtures-nested-routes Patch
ssg-fixtures-simple Patch
ssg-fixtures-web-server Patch
ssg Patch
ssr-base-json-test Patch
ssr-base-test Patch
ssr-base-fallback-test Patch
init Patch
ssr-streaming-test Patch
ssr Patch
swc-minify-css Patch
swc-minify-js Patch
transform-fail Patch
swc-integration Patch
tmp-dir Patch
write-to-dist Patch
@e2e/builder-cli-rspack Patch
@e2e/builder-cli-vue Patch
@e2e/builder-cli-webpack Patch
@e2e/webpack-builder-import-antd-v4 Patch
@e2e/webpack-builder-import-antd-v5 Patch
@e2e/webpack-builder-import-arco Patch
@e2e/webpack-builder-test-moment Patch
@e2e/builder-vue3 Patch
@e2e/builder-vue2 Patch
@e2e/garfish-dashboard-router-v6 Patch
@e2e/garfish-dashboard Patch
@e2e/garfish-main-router-v6 Patch
@e2e/garfish-main Patch
@e2e/garfish-table Patch
@e2e/garfish Patch
@modern-js/generator-common Patch
@modern-js/generator-plugin Patch
@modern-js/generator-utils Patch
@modern-js/bff-generator Patch
@modern-js/dependence-generator Patch
@modern-js/doc-generator Patch
@modern-js/entry-generator Patch
@modern-js/generator-generator Patch
@modern-js/module-generator Patch
@modern-js/module-test-generator Patch
@modern-js/monorepo-generator Patch
@modern-js/mwa-generator Patch
@modern-js/router-v5-generator Patch
@modern-js/rspack-generator Patch
@modern-js/ssg-generator Patch
@modern-js/storybook-generator Patch
@modern-js/test-generator Patch
@modern-js/upgrade-generator Patch
@modern-js/generator-plugin-plugin Patch
@modern-js/repo-generator Patch
@modern-js/generator-cases Patch
@modern-js/base-generator Patch
@modern-js/changeset-generator Patch
@modern-js/packages-generator Patch
@modern-js/server-generator Patch
@modern-js/tailwindcss-generator Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@codecov
Copy link

codecov bot commented Jul 18, 2023

Codecov Report

Patch coverage has no change and project coverage change: -1.26 ⚠️

Comparison is base (99693f0) 57.59% compared to head (4df65b6) 56.33%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4238      +/-   ##
==========================================
- Coverage   57.59%   56.33%   -1.26%     
==========================================
  Files         672      662      -10     
  Lines       17794    18005     +211     
  Branches     3876     3936      +60     
==========================================
- Hits        10249    10144     -105     
- Misses       6934     7200     +266     
- Partials      611      661      +50     

see 383 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@chenjiahan chenjiahan merged commit 5bab975 into web-infra-dev:main Jul 18, 2023
6 checks passed
@chenjiahan chenjiahan deleted the plugin_vue2_0718 branch July 18, 2023 10:37
@caohuilin caohuilin mentioned this pull request Jul 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants