Skip to content

Releases: NovaSheets/NovaSheets

1.0.8

01 Aug 08:28
Compare
Choose a tag to compare

Version 1.0.8 of NovaSheets, fixing a major crash.

Download

Embed the script with the code below or install via npm using npm install -g novasheets@1.0.8.

Main: <script src="https://novasheets.js.org/src/1.0.8"></script>
Minified: <script src="https://novasheets.js.org/src/1.0.8/min"></script>

Changelog

  • Fixes
    • [General] Fixed a crash occurring when invoking NovaSheets.
    • [CLI] Fixed input from piped stdin not being parsed.

Commits

View changes

1.0.7

19 Jul 12:12
Compare
Choose a tag to compare

NovaSheets is back! with version 1.0.7.

Download

Embed the script with the code below or install via npm using npm install -g novasheets@1.0.7.

Main: <script src="https://novasheets.js.org/src/1.0.7"></script>
Minified: <script src="https://novasheets.js.org/src/1.0.7/min"></script>

Changelog

  • Changes
    • [General] Changed output of the CLI --help and --version commands.
  • Fixes
    • [Scripting] Fixed the parse() function not working in browser.

Commits

View changes

1.0.6

27 Jul 07:43
Compare
Choose a tag to compare

Version 1.0.6 of NovaSheets.

Download

Embed the script with the code below or install via npm using npm install -g novasheets@1.0.6.

Main: <script src="https://novasheets.js.org/src/1.0.6"></script>
Minified: <script src="https://novasheets.js.org/src/1.0.6/min"></script>

Changelog

  • Changes
    • [Scripting] Changed browser file imports to be asyncronous using fetch instead of XMLHttpRequest.
  • Fixes
    • [Syntax] Fixed newlines breaking parsed comments.
    • [Syntax] Fixed simple breakpoints inside parsed comments being parsed incorrectly.
    • [Syntax] Fixed empty blocks being removed from the output.
    • [Syntax] Fixed duplicate media queries being condensed incorrectly.
    • [Scripting] Fixed browser file imports crashing the parser when unavailable.

Commits

View changes

  • 7e2264d Improve script typing
  • 5b29a7e Use fetch instead of XMLHttpRequest
  • cac7ba7 Fix newlines breaking parsed comments
  • 824c6eb Refactor parser source
  • 2f2f169 Fix empty blocks being removed from output
  • a65266d Fix duplicate media queries being condensed incorrectly
  • b1bbf63 Fix simple breakpoints inside parsed comments breaking
  • 62283cb 1.0.6

1.0.5

24 Jul 06:03
Compare
Choose a tag to compare

Version 1.0.5 of NovaSheets, released to fix a crash in 1.0.4

Download

Embed the script with the code below or install via npm using npm install -g novasheets@1.0.5.

Main: <script src="https://novasheets.js.org/src/1.0.5"></script>
Minified: <script src="https://novasheets.js.org/src/1.0.5/min"></script>

Changelog

  • Fixes
    • [Syntax] Fixed the parser crashing when it comes across a child selector.
    • [Syntax] Fixed multiple substitutions of the same variable containing a CSS block outputting garbage.

Commits

View changes

1.0.4

23 Jul 22:24
Compare
Choose a tag to compare

Version 1.0.4 of NovaSheets.

Download

Embed the script with the code below or install via npm using npm install -g novasheets@1.0.4.

Main: <script src="https://novasheets.js.org/src/1.0.4"></script>
Minified: <script src="https://novasheets.js.org/src/1.0.4/min"></script>

Changelog

  • [Syntax] Fixed multiple instances of block substitution of the same selector not being parsed.
  • [Syntax] Fixed multiple substitutions of the same variable not being parsed together.
  • [Syntax] Fixed parent element substitutions in child selectors of simple breakpoints not being trimmed properly.

Commits

