* refactor: move and rename the interfaces/classes
closes#272
* docs: update the readme and action to describe the new options for milestones
* refactor: split the tests into multiple files
* feat(milestones): add new options to exempt all milestones
* test: add coverage for the default values
* test(milestones): add more coverage (wip)
* test(milestones): add more coverage for the multiple exempt milestones
* test: reduce duplicated code
* test: change some describes
* test: add more coverage
* test: add more coverage
* test: add final coverage
* build(tsc): add missing project flag to build with the right tsconfig
* test(milestones): use each to reduce the complexity of the tests
* chore: fix an eslint issue with prettier on windows
the end of line was wrong each time the os process the files
* docs: move the contribution section to a dedicated file
add more content to help the debug
* chore: make sure the rebase is ok
* feat(exempt): add new options to exempt the milestones
closes#270
* test(milestones): add coverage
* test(issue): add coverage
* chore(rebase): fix all errors due to the rebase
also made some changes regarding the change I made with the lint scripts and prettier. I did not saw that some scripts were already here and I created to more to keep the old ones as well
* test(milestone): add coverage
* chore(index): update index
* fix(checks): remove checks over optional number options
the code was actually handling the case where the values are NaN so it's fine
* docs(readme): add a small precision about the operations-per-run
closes#230
* chore(lint): ignore the lib folder for prettier
* chore(date): add a function to check if a date is valid
* chore(date): add a function to get a humanized date
* chore(date): add a function to check if the date is more recent than
* feat(date): add a start date to ignore old issues and PRs
closes#174
* docs(readme): change the date to match the description
* chore(date): add a better type for the date
* docs(date): add missing JSDoc about the return type
* chore(rebase): fix issues due to rebase
* docs(readme): fix table formatting issues
* docs(readme): add new options in the documentation
* chore: update the action schema
* chore: parse the new arguments
* feat(stale-and-close): add new options to change the days before close
to avoid a breaking change and simplify the configuration the old options 'daysBeforeStale' and 'daysBeforePrClose' are kept and new options are available to override them with 'daysBeforeIssueStale', 'daysBeforePrStale', 'daysBeforeIssueClose' and 'daysBeforePrClose'
* chore: rename the issue type enum to remove the enum suffix
* chore: add missing dependency for eslint and typescript
also upgrade the parser
* chore: fix an issue with the linter for the shadow rules
it was not configured properly for TypeScript
* chore: use camelCase for constants
* chore: use camelCase for enum members
* chore: fix the tests
* chore: enhance prettier to also lint other kind of files
it was configured to only work with ts and it was not working well to be honest
also now the lint scripts will also run prettier
This introduces two new flags `skip-stale-issue-message` and `skip-stale-pr-message` which would skip the message addition if these are set to true.
They are backward compatible as empty `stale-issue-message` or `stale-pr-message` will take precedence over them
Previously this action would stop and skip all issues or pull requests
it found if no `stale-issue-message | stale-pr-message` option had
been configured.
Configuring `days-before-stale: -1` will activate that behaviour.
* Ignore issues that have recent comments and ignore the stale label. Defaulting to this behavior but added an option to turn it off.
* Fix up tests a bit to make this runnable. Add a test for the logic.
* Add vscode debugging configuration.
* Change name to isLabeled for re-use with "exempt"
* Add args for exempt labels
* Skip operation if labeled exempt
* Only check for exempt label if defined
Since the exempt label parameter is not required, we don't want to both
checking for it if it was not defined.
* Don't reduce operationsLeft if exempt
This variable just tracks the number of operations we're using to avoid
rate limiting. Since the exempt check wouldn't result in a rate-limited
request, we don't need to reduce the variable.
* Update the action.yml with new exempt values
* Update README with example of exempt labels
* Remove redundant defaults