Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Breaking: Move from glob to fdir #27

Closed
2 tasks done
glenn2223 opened this issue Jan 30, 2021 · 1 comment
Closed
2 tasks done

Breaking: Move from glob to fdir #27

glenn2223 opened this issue Jan 30, 2021 · 1 comment
Labels
bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request
Milestone

Comments

@glenn2223
Copy link
Owner

glenn2223 commented Jan 30, 2021

Nothing here is set in stone. Open for discussion but happy with the current plans

Please keep comments related to this issue. Want something else adding/sorting? Please open a new issue


To do list

  • Apply change (in alpha.2)
  • Documentation

Large projects are lagging. Highlighted in #22

Issue
Although the addition of the forceBaseDirectorywill address most users issues, there is a clear bottleneck with glob on projects with a large folder structure.

Resolution

  • We will moved from glob to fdir

This is a breaking change because the exact matching patterns are different

  • Lose one
  • Gain two

This requires some document changes

@glenn2223 glenn2223 added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request labels Jan 30, 2021
@glenn2223 glenn2223 added this to the v5 milestone Jan 30, 2021
@glenn2223
Copy link
Owner Author

This has been applied in v5.0.0-alpha.2 which can be downloaded here

Leaving issue open as documentation changes are still required

glenn2223 added a commit that referenced this issue Apr 1, 2021
# 5.0.0-rc.1 - 2021-04-01

