Releases: NovaSheets/NovaSheets
1.0.8
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
1.0.7
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.
- [General] Changed output of the CLI
- Fixes
- [Scripting] Fixed the
parse()
function not working in browser.
- [Scripting] Fixed the
Commits
1.0.6
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 ofXMLHttpRequest
.
- [Scripting] Changed browser file imports to be asyncronous using
- 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
- 7e2264d Improve script typing
- 5b29a7e Use
fetch
instead ofXMLHttpRequest
- 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
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
1.0.4
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
1.0.3
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
.
- [Syntax] Removed parser option
- Fixes
- [Syntax] Fixed slashes inside CSS attributes
font-*
andgrid-*
being treated as division.
- [Syntax] Fixed slashes inside CSS attributes
Commits
1.0.2
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
1.0.1
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 ofnovasheets --help
).
- [CLI] Revamped CLI usage, which now allows unprefixed command names (e.g.,
- 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.
- [Syntax] Fixed keywords
Commits
- 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
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
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 tonovasheets --help
to display help for a given command. - [Scripting] Added an API for adding custom NovaSheets functions using class
NovaSheets
with methodaddFunction(name, function)
, where the first argument offunction
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.
- [Syntax] Added CSS nesting, using
- Removals
- [Syntax] Removed parser constants
MAX_MATH_RECURSION
andKEEP_NAN
. - [Syntax] Removed previous and parent selectors,
%
an&
, as this usage is now accomplished by nesting. - [Syntax] Removed item slicer
<
.
- [Syntax] Removed parser constants
- 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.
- [Syntax] Changed parser constant keyword from
- 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 intotrue
/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.
- [Scripting] Changed
- 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 intotrue
/false
.
- [Syntax] Fixed parent selectors substituted using
1.0.0 RC6
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
- Additions
- [CLI] Added
[<command>]
option tonovasheets --help
to display help for a given command.
- [CLI] Added
- Changes
- [Syntax] Changed selectors to no longer distribute comma-separated segments over children.
- Removals
- [Syntax] Removed parser constants
MAX_MATH_RECURSION
andKEEP_NAN
.
- [Syntax] Removed parser constants
- 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
.
- [Source] Replaced math parsing code with package
⇐ 1.0.0-pre1 ← 1.0.0-rc5