* 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
* Fixed should be stale condition
When different stale period is used for issues and pull requests, this code uses wrong one.
This was probably missed in https://github.com/actions/stale/pull/224Fixes#299
* Add tests for #299
Co-authored-by: Geoffrey Testelin <geoffrey.testelin@gmail.com>
* 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
* refactor(issue): create a dedicated function to remove the stale label
* refactor: prefix private methods with _
to make it consistent with others methods
* feat(label): remove the stale label when labeled with an exempt one
closes#136
* chore: fix logger issues due to rebase
@hross I think there is a room for improvement regarding the class creation of the issue logger (code duplication) but I do not see how to do it without changing a lot of stuff; do you have an idea?
* test: use strict equal and move the new test in a more logical position
* docs(readme): fix parsing error of the default values in the table
prettier was not liking the previous syntax
* 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
* test: add two more tests relating the label syntax issues
both are failing
* chore: add more logs and fix the tests on error
meaning that I did not find a reproduction...
* chore: minor improvements with the types and logs
* fix(remove-label): do not encode the label to make sure to remove it
could lead to an issue since based on the comment it was here on purpose
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.
This is to ensure we do not close issues before days-before-close has
expired. Without this fix we can encounter a situation where an issue
gets marked as stale and it gets closed immediately without waiting
days-before-close number of days.
* The bot would un-stale issues because of how it checked staleness
* Made logging info by default so its easier to troubleshoot customer issues/runs
* Updated operation counts
* 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.