View changes

  • 44b1df7 Fix regex file import breaking when browserified
  • 50a400e Fix block substitution
  • 5722855 Fix nested simple breakpoint parsing
  • 49b6daf Refactor and fix regex parsing issues
  • 63979ed 1.0.4

1.0.3

19 Jul 06:25
Compare
Choose a tag to compare

Version 1.0.3 of NovaSheets.

Download

Embed the script with the code below or install via npm using npm install -g novasheets@1.0.3.

Main: <script src="https://novasheets.js.org/src/1.0.3"></script>
Minified: <script src="https://novasheets.js.org/src/1.0.3/min"></script>

Changelog

  • Removals
    • [Syntax] Removed parser option MAX_RECURSION.
  • Fixes
    • [Syntax] Fixed slashes inside CSS attributes font-* and grid-* being treated as division.

Commits

View changes

1.0.2

11 Jul 22:07
Compare
Choose a tag to compare

Version 1.0.2 of NovaSheets.

Download

Embed the script with the code below or install via npm using npm install -g novasheets@1.0.2.

Main: <script src="https://novasheets.js.org/src/1.0.2"></script>
Minified: <script src="https://novasheets.js.org/src/1.0.2/min"></script>

Changelog

  • Changes
    • [Syntax] Changed output indentation to more closely follow input indentation.
    • [Syntax] Changed output to merge duplicate media selectors.
    • [CLI] Changed input path parsing to imply file extension of .nvss if unset.
  • Fixes
    • [Syntax] Fixed comments in CSS output being duplicated over child selectors.
    • [Syntax] Fixed nested media queries not working.

Commits

View changes

  • 357be40 Change output indentation
  • 4201e15 Allow media queries to be nested
  • e62c270 Merge duplicate media selectors in output
  • cd212b5 Imply file extension of .nvss if unset
  • 6223ba3 1.0.2

1.0.1

03 Jul 03:48
Compare
Choose a tag to compare

Version 1.0.1 of NovaSheets.

Download

Embed the script with the code below or install via npm using npm install -g novasheets@1.0.1.

Main: <script src="https://novasheets.js.org/src/1.0.1"></script>
Minified: <script src="https://novasheets.js.org/src/1.0.1/min"></script>

Changelog

  • Changes
    • [CLI] Revamped CLI usage, which now allows unprefixed command names (e.g., novasheets help can now be used instead of novasheets --help).
  • Fixes
    • [Syntax] Fixed keywords @var and @endvar not being parsed properly when not separated from other content by newlines.
    • [Syntax] Fixed superfluous whitespace being added to CSS output.
    • [Syntax] Fixed parser option DECIMAL_PLACES not being applied to all applicable values.
    • [Syntax] Fixed at-rules being prefixed with erroneous ampersands.
    • [Scripting] Fixed custom options not being applied.
    • [Functions] Fixed @each and @repeat not treating whitespace properly.

Commits

View changes

  • 057d959 Fix DECIMAL_PLACES and output whitespace
  • 2a07400 Fix parsing of @var and @endvar keywords
  • 91cb560 Fix erroneous ampersands being added to at-rules
  • 7ec372f Use ESLint
  • 2ae4fbd Fix function options not being applied
  • dfa711f Revamp CLI usage
  • 21447a4 Make compile script properly async
  • 09fe3e2 Fix custom functions not treating whitespace properly
  • 46f36ba 1.0.1

1.0.0

19 Jun 06:00
7ab4c19
Compare
Choose a tag to compare

The full release of NovaSheets 🎉
PR: #1

Download

Embed the script with the code below or install via npm using npm install -g novasheets@1.0.0.

Main: <script src="https://novasheets.js.org/src/1.0.0"></script>
Minified: <script src="https://novasheets.js.org/src/1.0.0/min"></script>

New features

CSS nesting

header {
  border: 2px solid;
  nav {
    display: inline-block;
  }
}

Custom functions

const sheet = new NovaSheets();
sheet.addFunction('@invert boolean', (_match, val) => val === 'false');
NovaSheets.parse('$(@invert boolean | true)', sheet); // 'false'

Changelog

View changes

The following changelog is as compared with 0.6.7.
For the changes since the last release candidate, see the next section.

  • Additions
    • [Syntax] Added CSS nesting, using & to refer to the parent selector explicitly.
    • [Syntax] Added parser constant BUILTIN_FUNCTIONS for controlling whether or not to implement built-in functions.
    • [CLI] Added support for reading syntax from piped stdin.
    • [CLI] Added [<command>] option to novasheets --help to display help for a given command.
    • [Scripting] Added an API for adding custom NovaSheets functions using class NovaSheets with method addFunction(name, function), where the first argument of function is the matched content and the remainder are variable arguments.
    • [Scripting] Added a second parameter to parse for passing through a class with custom functions.
    • [Scripting] Added a third parameter to compile for passing through a class with custom functions.
  • Removals
    • [Syntax] Removed parser constants MAX_MATH_RECURSION and KEEP_NAN.
    • [Syntax] Removed previous and parent selectors, % an &, as this usage is now accomplished by nesting.
    • [Syntax] Removed item slicer <.
  • Changes
    • [Syntax] Changed parser constant keyword from @const to @option.
    • [Syntax] Changed function names to be case insensitive.
    • [Syntax] Changed media query output to not condense duplicated queries as it sometimes broke output.
    • [CLI] Changed compilation to require using the --compile/-c flag.
    • [Scripting] Changed compile function to be asyncronous.
    • [Functions] Changed math functions to return just their argument when invalid.
    • [Functions] Changed built-in color functions to no longer output console warnings for invalid colors.
  • Fixes
    • [Syntax] Fixed object substitution not working due to selectors not being trimmed.
    • [Syntax] Fixed small numbers receiving incorrect decimal places.
    • [Syntax] Fixed negative exponents not being parsed.
    • [Syntax] Fixed hexadecimal colours not being coerced.
    • [Functions] Fixed @boolean treating pipes as argument separators.
    • [Functions] Fixed @boolean not having its output value coerced into true/false.
    • [Functions] Fixed value NaN not being checked properly.
    • [Security] Fixed a code injection issue using built-in boolean functions.
  • Internal
    • [Source] Rewrote source code in TypeScript.

Changelog vs RC6

  • Changes
    • [Scripting] Changed compile function to be asyncronous.
  • Fixes
    • [Syntax] Fixed parent selectors substituted using & not being trimmed.
    • [Syntax] Fixed nested selectors being outputted out of order.
    • [Syntax] Fixed object substitution not working due to selectors not being trimmed.
    • [Functions] Fixed @breakpoint outputting invalid selectors when nested.
    • [Functions] Fixed @boolean not having its output value coerced into true/false.

1.0.0 RC6

12 Jun 08:19
Compare
Choose a tag to compare
1.0.0 RC6 Pre-release
Pre-release

Release candidate 6 for version 1.0 of NovaSheets.

Download

Embed the script with the code below or install via npm using npm install -g novasheets@1.0.0-rc6 (along npm tag @next).

Main: <script src="https://novasheets.js.org/src/1.0.0-rc6"></script>
Minified: <script src="https://novasheets.js.org/src/1.0.0-rc6/min"></script>

Changelog

View changes

  • Additions
    • [CLI] Added [<command>] option to novasheets --help to display help for a given command.
  • Changes
    • [Syntax] Changed selectors to no longer distribute comma-separated segments over children.
  • Removals
    • [Syntax] Removed parser constants MAX_MATH_RECURSION and KEEP_NAN.
  • Fixes
    • [Syntax] Fixed variables containing braces/blocks breaking the parser.
  • Internal
    • [Source] Replaced math parsing code with package math-and-unit-parser.
    • [Source] Replaced nesting compilation code using package balanced-match.
    • [Source] Replaced browser building code with package webpack.

1.0.0-pre1   ← 1.0.0-rc5