### Breaking changes
- Not dependant on `ritwickdey.LiveServer` as there was no actual code dependencies in the extension ([#23](#23)). If you require the Live Server extension, it can still be installed from [here](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer)
- Changes to the `showOutputWindow` setting, **now called `showOutputWindowOn`** ([#26](#26))
  - The system now acts as more of a logger rather than a mass of information
  - Accepted values are now `Trace`, `Debug`, `Information`, `Warning` or `Error`
  - The default is now `Warning`
- Changes to [`autoprefix` settings](https://github.com/glenn2223/vscode-live-sass-compiler/blob/master/docs/settings.md#livesasscompilesettingsautoprefix) ([#41](#41))
  - The default is now `defaults` *(as per Autoprefixer recommendations)*
  - The setting no longer accepts `string[] OR null`, but a `string[] OR boolean`
    - Rather than `null`, you now use `false`
- No longer supporting `brace expansion` glob patterns ([#27](#27))
  - This is because the underlying glob pattern matching has moved from `minimatch` to `picomatch`. A full feature comparison can be found [here](https://github.com/micromatch/picomatch#library-comparisons)
- Only works on VS Code v1.52 and newer ([#34](#34))
- Settings have been updated for continuity and to better aid extension performance ([#30](#30))
  - `formats[].savePath` must start with a path separator but not end in one
  - `includeItems` must start with a path separator and end in either `.sass` or `.scss` (for performance purposes)
  - `forceBaseDirectory` must start with a path separator but not end in one

### Changed
- Now using `fdir` with `picomatch` instead of `glob` and `minimatch`
  - Speed improvements, the most significant of which will be on larger projects
  - Greater support for glob patterns

### Added
- When `autoprefix` is true we will search for either:
  - a `.browserlistsrc` file or,
  - `"browserslist": [ string[] ]` in a `package.json` file

  *(This allows you to use the same setting across your solution, rather than duplicating content)*
- Increased range of glob pattern support
  - Full support for `extglobs`
  - Added support for `posix brackets`
  - Added support for `regex syntax`
  - *Full comparison can be found [here](https://github.com/micromatch/picomatch#library-comparisons)*
- When a change is detected the initial output now includes a date and time stamp - See [this comment](#26 (comment)) on [#26](#26)

### Fixed
- Fixed: the `formats[].savePathSegmentKeys` setting would allow non string values in the array
- Fixed: the `excludeList` setting would allow non string values in the array
- Fixed: the `includeItems` setting would allow non string values in the array
- Fixed: the `autoprefix` setting would allow non string values in the array
- Fixed: some setting descriptions have been updated for better clarity/readability

### Updated
- `autoprefixer` from `10.2.4` to `10.2.5`
  - Fixed `:` support in `@supports`
- `postcss` from `8.2.4` to `8.2.9`
  - Small fixes *(nothing user facing)*
- `sass` from `1.32.5` to `1.32.8`
  - Allow `@forward...with` to take arguments that have a `!default` flag without a trailing comma.
  - Improve the performance of unitless and single-unit numbers.
  - Other small changes *(nothing user facing)*
- Various dev dependency updates *(nothing user facing)*
@glenn2223 glenn2223 mentioned this issue Apr 1, 2021
glenn2223 added a commit that referenced this issue Apr 1, 2021
# 5.0.0-rc.1 - 2021-04-01

### Breaking changes
- Not dependant on `ritwickdey.LiveServer` as there was no actual code dependencies in the extension ([#23](#23)). If you require the Live Server extension, it can still be installed from [here](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer)
- Changes to the `showOutputWindow` setting, **now called `showOutputWindowOn`** ([#26](#26))
  - The system now acts as more of a logger rather than a mass of information
  - Accepted values are now `Trace`, `Debug`, `Information`, `Warning` or `Error`
  - The default is now `Warning`
- Changes to [`autoprefix` settings](https://github.com/glenn2223/vscode-live-sass-compiler/blob/master/docs/settings.md#livesasscompilesettingsautoprefix) ([#41](#41))
  - The default is now `defaults` *(as per Autoprefixer recommendations)*
  - The setting no longer accepts `string[] OR null`, but a `string[] OR boolean`
    - Rather than `null`, you now use `false`
- No longer supporting `brace expansion` glob patterns ([#27](#27))
  - This is because the underlying glob pattern matching has moved from `minimatch` to `picomatch`. A full feature comparison can be found [here](https://github.com/micromatch/picomatch#library-comparisons)
- Only works on VS Code v1.52 and newer ([#34](#34))
- Settings have been updated for continuity and to better aid extension performance ([#30](#30))
  - `formats[].savePath` must start with a path separator but not end in one
  - `includeItems` must start with a path separator and end in either `.sass` or `.scss` (for performance purposes)
  - `forceBaseDirectory` must start with a path separator but not end in one

### Changed
- Now using `fdir` with `picomatch` instead of `glob` and `minimatch`
  - Speed improvements, the most significant of which will be on larger projects
  - Greater support for glob patterns

### Added
- When `autoprefix` is true we will search for either:
  - a `.browserlistsrc` file or,
  - `"browserslist": [ string[] ]` in a `package.json` file

  *(This allows you to use the same setting across your solution, rather than duplicating content)*
- Increased range of glob pattern support
  - Full support for `extglobs`
  - Added support for `posix brackets`
  - Added support for `regex syntax`
  - *Full comparison can be found [here](https://github.com/micromatch/picomatch#library-comparisons)*
- When a change is detected the initial output now includes a date and time stamp - See [this comment](#26 (comment)) on [#26](#26)

### Fixed
- Fixed: the `formats[].savePathSegmentKeys` setting would allow non string values in the array
- Fixed: the `excludeList` setting would allow non string values in the array
- Fixed: the `includeItems` setting would allow non string values in the array
- Fixed: the `autoprefix` setting would allow non string values in the array
- Fixed: some setting descriptions have been updated for better clarity/readability

### Updated
- `autoprefixer` from `10.2.4` to `10.2.5`
  - Fixed `:` support in `@supports`
- `postcss` from `8.2.4` to `8.2.9`
  - Small fixes *(nothing user facing)*
- `sass` from `1.32.5` to `1.32.8`
  - Allow `@forward...with` to take arguments that have a `!default` flag without a trailing comma.
  - Improve the performance of unitless and single-unit numbers.
  - Other small changes *(nothing user facing)*
- Various dev dependency updates *(nothing user facing)*
@glenn2223 glenn2223 mentioned this issue Apr 1, 2021
glenn2223 added a commit that referenced this issue Apr 1, 2021
# 5.0.0-rc.1 - 2021-04-01

### Breaking changes
- Not dependant on `ritwickdey.LiveServer` as there was no actual code dependencies in the extension ([#23](#23)). If you require the Live Server extension, it can still be installed from [here](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer)
- Changes to the `showOutputWindow` setting, **now called `showOutputWindowOn`** ([#26](#26))
  - The system now acts as more of a logger rather than a mass of information
  - Accepted values are now `Trace`, `Debug`, `Information`, `Warning` or `Error`
  - The default is now `Warning`
- Changes to [`autoprefix` settings](https://github.com/glenn2223/vscode-live-sass-compiler/blob/master/docs/settings.md#livesasscompilesettingsautoprefix) ([#41](#41))
  - The default is now `defaults` *(as per Autoprefixer recommendations)*
  - The setting no longer accepts `string[] OR null`, but a `string[] OR boolean`
    - Rather than `null`, you now use `false`
- No longer supporting `brace expansion` glob patterns ([#27](#27))
  - This is because the underlying glob pattern matching has moved from `minimatch` to `picomatch`. A full feature comparison can be found [here](https://github.com/micromatch/picomatch#library-comparisons)
- Only works on VS Code v1.52 and newer ([#34](#34))
- Settings have been updated for continuity and to better aid extension performance ([#30](#30))
  - `formats[].savePath` must start with a path separator but not end in one
  - `includeItems` must start with a path separator and end in either `.sass` or `.scss` (for performance purposes)
  - `forceBaseDirectory` must start with a path separator but not end in one

### Changed
- Now using `fdir` with `picomatch` instead of `glob` and `minimatch`
  - Speed improvements, the most significant of which will be on larger projects
  - Greater support for glob patterns

### Added
- When `autoprefix` is true we will search for either:
  - a `.browserlistsrc` file or,
  - `"browserslist": [ string[] ]` in a `package.json` file

  *(This allows you to use the same setting across your solution, rather than duplicating content)*
- Increased range of glob pattern support
  - Full support for `extglobs`
  - Added support for `posix brackets`
  - Added support for `regex syntax`
  - *Full comparison can be found [here](https://github.com/micromatch/picomatch#library-comparisons)*
- When a change is detected the initial output now includes a date and time stamp - See [this comment](#26 (comment)) on [#26](#26)

### Fixed
- Fixed: the `formats[].savePathSegmentKeys` setting would allow non string values in the array
- Fixed: the `excludeList` setting would allow non string values in the array
- Fixed: the `includeItems` setting would allow non string values in the array
- Fixed: the `autoprefix` setting would allow non string values in the array
- Fixed: some setting descriptions have been updated for better clarity/readability

### Updated
- `autoprefixer` from `10.2.4` to `10.2.5`
  - Fixed `:` support in `@supports`
- `postcss` from `8.2.4` to `8.2.9`
  - Small fixes *(nothing user facing)*
- `sass` from `1.32.5` to `1.32.8`
  - Allow `@forward...with` to take arguments that have a `!default` flag without a trailing comma.
  - Improve the performance of unitless and single-unit numbers.
  - Other small changes *(nothing user facing)*
- Various dev dependency updates *(nothing user facing)*
glenn2223 added a commit that referenced this issue Apr 6, 2021
# 5.0.0 - 2021-04-06

### Breaking changes
- Not dependant on `ritwickdey.LiveServer` as there was no actual code dependencies in the extension ([#23](#23)). If you require the Live Server extension, it can still be installed from [here](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer)
- Changes to the `showOutputWindow` setting, **now called `showOutputWindowOn`** ([#26](#26))
  - The system now acts as more of a logger rather than a mass of information
  - Accepted values are now `Trace`, `Debug`, `Information`, `Warning`, `Error` or `None`
  - The default is now `Warning`
- Changes to [`autoprefix` settings](https://github.com/glenn2223/vscode-live-sass-compiler/blob/master/docs/settings.md#livesasscompilesettingsautoprefix) ([#41](#41))
  - The default is now `defaults` *(as per Autoprefixer recommendations)*
  - The setting no longer accepts `string[] OR null`, but a `string[] OR boolean`
    - Rather than `null`, you now use `false`
- No longer supporting `brace expansion` glob patterns ([#27](#27))
  - This is because the underlying glob pattern matching has moved from `minimatch` to `picomatch`. A full feature comparison can be found [here](https://github.com/micromatch/picomatch#library-comparisons)
- Only works on VS Code v1.52 and newer ([#34](#34))
- Settings have been updated for continuity and to better aid extension performance ([#30](#30))
  - `formats[].savePath` must start with a path separator but not end in one
  - `includeItems` must start with a path separator and end in either `.sass` or `.scss` (for performance purposes)
  - `forceBaseDirectory` must start with a path separator but not end in one

### Added
- When `autoprefix` is true we will search for either:
  - a `.browserlistsrc` file or,
  - `"browserslist": [ string[] ]` in a `package.json` file

  *(This allows you to use the same setting across your solution, rather than duplicating content)*
- Increased range of glob pattern support
  - Full support for `extglobs`
  - Added support for `posix brackets`
  - Added support for `regex syntax`
  - *Full comparison can be found [here](https://github.com/micromatch/picomatch#library-comparisons)*
- When a change is detected the initial output now includes a date and time stamp - See [this comment](#26 (comment)) on [#26](#26)

### Fixed
- Fixed: the `formats[].savePathSegmentKeys` setting would allow non string values in the array
- Fixed: the `excludeList` setting would allow non string values in the array
- Fixed: the `includeItems` setting would allow non string values in the array
- Fixed: the `autoprefix` setting would allow non string values in the array
- Fixed: some setting descriptions have been updated for better clarity/readability
- Error catching no longer fails when the error is with finding SASS files. Instead, this fact is highlighted

### Updated
- `autoprefixer` from `10.2.4` to `10.2.5`
  - Fixed `:` support in `@supports`
- `postcss` from `8.2.4` to `8.2.9`
  - Small fixes *(nothing user facing)*
- `sass` from `1.32.5` to `1.32.8`
  - Allow `@forward...with` to take arguments that have a `!default` flag without a trailing comma.
  - Improve the performance of unitless and single-unit numbers.
  - Other small changes *(nothing user facing)*
- Various dev dependency updates *(nothing user facing)*

### Changed
- Now using `fdir` with `picomatch` instead of `glob` and `minimatch`
  - Speed improvements, the most significant of which will be on larger projects
  - Greater support for glob patterns
- A lot of documentation tweaks
@glenn2223 glenn2223 mentioned this issue Apr 6, 2021
glenn2223 added a commit that referenced this issue Apr 6, 2021
# 5.0.0 - 2021-04-06

### Breaking changes
- Not dependant on `ritwickdey.LiveServer` as there was no actual code dependencies in the extension ([#23](#23)). If you require the Live Server extension, it can still be installed from [here](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer)
- Changes to the `showOutputWindow` setting, **now called `showOutputWindowOn`** ([#26](#26))
  - The system now acts as more of a logger rather than a mass of information
  - Accepted values are now `Trace`, `Debug`, `Information`, `Warning`, `Error` or `None`
  - The default is now `Warning`
- Changes to [`autoprefix` settings](https://github.com/glenn2223/vscode-live-sass-compiler/blob/master/docs/settings.md#livesasscompilesettingsautoprefix) ([#41](#41))
  - The default is now `defaults` *(as per Autoprefixer recommendations)*
  - The setting no longer accepts `string[] OR null`, but a `string[] OR boolean`
    - Rather than `null`, you now use `false`
- No longer supporting `brace expansion` glob patterns ([#27](#27))
  - This is because the underlying glob pattern matching has moved from `minimatch` to `picomatch`. A full feature comparison can be found [here](https://github.com/micromatch/picomatch#library-comparisons)
- Only works on VS Code v1.52 and newer ([#34](#34))
- Settings have been updated for continuity and to better aid extension performance ([#30](#30))
  - `formats[].savePath` must start with a path separator but not end in one
  - `includeItems` must start with a path separator and end in either `.sass` or `.scss` (for performance purposes)
  - `forceBaseDirectory` must start with a path separator but not end in one

### Added
- When `autoprefix` is true we will search for either:
  - a `.browserlistsrc` file or,
  - `"browserslist": [ string[] ]` in a `package.json` file

  *(This allows you to use the same setting across your solution, rather than duplicating content)*
- Increased range of glob pattern support
  - Full support for `extglobs`
  - Added support for `posix brackets`
  - Added support for `regex syntax`
  - *Full comparison can be found [here](https://github.com/micromatch/picomatch#library-comparisons)*
- When a change is detected the initial output now includes a date and time stamp - See [this comment](#26 (comment)) on [#26](#26)

### Fixed
- Fixed: the `formats[].savePathSegmentKeys` setting would allow non string values in the array
- Fixed: the `excludeList` setting would allow non string values in the array
- Fixed: the `includeItems` setting would allow non string values in the array
- Fixed: the `autoprefix` setting would allow non string values in the array
- Fixed: some setting descriptions have been updated for better clarity/readability
- Error catching no longer fails when the error is with finding SASS files. Instead, this fact is highlighted

### Updated
- `autoprefixer` from `10.2.4` to `10.2.5`
  - Fixed `:` support in `@supports`
- `postcss` from `8.2.4` to `8.2.9`
  - Small fixes *(nothing user facing)*
- `sass` from `1.32.5` to `1.32.8`
  - Allow `@forward...with` to take arguments that have a `!default` flag without a trailing comma.
  - Improve the performance of unitless and single-unit numbers.
  - Other small changes *(nothing user facing)*
- Various dev dependency updates *(nothing user facing)*

### Changed
- Now using `fdir` with `picomatch` instead of `glob` and `minimatch`
  - Speed improvements, the most significant of which will be on larger projects
  - Greater support for glob patterns
- A lot of documentation tweaks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant