Fixes:
- Provide
warn
method in CLI
Features:
- Adds
warn
method to semaphore - Adds message about dependencies update after successful install
- Update documentation
Fixes:
- Pass semaphore to hooks
Refactor:
- Clean-up dependencies and simplify
format
utils
This release changes sharec
usage at all.
Now it contains less magic and it's much more stable.
Features:
- Detailed re-think of each package inside the project
.d.ts
generation and better documentation for the whole code base- Multi-configuration support – now you can decompose you configs and install
some of them in favor of bloat packages (
sharec.configs
field inpackage.json
) semaphore
as new and predictable abstration to control the flowhooks
to customizesharec
output- Lockdata – to handle, which version was already installed to the project
(
sharec.locked
field inpackage.json
) - Stable tests on all popular platforms (
window
,linux
,osx
) with snapshots. Much reliable and stable tests
Breaking changes:
sharec
isn't fully automated tool anymore. You should describe all your configuration packages and execute the program manually- Formatting steps were removed in favor of custom hooks and simple, solid core
silent
,overwrite
,debug
,include
,interactive
CLI options were deprecated- Configuration package doesn't need
sharec
as dependency anymore - Target package requres sharec as dependency (it can be installed globally, though)
sharec-nanomatch
removed
Refactor:
- Replace
nanocolors
bypicocolors
(#234)
Refactor:
- Replace
mico-spinner
bynanospinner
(#233)
Fixes:
- Packages versions mismatch
Fixes:
- Add missing
minimatch
dependency (#226)
Refactor:
colorette
replacement bynanocolors
Refactor:
chalk
replacement bycolorette
(#211)ora
replacement bymico-spinner
(#211)
Features:
sharec-nanomatch
added
Fixes:
- Correct reading format optons for specific config from
.sharecrc.json
(#182)
In this release were added automatically generated types definition files to main packages.
Core package sharec
was just covered with jsdoc
and typescript
.
Now, it's much easier to support the project.
Features:
- Added
d.ts
forsharec-utils
- Added
d.ts
forsharec-schema
- All packages were covered by types
This release is very important, because it's a beginning for a new approach and architecture.
All the inner utils were moved to external independant packages and now, they partially support typescript and have detailed documentation.
In future these packages will be splitted too on much smaller packages, but at this
moment, we should cover existing API with types and start preparation for v3.0.0
.
Refactor:
sharec-schema
sharec-utils
sharec
now use these packages instead of inner ones
Fixes:
- Return back missing sharec config reading step (#182)
Refactor:
- Migrate docs site to
mdbook
- Create
sharec-utils
package - Create
sharec-schema
package
Fixes:
- Trim all the parts of commands (
package.json
scripts section)
Features:
- Add
format
option to runtime configuration, which allows user to disable formatting withprettier
oreditorconfig
for specific configs
Features:
- Add inner configuration support via
.sharecrc.json
orsharec
field in configuration package'spackage.json
file
Fixes:
- Apply fomatting parameter name fix (#156)
Fixes:
- Prevent tabs in
yaml
files formatting (#156)
Fixes:
- Handle commands merge when duplicates eixist (#142)
Features:
- Add special logic for npm scripts merging (#61)
This release includes interactive mode for better UX.
Features:
- Add
interactive
mode (#117)
This release includes formattings with editorconfig
and prettier
.
It is not formats all the code, but can handle indent style and width.
Features:
prettier
standalone configuration files support- Add ability to format configs with
.editorconfig
(#104) - Add ability to format configs with
prettier
(#104) - Also add step for applying unified format, which can be received from
.editorconfig
or different configs (#104)
Fixes:
json
comments support. Parser just removes all comments from result (#124)
Refactor:
- EOF inserts only if
.editorconfig
is provided withinsert_final_newline
option
Fixes:
- Add support of
overrides
field foreslint
Fixes:
- Crush when
package.json
not exist in upcoming configs
This release includes new step types - processors. These steps transforms data passed through them. It is better solution for any configuration post-procession, like meta injecting or formatting.
Features:
writeMeta
now is pure step- Inserting EOL wrap to each file (now it is not configurable)
- Add
--include-cache
option for storing configuration cache outside ofnode_modules
Chore:
- Move all linters and other tools to the root of project
Fixes:
- Removed configuration files now not rewrites by upcoming package
Fixes:
- Nested configs paths fix if target directory is not exist
Features:
- Sharec skip fields removed by user (#78)
Fixes:
- Aliases for configs pipes (#107)
Fixes:
- Remove error if target package is dependent of sharec
- Quotes processing in YAML files
Fixes:
- Handling internal errors
CI:
- Add linters
- Add node 14
Fixes:
- Add
nanomatch
Finally, sharec
looks like it should be! :)
Features:
- Save fields order after configuration apply (#48)
- New logo
This release should contain new strategies and composition API.
Also it includes strategies and pipes (new term of "strategy") for
many new tools, like - lint-staged
or jest
.
Features:
- Implements atomic strategies conception (#66)
- Adds strategies for
husky
,lint-staged
,jest
,stylelint
,browserslist
,postcss
,commitlint
etc. - Better support for
package.json
fields - Disappear mode
- Logger and debug mode
Beaking changes:
remove
command was deprecatedtester
andextractor
were deprecated and removed
CI:
- Remove Travis CI
- Remove appveyor
Features:
- Add local test config with current version of
sharec
Fixes:
- Windows support (#81)
- CI builds on windows and node 13
This release includes updated installing flow and fixes a lot of bugs with cache handing and updating.
The new algorithm should works as expected in the beginning:
- Removes cached configs
- Saves fields changed by user
- Apply upcoming changes without user-changes overwriting
Features:
- Add double qoutes style supporting in YAML files (#76)
- Backward compatibility for old meta format
Fixes:
overwrite
mode now correctly works withpackage.json
configs.gitignore
and.travis.yml
ereasing during update (#75)- Another fix for dependencies merging
Docs:
- Add CHANGELOG.md
Features:
- Add sharec.ignore property handling for target projects
Fixes:
- Correctly handling cases when package is not dependent of sharec core (#72)
Features:
- Forcing filename through strategies alias constructor option (#60)
- browserslist strategy (#57)
- postcss strategy (#56)
Refactoring:
- mergeLines and unappllyLines methods logic change
Very important release, because it is fully changes updating flow. Remember, it is not stable version and API certainly would be changed!
Features:
- Upcoming configuration caching
- Merging without cache (#47)
- Much simple installing flow
- Refactored tests and fixtures
- version command that prints sharec and current config version
Fixes:
- Remove command now not calls on each install or re-install event
- Some bugs with paths and fixtures on windows
Breaking changes:
- Remove command now calls only from CLI
Features:
- Tester now has pretty output for diff
Refactor:
- Split tester to little modules
Very important release! 🙂 Includes test utils for configuration which based on sharec. Everyone can test configuration with fixtures (static files) like with snapshots.
Features:
- Implement extractor package
- Implement tester package
Features:
- Linear strategies for working with
- Strategy for package.json file fields
- Strategy for .gitignore and .npmignore (#45)
- Dependencies merging and unapplying moved to package.json strategy (#49)
- Scripts merging and unapplying moved to package.json strategy (#46, #47)
Fixes:
- package.json scripts and dependencies merging (#46, #47, #49)
A huge documentation update.
Features:
- Add errors logging on configuration merge for better debugging and UX.
Features:
- Add yaspeller strategy
- Add silent option for install command
- Add some docs and fixes to packages.json files
Features:
- Remove task now always silent
This version includes the most refactoring things instead features or fixes.
Features:
- sharec meta-data includes current configuration version
Fixes:
postinstall
command and init task were removed
Fixes:
- Critical fix for package.json merging. Versions below – works incorrect.
This release includes fully rewritten package. The main changes have affect architecture and made it simpler. commands now are the most upper abstraction and uses tasks as entry point for core API.
Features:
- Auto-installing scripts to target configuration package (postinstall, preuninstall) and creating configs directory. User remains just place files into configs directory and publish package.
- Removing command, it allows users to remove configuration without any pain.
- Updating configuration. After installing configuration with new version – previous configuration will be fully removed and upcoming configs will be applied instead.
Fixes:
- Common strategy merge algorithm now is working correctly.
Fixes:
- Package dependencies extracting
Update core docs and READMEs of all packages. Also includes web-site updates.
The first version of Sharec. Includes all core features and provides some environment configuration.