diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 000000000..1057c3add --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,2 @@ +Chrome >= 52 +Firefox >= 48 diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..6e4d2b9f7 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,37 @@ +version: 2 +jobs: + build: + docker: + # specify the version you desire here + - image: node:current + - image: vuejs/ci + resource_class: medium+ + + working_directory: ~/repo + + steps: + - checkout + + # Download and cache dependencies + - restore_cache: + keys: + - v3-dependencies-{{ checksum "yarn.lock" }} + # fallback to using the latest cache if no exact match is found + - v3-dependencies- + + - run: yarn install --pure-lockfile + + - save_cache: + paths: + - node_modules + - ~/.cache/yarn + - ~/.cache/Cypress + key: v3-dependencies-{{ checksum "yarn.lock" }} + + # run tests! + - run: yarn build && yarn test + + - store_artifacts: + path: cypress/videos + - store_artifacts: + path: cypress/screenshots diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 34f02fa99..000000000 --- a/.eslintrc +++ /dev/null @@ -1,15 +0,0 @@ -{ - "root": true, - "extends": "vue", - "plugins": [ - "html" - ], - "globals": { - "bridge": true, - "chrome": true, - "localStorage": true - }, - "rules": { - "object-curly-spacing": 0 - } -} diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..b500cc317 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: Akryum diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 000000000..ebd154bd1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,78 @@ +name: 🐞 Bug report +description: Create a report to help us improve +body: + - type: markdown + attributes: + value: | + **Before You Start...** + + This form is only for submitting bug reports. If you have a usage question + or are unsure if this is really a bug, make sure to: + + - Read the [docs](https://devtools.vuejs.org/) + - Read the [FAQ](https://devtools.vuejs.org/guide/faq.html) + - Ask on [GitHub Discussions](https://github.com/vuejs/devtools/discussions) + - Ask on [Discord Chat](https://chat.vuejs.org/) + + Also try to search for your issue - it may have already been answered or even fixed in the development branch. + However, if you find that an old, closed issue still persists in the latest version, + you should open a new issue using the form below instead of commenting on the old issue. + - type: input + id: version + attributes: + label: Vue devtools version + description: | + Open your browser Extensions page and find the Vue devtools extension. Then write in this field the version number shown next to the Vue devtools extension name. + validations: + required: true + - type: input + id: reproduction-link + attributes: + label: Link to minimal reproduction + description: | + The easiest way to provide a reproduction is by showing the bug in [The SFC Playground](https://sfc.vuejs.org/). + If it cannot be reproduced in the playground and requires a proper build setup, try [StackBlitz](https://vite.new/vue). + If neither of these are suitable, you can always provide a GitHub repository. + + The reproduction should be **minimal** - i.e. it should contain only the bare minimum amount of code needed + to show the bug. See [Bug Reproduction Guidelines](https://github.com/vuejs/core/blob/main/.github/bug-repro-guidelines.md) for more details. + + Please do not just fill in a random link. The issue will be closed if no valid reproduction is provided. + placeholder: Reproduction Link + validations: + required: true + - type: textarea + id: steps-to-reproduce + attributes: + label: Steps to reproduce & screenshots + description: | + What do we need to do after opening your repro in order to make the bug happen in the devtools? Clear and concise reproduction instructions are important for us to be able to triage your issue in a timely manner. Note that you can upload screenshots and use [Markdown](https://guides.github.com/features/mastering-markdown/) to format lists and code. + placeholder: Steps to reproduce + validations: + required: true + - type: textarea + id: expected + attributes: + label: What is expected? + validations: + required: true + - type: textarea + id: actually-happening + attributes: + label: What is actually happening? + validations: + required: true + - type: textarea + id: system-info + attributes: + label: System Info + description: Output of `npx envinfo --system --npmPackages vue --binaries --browsers` + render: shell + placeholder: System, Binaries, Browsers + validations: + required: true + - type: textarea + id: additional-comments + attributes: + label: Any additional comments? + description: e.g. some background/context of how you ran into this bug. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..3a4001789 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,14 @@ +blank_issues_enabled: false +contact_links: + - name: I have a performance issue + url: https://devtools.vuejs.org/guide/devtools-perf.html + about: Follow the guide to share performance profiling data with us! + - name: Questions & Discussions + url: https://github.com/vuejs/devtools/discussions + about: Use GitHub discussions for message-board style questions and discussions. + - name: Discord Chat + url: https://chat.vuejs.org + about: Ask questions and discuss with other Vue users in real time. + - name: GitHub Sponsor + url: https://github.com/sponsors/Akryum + about: Love the Vue devtools? Please consider supporting us via GitHub sponsors. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 000000000..b52c4120f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,28 @@ +name: 🚀 New feature proposal +description: Suggest an idea for this project +labels: [':sparkles: feature request'] +body: + - type: markdown + attributes: + value: | + **Before You Start...** + + This form is only for submitting feature requests. If you have a usage question + or are unsure if this is really a bug, make sure to: + + - Read the [docs](https://devtools.vuejs.org/) + - Read the [FAQ](https://devtools.vuejs.org/guide/faq.html) + - Ask on [GitHub Discussions](https://github.com/vuejs/devtools/discussions) + - Ask on [Discord Chat](https://chat.vuejs.org/) + + Also try to search for your issue - another user may have already requested something similar! + + - type: textarea + id: problem-description + attributes: + label: What problem does this feature solve? + description: | + Explain your use case, context, and rationale behind this feature request. More importantly, what is the **end user experience** you are trying to build that led to the need for this feature? + placeholder: Problem description + validations: + required: true diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..4f8b07771 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,26 @@ + + +### Description + + + +### Additional context + + + +--- + +### What is the purpose of this pull request? + +- [ ] Bug fix +- [ ] New Feature +- [ ] Documentation update +- [ ] Other + +### Before submitting the PR, please make sure you do the following + +- [ ] Read the [Contributing Guidelines](https://devtools.vuejs.org/guide/contributing.html). +- [ ] Read the [Pull Request Guidelines](https://devtools.vuejs.org/guide/contributing.html#pull-request-guidelines) and follow the [Commit Convention](https://github.com/vuejs/devtools/blob/main/.github/commit-convention.md). +- [ ] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate. +- [ ] Provide a description in this PR that addresses **what** the PR is solving, or reference the issue that it solves (e.g. `fixes #123`). + diff --git a/.github/commit-convention.md b/.github/commit-convention.md new file mode 100644 index 000000000..baa447479 --- /dev/null +++ b/.github/commit-convention.md @@ -0,0 +1,92 @@ +## Git Commit Message Convention + +> This is adapted from [Angular's commit convention](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular). + +#### TL;DR: + +Messages must be matched by the following regex: + + +```js +/^(revert: )?(feat|fix|docs|dx|refactor|perf|test|workflow|build|ci|chore|types|wip|release|deps)(\(.+\))?: .{1,50}/ +``` + +#### Examples + +Appears under "Features" header, `dev` subheader: + +``` +feat(dev): add 'comments' option +``` + +Appears under "Bug Fixes" header, `dev` subheader, with a link to issue #28: + +``` +fix(dev): fix dev error + +close #28 +``` + +Appears under "Performance Improvements" header, and under "Breaking Changes" with the breaking change explanation: + +``` +perf(build): remove 'foo' option + +BREAKING CHANGE: The 'foo' option has been removed. +``` + +The following commit and commit `667ecc1` do not appear in the changelog if they are under the same release. If not, the revert commit appears under the "Reverts" header. + +``` +revert: feat(compiler): add 'comments' option + +This reverts commit 667ecc1654a317a13331b17617d973392f415f02. +``` + +### Full Message Format + +A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**: + +``` +(): + + + +