Skip to content

Commit

Permalink
chore!: update the codebase, documentation, metadata, tests (#223)
Browse files Browse the repository at this point in the history
* chore: update dependencies

* chore: meta

* chore: recase license file

* chore: add issue templates

* chore: scripts, linting setup

* chore: fix linting

* chore: add nyc

* test: refactor to ava

* test: enable integration tests

* test: enable unit tests

* chore: remove deprecated hook access. use getCompilerHooks

* chore: a little reorg

* chore: more reorg, evict unneeded deps

* chore: more reorg

* chore: clean up warnings, reorg hooks

* docs: update README
  • Loading branch information
shellscape committed Oct 25, 2020
1 parent 49f34a5 commit 4ed9339
Show file tree
Hide file tree
Showing 66 changed files with 14,368 additions and 1,877 deletions.
94 changes: 94 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
version: 2
aliases:
- &npm_install
name: Install Dependencies
command: npm ci
- &restore_cache
key: dependency-cache-{{ checksum "pnpm-lock.yaml" }}

coverage: &coverage
steps:
- checkout
- restore_cache: *restore_cache
- run: *npm_install
- run:
name: Run unit tests.
command: npm run ci:coverage
- run:
name: Submit Coverage
command: bash <(curl -s https://codecov.io/bash)
when: on_success

unit_tests: &unit_tests
steps:
- checkout
- restore_cache: *restore_cache
- run: *npm_install
- run:
name: Env Info
command: |
node --version
npm --version
- run:
name: Run Tests
command: |
npm run ci:test
echo "prev return code: $?"
jobs:
analysis:
docker:
- image: rollupcabal/circleci-node-base:latest
steps:
- checkout
- restore_cache: *restore_cache
- run: *npm_install
- run:
name: Run Audit
command: npm run security
- run:
name: Run Linting
command: npm run ci:lint
- save_cache:
key: dependency-cache-{{ checksum "pnpm-lock.yaml" }}
paths:
- ./node_modules
node-v10-latest:
docker:
- image: rollupcabal/circleci-node-v10:latest
<<: *unit_tests
node-v12-latest:
docker:
- image: rollupcabal/circleci-node-v12:latest
<<: *unit_tests
node-v14-latest:
docker:
- image: rollupcabal/circleci-node-v14:latest
<<: *coverage

workflows:
version: 2
validate-test:
jobs:
- analysis:
filters:
tags:
only: /.*/
- node-v10-latest:
requires:
- analysis
filters:
tags:
only: /.*/
- node-v12-latest:
requires:
- analysis
filters:
tags:
only: /.*/
- node-v14-latest:
requires:
- analysis
filters:
tags:
only: /.*/
7 changes: 6 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
# editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
insert_final_newline = true
trim_trailing_whitespace = false
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
test/output
19 changes: 19 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"extends": "shellscape",
"globals": {
"jasmine": true
},
"rules": {
"no-void": "off",
"prettier/prettier": [
"error",
{
"arrowParens": "always",
"printWidth": 100,
"singleQuote": true,
"trailingComma": "none",
"plugins": ["prettier-plugin-package"]
}
]
}
}
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
package-lock.json -diff
* text=auto
*.js text eol=lf
bin/* eol=lf
46 changes: 46 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at TODO. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://contributor-covenant.org/version/1/4][version]

[homepage]: https://contributor-covenant.org
[version]: https://contributor-covenant.org/version/1/4/
38 changes: 38 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Contribute

## Introduction

First, thank you for considering contributing to this plugin! It's people like you that make the open source community such a great community! 😊

We welcome any type of contribution, not only code. You can help with
- **QA**: file bug reports, the more details you can give the better (i.e. [REPL](https://repl.it/@shellscape/manifest-plugin-repro)-links or repos that demonstrate the specific issue)
- **Marketing**: writing blog posts, howto's, printing stickers, ...
- **Community**: presenting the project at meetups, organizing a dedicated meetup for the local community, ...
- **Code**: take a look at the [open issues](https://github.com/shellscape/webpack-manifest-plugin/issues). Even if you can't write code, commenting on them, showing that you care about a given issue matters. It helps us triage them.
- **Money**: we welcome financial contributions in full transparency on https://github.com/sponsors/shellscape

## Your First Contribution

Working on your first Pull Request? You can learn how from this *free* series, [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github).

## Submitting Code

Any code change should be submitted as a pull request. The description should explain what the code does and give steps to execute it. The pull request should also contain tests.

## Code Review Process

The bigger the pull request, the longer it will take to review and merge. Try to break down large pull requests in smaller chunks that are easier to review and merge.

It is also always helpful to have some context for your pull request. What was the purpose? Why does it matter to you? Does it resolve any known Github issues? Adding a line "resolves #<issue number>" (e.g. "resolves #23") to the description of your pull request or of a specific commit will automatically close this issue once the pull request is merged.

## Financial Contributions and Sponsorship

If you find this project useful, please consider sponsoring it! https://github.com/sponsors/shellscape

## Questions

If you require technical assistance, [Stackoverflow](https://stackoverflow.com/questions/tagged/webpack) or [Gitter](https://gitter.im/webpack/webpack) are usually the best places to start.
You can also create an [issue](issue) (protip: do a quick search first to see if someone else didn't ask the same question before!).


<!-- This `CONTRIBUTING.md` is based on @nayafia's template https://github.com/nayafia/contributing-template -->
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
patreon: shellscape
custom: https://paypal.me/shellscape
liberapay: shellscape
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!--
👉🏽 Need help or tech support? Please don't open an issue!
Head to https://gitter.im/webpack/webpack or https://stackoverflow.com/questions/tagged/webpack
❤️ This plugin? Please consider sponsoring this project:
👉 https://github.com/sponsors/shellscape
Ahoy!
You're seeing this because you felt none of the other options fit the type of
issue you'd like to create. Please use this opportunity to tell us about the
type of issue you were looking for, so we can try to accommodate similar
issues in the future.
If you're using this template to report an issue covered by an existing issue
type, we'll close it as invalid faster than you can spell 'Mississippi'.
-->
53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE/BUG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
name: 🐞 Bug Report
about: Something went awry and you'd like to tell us about it.

---

<!--
⚡️ katchow! We 💛 issues.
🚨 Your issue will be CLOSED if:
- This template is removed
- Parts of this template are removed
👉🏽 Need help or tech support? Please don't open an issue!
Head to https://gitter.im/webpack/webpack or https://stackoverflow.com/questions/tagged/webpack
❤️ This plugin? Please consider sponsoring this project:
👉 https://github.com/sponsors/shellscape
-->

- Manifest Plugin Version:
- Webpack Version:
- Operating System (or Browser):
- Node Version:
- Link to reproduction _(⚠️ read below)_:

<!--
🚨 Issues WITHOUT a valid reproduction WILL BE CLOSED!
Please provide one by:
1. Using the REPL.it plugin reproduction template at https://repl.it/@shellscape/manifest-plugin-repro
2. Provide a minimal repository link (Read https://git.io/fNzHA for instructions).
Please use NPM for installing dependencies!
These may take more time to triage than the other options.
⚠️ ZIP Files are unsafe and maintainers will NOT download them.
-->


### Expected Behavior


### Actual Behavior


### Additional Information

<!--
Most issues can be expressed or demonstrated through the REPL or a repository.
However, the situation may arise where some small code snippets also need to
be provided. In that situation, please add your code below using
Fenced Code Blocks (https://help.github.com/articles/creating-and-highlighting-code-blocks/)
-->
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE/DOCS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: 📚 Documentation
about: Are the docs lacking or missing something? Do they need some new 🔥 hotness? Tell us here.

---

<!--
⚡️ katchow! We 💛 issues.
Please - do not - remove this template.
Please - do not - skip or remove parts of this template.
Or your issue may be closed.
👉🏽 Need help or tech support? Don't open an issue!
Head to https://gitter.im/webpack/webpack or https://stackoverflow.com/questions/tagged/webpack
❤️ This plugin? Please consider sponsoring this project:
👉 https://github.com/sponsors/shellscape
-->

- Manifest Plugin Version:

Documentation Is:

<!-- Please place an x (no spaces!) in all [ ] that apply -->

- [ ] Missing
- [ ] Needed
- [ ] Confusing
- [ ] Not Sure?

### Please Explain in Detail...


### Your Proposal for Changes
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/FEATURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: ✨ Feature Request
about: Suggest an idea for this project

---

<!--
⚡️ katchow! We 💛 issues.
Please - do not - remove this template.
Please - do not - skip or remove parts of this template.
Or your issue may be closed.
👉🏽 Need help or tech support? Please don't open an issue!
Head to https://gitter.im/webpack/webpack or https://stackoverflow.com/questions/tagged/webpack
❤️ This plugin? Please consider sponsoring this project:
👉 https://github.com/sponsors/shellscape
-->

- Manifest Plugin Version:

### Feature Use Case


### Feature Proposal
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/MODIFICATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: 🔧 Modification Request
about: Would you like something work differently? Have an alternative approach? This is the template for you.

---

<!--
⚡️ katchow! We 💛 issues.
Please - do not - remove this template.
Please - do not - skip or remove parts of this template.
Or your issue may be closed.
👉🏽 Need help or tech support? Please don't open an issue!
Head to https://gitter.im/webpack/webpack or https://stackoverflow.com/questions/tagged/webpack
❤️ This plugin? Please consider sponsoring this project:
👉 https://github.com/sponsors/shellscape
-->

- Manifest Plugin Version:

### Expected Behavior / Situation


### Actual Behavior / Situation


### Modification Proposal
Loading

0 comments on commit 4ed9339

Please sign in to comment.