- BREAKING Ignore
package.json
exports
field when resolving dependencies; this change might add missing entries to dependency graph, which could lead to rules finding the issues, not visible before - Improve performance of files filter for the rules
- Bump dependencies
- Do not cache file contents in memory for faster ast parsing; this will significantly decrease memory requirements for larger codebases
- Bump dependencies
- Dependency resolution performance improvement (copied from https://github.com/atlassian-labs/webpack-deduplication-plugin)
- Fixed schema generation to avoid typeof
- Bump dependencies
- Parse
jest.requireActual
as a direct dependency
- Replace
greenkeeper
withrenovate
- Bump dependencies
- Replace
chalk
withansi-colours
(#155 by @PepijnSenders) - Wrap log messages to prevent break inside word (#154 and #201 by @PepijnSenders)
- Dependencies bump
- Test in node@14
- Added possibility to use cache for
parseDependencies
, added it to the docs - Add possibility to pass custom resolve options from webpack (fixes #82)
- Switch from
tslint
toeslint
- Dependencies bump
- Drop node 8 support
- Expose types from
index
(fixes #114) - Add a possibility for rules to provide fixes for violations; they can be applied via
stricter --fix
(fixes #107) - Code cleanup
- Support for the scoped plugins (#93 by @nadiam84)
- Dogfood stricter
- Dependencies bump
- BREAKING Migrate to using
enhanced-resolve
(fixes #86, native dependencies will now resolve to corresponding files innode_modules
, if they exist) - Fixed security issue with
set-value
- Dependencies bump
- Dependencies bump
- TypeScript support (#83 by @gardnerjack)
- Allow
registries
to accept an array of globs, or single glob to be excluded from folder-level cyclic dependencies checks
- Add new way of configuring rules via a function to support execution over multiple packages
- Dependencies bump
- Allow
rulesDir
to accept an array of folders - Add support for plugins
- Expose TypeScript definitions
- Parse all the files in the project instead of the relevant only (the result is cached)
- Add config validation
- Dependencies bump
- JUnit reporter no longer outputs warnings
- BREAKING Pass only the files included by the rule in dependencies object
- BREAKING Removed external
readFilesData(files: string[]): FileToData
andreadDependencies(filesToData: FileToData): FileToDependency
in favour ofparseDependencies(files: string[]): FileToDependency
- Refactoring
- Add default rule
stricter/circular-dependencies
created by @WorstCase00 --clearCache
no longer performs a check
- Add possibility to verify specific rules (
--rule ruleName
) - Use
rollup
instead offusebox
for bundling - Fix default rules handling
- Refactoring
- Cache dependency parsing
- Add command to clear cache (
--clearCache
) - Dependency bumps
- BREAKING Dependency resolution is more correct now (and a bit slower)
- Bump dependencies
- Use OS-specific line-breaks
- Refactoring
- Improved JUnit reporter
- Subtle console reporter changes
- Add timing data for the rules (#23)
- JUnit reporter (
--reporter junit
) by @marcins (#22)
- BREAKING Require
node >=8.9.0
to run - BREAKING Use
require.resolve
to resolve imports -stricter
will resolvenode_modules
imports (used to ignore them) - BREAKING No longer use
root
to resolving absolute paths, useNODE_PATH
environment variable instead - BREAKING
extensions
field in config is no longer supported - BREAKING
readFilesData
no longer supports second argumentsrcRoots: string[]
- Return exit code 1 whenever there are errors and 0 otherwise
- Add node 10 to travis
- Remove
lib
from repository - Add possibility to have global
exclude
for files - Initial symlink support (works only for links referencing up the hierarchy and unique references to external locations)
- Log file name if parser throws
- Fixed a decorator issue caused by recent babel/parser bump
- Dependencies bump
- Add
CHANGELOG.md
- Dependencies bump
- Add more precise time measurements for debug
- Pass
include
andexclude
intoonProject
- might be helpful for some rules
- BREAKING
readFilesData
requires second argumentsrcRoots: string[]
- Stop using
Object.assign
(feels bad) - Add
debug
- Collocate dependencies retrieval with file reads
- Bump dependencies
- Use Quantum compilation plugin (removes sniffing for web environment)
- Replace
@babel/traverse
withbabylon-walk
- Add lib folder to the repo
- Add more unit tests
- Add coverage information
- Bump dependencies
- Using
console.log
for logging - allows to pipe output readDependencies
accepts an array of source roots now- New
all-dependants
rule - Unit tests
- Automated npm publish via Travis CI
- Bump dependencies
- Expose
readDependencies
andreadFilesData
- Bump dependencies
- Add
--reporter
argument to cli - Add
--config
argument to cli - Stay quiet when run in continuous integration environment
- Support
require
import - Consider named and wildcard reexports as imports
- Pass object into
onProject
- Pass
rootPath
intoonProject
- Support custom implicit extensions
stricter/unused-files
supportrelatedEntry
- entries only in case they import anything related to existing entries- Log 'Stricter: Checking...', so it's clear the script works
- Adding unresolved dependencies to the list of dependencies - makes sense for
node_modules
- Readme update
- Read configuration from
stricter.config.js
only - Rule files are required to end with
.rule.js
include
andexclude
accept a regex, an array of regexes or a function- Pass file path relative to root folder to
include
andexclude
tests - File
contents
was renamed intosource
- New log level
off
- Default log level is
warning
ast
is now a function that returns AST- Error code returned equals number of errors
- Unit tests
- Readme update
- Pass rule usage config into
onProject
- Pass dependencies into
onProject
- Add
stricter/unused-files
rule - Remove
onFile
support for rules - Rules receive frozen objects as input
- Improve readme
- Unit tests
- The very first pre-release
- Includes CLI and possibility to add custom rules