Skip to content

Latest commit

 

History

History
959 lines (561 loc) · 63.9 KB

CHANGELOG.md

File metadata and controls

959 lines (561 loc) · 63.9 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

1.5.0 (2020-09-16)

Bug Fixes

  • Missed one package that needed an opticss upgrade. (6a2345e)
  • Pass a copy of sass options for sync setup. (eaf06b6)
  • Pick up fix for opticss crash on unknown css declarations. (55f2245)
  • Prune css-blocks.css from the output after concatenating it. (a663364)
  • Remove some lingering traces of the async factory. (23308e1)
  • Set eyeglass root within a directory-scoped processor. (cb72810)
  • Update the debug identifier for BlockFactorySync. (17588e3)

Features

  • Add file+loc to class name conflict error. (82e4cfd)
  • Class name collision detection. (31afe26)
  • Scan app CSS for classes. (3ec0216)
  • Synchronous Block Factory. (0b31607)
  • Update eyeglass integration to support synchronous preprocessing. (f3b11af)

1.4.0 (2020-09-04)

Bug Fixes

  • Correctly count the errors in block files. (87b439d)
  • Exclude compiled blocks from vendor.css. (98d0e76)
  • Only register guids from blocks that are valid. (b234f1d)
  • Spelling - brocolli -> broccoli. (a745147)
  • Typo in concat options docs. (20048cc)
  • Update peerDependency version requirement on ember-cli-htmlbars. (7d0c28d)
  • Updates per PR feedback. (e6a4d94)

Features

  • End-to-end sourcemaps for ember v2 pipeline. (fec42e4)
  • If a directory is passed to the validate cli, discover blocks. (7ffeb0f)
  • Provide ability to override concat settings. (04a9da2)
  • Update concatenation. WIP sourcemaps fix. (da47ce6)

1.3.2 (2020-08-20)

Bug Fixes

  • Make location writeable so ember-cli-htmlbars doesn't choke. (8d513ba)

1.3.1 (2020-08-12)

Bug Fixes

  • Add missing concat helper. (aad0431)

1.3.0 (2020-08-11)

Bug Fixes

  • Don't use the css-blocks installation location for guid gen. (f21e652)
  • Extract StyleEvaluator, StyleResolver classes from runtime service. (282f90d)
  • Sometimes there's no css blocks output. (1adbd1b)

Features

  • Emit attribute groups in the runtime aggregate rewrite data. (901032b)
  • Simplify rewrite for dynamic attribute values. (0717e93)

1.2.4 (2020-08-05)

Note: Version bump only for package css-blocks-monorepo

1.2.3 (2020-08-05)

Bug Fixes

  • Build the runtimes when building all packages. (748f77e)
  • Prepare the new ember packages before publishing them. (c5dc8bc)

1.2.2 (2020-08-05)

Bug Fixes

  • Clean up the dependencies on @glimmer packages. (0bc7964)
  • Create the application services directory if it's not there. (85c3560)

1.2.1 (2020-08-05)

Bug Fixes

  • Add files that were missing from the new ember npm packages. (b018382)

1.2.0 (2020-08-05)

Bug Fixes

  • A cleaner approach to getting access to css-blocks build output. (318e79a)
  • Add /DEBUG to ignore file, remove existing. (92364fe)
  • Add details on current style evaluation for the runtime. (dfbd4fe)
  • Add omitIdents analysis to the spec. (d89481c)
  • Addl. block-interface-index error case. (dc5ba19)
  • Address code review. Don't merge if an output file is specified. (c145c9a)
  • Address PR feedback. (6f04b6a)
  • Address PR feedback. (68271ad)
  • Allow null in typeguards. (f69c457)
  • Allow quotes surrounding block-name. (9617fc5)
  • Allow the term classname as a single word. (5201155)
  • Analysis serialization had incorrect source locations. (9969614)
  • Apply CR suggestions (b1068f3)
  • Attribute intersections interpreted incorrectly during compilation. (63b06e8)
  • Broken test case. (59a37fd)
  • Bugs in ember addon now that htmlbars is released. (624cb38)
  • Cache invalidation when block files change. (ea27173)
  • Change the magic comment to be more clearly css-blocks related. (ed4066d)
  • Clarify error message. (b16f3dc)
  • Cleanup the deserialization code for analysis. (2615eb9)
  • Comment should say Style not BlockClass. (006cc0f)
  • Create a 'Source Analysis' for the new rewrite strategy. (deefcdd)
  • Declaration merging is now correctly rewritten by the new runtime. (860c823)
  • Don't hard error on name/guid issues. (18f7364)
  • Egregious hack to make lazy engines work. (5da2dda)
  • Ember fixture app and addons for testing @css-blocks/ember. (92dd4c8)
  • Emit block style composition declarations in a def file. (d1185db)
  • Ensure compiled css is not in vendor.css. (4e4eebd)
  • Ensure the style requirements are satisfied. (1869167)
  • Failing tests and linting issues for core. (afc157b)
  • Failing tests. (87bcc84)
  • Failing tests. (7e199dd)
  • Formatting issue. (be74160)
  • Implement inline definitions in compiled blocks. (e8541a0)
  • Instead of addon use a vanilla module for testing node integration. (9aafacd)
  • Lint error. (46a5758)
  • Lint error. (436d09a)
  • Lint errors. (6eda525)
  • Linting errors. (f320818)
  • Look for broccoli tree paths in additional scopes. (cebbc59)
  • Namespace blocks within each app/addon/engine. (994239b)
  • No need to use a custom recursive mkdir, it's part of the stdlib. (bb55671)
  • Only add an analysis for block:scope if it's not explicitly there. (8ee7d51)
  • Only consider output styles that can possibly apply. (35a2c5a)
  • Only merge with app.css if it exists. (a2572ed)
  • PR feedback regarding errors. (a7384c8)
  • Re-use precomiled css if available. Give compiled css to optimizer. (5027298)
  • Remove superflous property check. (31bcb9e)
  • Remove unnecessary try/catch. (492c1e7)
  • Remove unnecessary type guard named isBooleanAttr. (ebcb555)
  • Removed stray reference to obsolete isBooleanAttr function. (a825a16)
  • Revert last commit. (69494a4)
  • Serialized analysis block paths were missing/wrong. (e680ef6)
  • Several inheritance and composition bugs. (4f23cc3)
  • Slightly less hacky approach to working with lazy engines. (c3aec23)
  • Small updates to goals and open questions. (59620ef)
  • Style link-to helper in other states. (3dfd350)
  • Throw in BlockFactory if compiled css file. (3d901e6)
  • Trim newlines from end of compiled comments. (62eb34e)
  • Types lookup for the template-compiler-plugin of htmlbars. (43f83c5)
  • Update comment per CR. (7e3fe64)
  • Update debug message to output the correct value. (4304fc5)
  • Update goals for project. (9f3c1c8)
  • Update tests to use the new helper name. (0c20d7d)
  • Update type on BroccoliTreeImporter.import(). (2236f4f)
  • Update types for the fs-merger. (62232f7)
  • Updates per CR feedback. (717a205)
  • Updates per PR feedback. (df501f7)
  • Upgrade fs-merger. (188591d)
  • Use debug idents for errors in BlockFactory. (294f0be)
  • Use null in getUniqueBlockName. (8118d49)
  • Whitespace to use tabs in code-workspace file. (38e1e11)

Features

  • Add BlockCompiler method for compiling a definition file. (183dc2f)
  • Basic block definition generation. (8a3cade)
  • Basic runtime data generation with optimizer disabled. (cabd495)
  • Basic runtime helper build infrastructure and scaffolding. (81d8853)
  • Basic runtime style calculations working. (50e84d1)
  • Centralize ember config and use it in ember & ember-app. (85be93b)
  • Compiled CSS importing in NodeJSImporter. (983e7c6)
  • Data schema for Aggregate Rewriting. (ca10a16)
  • Definition ingestion and parsing into block. (0d6e76a)
  • Deserializing block definition files & analysis in the ember-app. (ec338bf)
  • Ember wip integration with dfn compiler. (2356846)
  • Enable optimizer and runtime rewriting of optimized styles. (af9efaa)
  • Establish ember-app addon. (63f7e7e)
  • Generate an index for each style in a block. (94d1ded)
  • Implement caching for additional files during template processing. (6ae05b1)
  • Implied style runtime support. (79f9141)
  • Infrastructure for single pass analyzer & rewriter. (466b933)
  • Make configuration loading synchronous with async wrapper. (7105d10), closes #365
  • Merge rulesets from Compiled CSS into block. (e6c1ca7)
  • Optimized css in ember-app build output. (c6ac1fd)
  • Option handling. Integration with ember-cli-htmlbars. (a7a3e8f)
  • Parse and set block-interface-index (7a0150d)
  • Process block-class declarations. (fa35c3d)
  • Project scaffolding for @css-blocks/ember. (9d2d965)
  • Show the identifier of the other block if a name collision occurs. (140d3cd)
  • Use incoming GUIDs. Ensure uniqueness. (3912811)
  • Utilities for compiled CSS parsing. (bec10d2)
  • Validate block-syntax-version. (179d3db)
  • Validate each interface-index is unique. (92a5b25)

1.1.2 (2020-07-20)

Bug Fixes

  • Linter error. (dfcb62e)
  • Switches in the rewrite didn't work with inheritance. (360a28f)

1.1.1 (2020-06-30)

Bug Fixes

  • Attribute intersections interpreted incorrectly during compilation. (41f9816)

1.1.0 (2020-05-23)

Bug Fixes

  • A css-blocks config file should take precendence over package.json. (314a09e)
  • Use sync interface for config in ember-cli. (b16d433)

Features

  • Make configuration loading synchronous with async wrapper. (5c88e24), closes #365

1.0.0 (2020-04-04)

Bug Fixes

  • Glimmer apps have a different naming system. (9b8f73c)
  • Some packages were erroneously marked as MIT license. (6ba8462)
  • Work around for husky regression. (1783a7e)

chore

  • Drop support for node 6, 8, and 11. (3806e82)

Features

  • Optional Preprocessors & library/application API contract. (80aba33)
  • eyeglass: Adds new package that enables simple Eyeglass support. (6f92d19)
  • style-of: Allows positional arguements to be passed. (2eb25a8)
  • style-of: Errors if unsupported params have been passed. (cbee078)

BREAKING CHANGES

  • Node 8 is now out of maintainence so we have dropped support for node 6 and 8. Node 11 is no longer needed because node 12 was released.

1.0.0-alpha.7 (2020-02-23)

Bug Fixes

  • Don't cache the template entry points. (df0a536)

1.0.0-alpha.6 (2020-02-19)

Bug Fixes

  • Avoid Promise.all() because of possible race conditions. (61d0e54)
  • More robust importing. (37dcdfb)
  • Only raise MultipleCssBlockErrors if there's more than one. (96fdd29)
  • Properly parse and rewrite style-of subexpressions. (7c42b2a)
  • Some tests were disabled during development. (1ea91ee)
  • There were crashes when running with some debugging enabled. (80dca43)

1.0.0-alpha.5 (2020-02-14)

Bug Fixes

  • Add CLI test case for BEM conversion. (07ecaf1)
  • Add pending test case for scss nesting. (48396b2)
  • Address race condition by simplifying main loop for BEM conversion. (8116c7d)
  • Addressing Chris' comments. (5df20f9)
  • Capture block parsing errors in the promise. (35c3991)
  • Don't swallow any potential errors from postcss processing. (7c5c15c)
  • Fixing the CLI test failures. (5ff37a1)
  • Getting rid of duplicate assertions. (a3eee56)
  • Incorrect :scope selector and state output. (a11d572)
  • Remove support for 'BME' selectors. (db25c26)
  • Removing invalid paths from the package.json. (#381) (e600514)
  • Rename parseSync to parseRoot. (f4c95c4)
  • update Travis CI badge URL (8a5a130)

Features

  • Add style-of helper for glimmer. (afcc846), closes #383
  • Adding a new class of errors - MultipleCssBlockErrors. (14c1d31)
  • Convert methods to start recording multiple errors. (c2a3271)
  • Converting composes block errors. (5455597)
  • Converting export and import blocks to use multple errors. (6b3e3f7)
  • Converting to multiple errors for a few more features. (c9c790e)
  • Creating a new package for bem to css-blocks conversion. (d62b204)
  • Getting rid of more thrown errors. (29cc368)
  • Making bem-to-blocks asynchronous. (5319687)
  • Making the CLI interactive using inquirer.js. (20c1f10)
  • Pass multiple errors to the language server. (2bcc249)
  • Removing common prefixes from states, like, is. (abdb3b1)

1.0.0-alpha.4 (2019-12-18)

Bug Fixes

  • Conflict Resolutions with Media Queries. (c189613), closes #372
  • Dynamic scope attributes were not being analyzed or rewritten. (488e23e), closes #371 #373

Features

  • Enable optimization for production builds by default. (8b2d595)

1.0.0-alpha.3 (2019-12-11)

Bug Fixes

  • Don't cache block errors in the factory. (e931e63)
  • New release of broccoli-plugin added a conflicting property. (c090750), closes #358
  • Use the AST builders provided by to the plugin. (f0d6387)

1.0.0-alpha.2 (2019-12-10)

Bug Fixes

  • A block compilation error would cause the template to be skipped. (9f6c57d)
  • Add missing dependency. (c4dc125)
  • Handle aggregation filename collision. (a501bcd)
  • Handle missing block files in glimmer apps. (4e984d4)

1.0.0-alpha.1 (2019-12-10)

Bug Fixes

  • Discover new glimmer components when they are added while watching. (f3386ac)
  • Fix dev build performance issue. (bf9bd06), closes #357
  • Must invalidate the handlebars template cache across processes. (2afd213)
  • Properly prune unprocessed CSS Block files from build output. (076973d)
  • The API for queue.drain changed in async@3.0. (cc3da9c)
  • Work-around because node-sass doesn't run in a vscode context. (b10f34e)

Features

  • Adds find references capability to language server. (fbef5a8)
  • Load the css-blocks configuration file. (6dc7397)

1.0.0-alpha.0 (2019-11-22)

Bug Fixes

  • A state cannot be named 'scope'. (12a0f32)
  • Addressing comments from Chris. (afedab9)
  • Cannot export a block as a reserved namespace identifier. (e82f636)
  • Don't allow blocks to be imported with a well-known namespace. (6fc3675)
  • Fix bugs introduced by per-block namespaces. (180b416)
  • Fix common misspelling of 'cannot'. (457e08c)
  • Fixing a few lint errors after a rebase. (4a05b40)
  • Fixing tests. (7d368cc)
  • For when the block-alias is the same name as a generated className. (bd36033)
  • Global states can be combined with the :scope selector. (92f8093)
  • Handle possible fs.stat failure gracefully. (e1d1c2d)
  • Incorrect paths in package.json. (d5f4c4c)
  • Making an error message slightly nicer. (e74d019)
  • Merge conflict was checked in. (3dcd620)
  • Removing an addressed TODO. (0e763de)
  • Small tweaks around parameter passing. (5d91c56)
  • Use a more flexible configuration type. (38fd823)
  • Using the export syntax for blocks in tests. (bc86451)

Features

  • Add document links provider. (8a940d4)
  • Adding a custom importer for the language-server. (d5bd9c3)
  • Adds custom css data for css-blocks at rules. (9d230d5)
  • Basic preprocessor support. (414b32e)
  • Basic workings of language server and vscode client. (ce11443)
  • Basic workings of language server and vscode client. (4c156d1)
  • CLI will use configuration files now. (9dbfdd9)
  • Code completion and definitions for per-block namespace syntax. (a88ebd5)
  • Configuration file API for CSS Blocks. (736f460)
  • Implement autocomplete for import paths. (bc0316d)
  • Introducing the block-alias. (5517d72)
  • Load css-blocks configuration from the config file for vscode. (e564970)
  • Passing all block aliases as reserved classNames for compilation. (aea5fcc)
  • Passing block error validation through the importer. (a5123fc)
  • Per block namespaces. (053ed47)
  • Per block namespaces. (b9c4938)
  • Respect explicit exports for a block interface. (d37e704)
  • WIP Migration of vscode integration to per-block namespace syntax. (146b71d)

0.24.0 (2019-09-16)

Bug Fixes

Features

  • Display block import references in error output. (190993f), closes #248
  • Display selector error locations using sourcemaps. (78756f2)
  • Invalidate handlebar template caches when dependent blocks change. (e3fd6f2)
  • Use sourcemaps for errors involving non-selector nodes. (f7b53fd)
  • cli: Display error in context with the source file's contents. (2317880)
  • Track ranges instead of only the start position for errors. (f7f2dfb)

0.23.2 (2019-06-13)

Bug Fixes

  • ember-cli: Detect ember by presece of ember-source. (28e8811)

Features

0.23.1 (2019-05-09)

Bug Fixes

  • Add missin bin script to cli. (5c5bcf3)

0.23.0 (2019-05-08)

Bug Fixes

  • Declare a bin script. (272556d)
  • Don't set default rootDir at time of import. (f1821fd)
  • Silence postcss warning message. (adb7d68)

Features

  • Imports via npm and aliases. (79fafe8)

0.22.0 (2019-05-02)

Bug Fixes

  • webpack: Compatibility w/ webpack-dev-server. (8bf936b)
  • Display the file where the error occurred. (114dd63)
  • Handle legacy type definition for sourcemap's RawSourceMap. (842454a)
  • Over-zealous conflicts from inherited in-stylesheet compositions. (c70ed03)
  • Print an empty string if the source location isn't available. (598477f)
  • Reduce vulnerabilities in packages/@css-blocks/website. (b44f68e), closes #239
  • Remove code branch that always returned false. (df66b13)

Features

0.21.0 (2019-04-07)

Bug Fixes

  • Properly output conflict resolutions for shorthands. (#238) (2f93f99)

Features

0.20.0 (2019-03-11)

Features

0.20.0-beta.8 (2019-02-26)

Bug Fixes

  • ember-cli: Use separate file for CSS staging, merge app.css at end. (#230) (40a0022)

0.20.0-beta.7 (2019-02-01)

Bug Fixes

0.20.0-beta.6 (2019-02-01)

Bug Fixes

0.20.0-beta.5 (2019-01-08)

Bug Fixes

  • Comment out failing node_modules test case breaking build in CI. (7548289)
  • broccoli: Rebuild diffs input changes and output patch seperatly. (5838e53)
  • Deliver both 'visitor' and 'visitors' for Glimmer AST Plugins. (e7d6fad)
  • core: Dont gitignore node_modules importer test fixtures. (fc508eb)
  • core: Remove stray console.log. Add debug logs. (84d5419)
  • Fixed bold "Future Feature: ..." notes (#201). (f1259df)
  • Improve Block ref parser. (90bfbff)
  • Peg Travis' Node.js 10 version to 10.4.1 for mock-fs support. (2586ca3)
  • Remove unsupported Node.js 9.0.0 version from Travis tests. (241ab31)
  • Use lerna@3.3.0 on Travis to fix early CI build termination. (16203f4)
  • Use local versions of packages in ember-cli. (6228eaa)

Features

  • Better examples. Work-in-progress. (b01fc3d)
  • Extended @block syntax. Issue #192. (9cbb4ea)
  • core: Default and custom 'main' module block resolution. (d8585ee)
  • core: Simple fully-qualified path node_modules Block imports. (7eb9005)

0.20.0-beta.4 (2018-10-19)

Bug Fixes

  • Fixed color values in website homepage's demo (#205). (7079a53)

Features

  • Manually throw error for Node 6 in Analyzer. (5788fcc)

0.20.0-beta.3 (2018-10-01)

Features

  • Ember CLI addon Preprocessor support. (574483d)

0.20.0-beta.2 (2018-09-25)

Bug Fixes

  • broccoli: Modification of the output does not throw on rebuild. (57b8137)

0.20.0-beta.1 (2018-09-13)

Bug Fixes

  • broccoli: Rebuild diffs input changes and output patch seperatly. (2bb5a2c)
  • Comment out failing node_modules test case breaking build in CI. (09f1a17)
  • Peg Travis' Node.js 10 version to 10.4.1 for mock-fs support. (fbb941c)
  • Use lerna@3.3.0 on Travis to fix early CI build termination. (7f32d72)
  • Use local versions of packages in ember-cli. (4c75501)

0.20.0-beta.0 (2018-08-20)

Bug Fixes

  • Allow all types for children to fix tslint error. (0dbd375)
  • jsx: Better error messages for stray references. (0d9286a), closes #170
  • Fix grammar mistake in website docs. (#181) (ed4988c)
  • Flatten entry array because it can be nested. (4f287e9), closes #157 #153
  • Remove git conflict markers from .travis.yaml. (3179998)

Features

  • broccoli: Add naive caching strategy for Broccoli. (#190) (d63626f)
  • ember-cli: Ember cli classic (#185). (865267c)

0.19.0 (2018-04-25)

Bug Fixes

  • Fix problems with JSX and Webpack integrations. (fa2a536)
  • Keep the filename convention of using *.block.css. (ac1cf16)
  • Remove accidentally committed merge conflict in CONTRIBUTING.md. (9099678)

Features

  • Support plain string and object syntax for webpack entries. (9c28ac0)
  • Use Babel 7 for JSX parsing to better enable tyed languages. (97cd2e4)

0.18.0 (2018-04-24)

Bug Fixes

  • Add 'no-duplicate-state-groups' template validator. (c1bad54)
  • add missing files into npm package. (c40f020)
  • Address numerous compilation errors after upgrades. (29f6658)
  • call seal() on element analyses before using them. (51d7a09)
  • Copy objects passed as configuration. (1d40f17)
  • Correct the SourceAttributes returned by new State model. (f03bf06)
  • Disable buggy stray reference errors for now. (44a830b)
  • Fix assertion of map. (37bb96d)
  • Fix broken test now that getGroups returns everything. (3656360)
  • css-blocks: Improve BlockPath parser switch statement (b0109eb)
  • handle inheritance in runtime class expressions. (953b734)
  • handle inheritance in runtime class expressions. (dc501f0)
  • Make remaining skipped tests pass with optimization. (26acdc8)
  • Only enforce a value's presence in a dynamic switch condition if the condition is not disabled due to a missing style dependency. (13cbd58)
  • Tagnames are analyzed. (717fb32)
  • Tagnames are analyzed. (b505b27)
  • Take inheritance into account during analysis. (ea06441)
  • The analysis array gets added to while processing it so we have to monitor the array until its length doesn't change. (eaf068f)
  • Type lint issues in broccoli-css-blocks. (97c3272)
  • Typo in scripts (script -> scripts directory). (d43f7bc)
  • Update global states to use simplified parser utils. (b953602)
  • Updated with Chris' feedback. (b4f4b9f)
  • Updated with Chris' feedback. (5de751f)
  • analyzer: Seal the analysis before using it. (bdf1580)
  • css-blocks: Fix BlockPath parser to correctly set default block and class values. Improve error message location reporting. Improve error messages for invalid identifiers. (53c3a66)
  • css-blocks: Fix BlockPath parser to correctly set default block and class values. Improve error message location reporting. Improve error messages for invalid identifiers. (b427c0a)
  • css-blocks: Improve BlockPath parser switch statement (eb039a8)
  • css-blocks: Pull in new linting rules from master. (258970e)
  • css-blocks: Remove stray console.logs (b7952d8)
  • css-blocks: Remove stray console.logs (f16d9f8)
  • css-blocks: Rename BlockTree node types, clea up exports. (f8ee8c8)
  • Use TemplateTypes in Analyzer of broccoli-css-blocks. (a31a6d3)
  • css-blocks: Updated with more of Chris' comments and use the renamed MultiMap methods (60c2f43)
  • css-blocks: Updated with more of Chris' comments and use the renamed MultiMap methods (2f04eb1)
  • jsx: Protect against already removed nodes in babel transformer (0bb137d)
  • rewriter: Don't remove nodes that are already removed. (c3b8ce1)
  • rewriter: Get rewriter via a callback instead of through options to avoid serialization. (ecf623a)
  • rewriter: glimmer requires that subexpressions be helper invocations. (bae23cb)
  • runtime: the expression must always be read. (06e3667)

Features

  • Rename ReadonlyOptions to ResolvedConfiguration. (9cc7d55)
  • analysis: Support opticss enabled analysis of css-blocks. (451b077)
  • Add @css-blocks/ember-cli and @css-blocks/playground packages. (cb43511)
  • Add footer to website. Improve website responsiveness. (4e41ec6)
  • Add tests for keys in transport object in broccoli-css-blocks. (bdd7b97)
  • Added css-blocks.com website package and custom docs theme. (b5ad979)
  • Allow css assets to be processed after concatenation. (8d5ff5a)
  • Allow styles to be set to className properties for dynamic change to the class attribute. (5df7a7e)
  • Analyzer API updates and package re-naming. (a60c1a1)
  • Analyzer API updates and package re-naming. (ff8795a)
  • Block Object asSource methods take optional Block scope. (370dfd1)
  • Broccoli plugin for css-blocks. (6ba4a29)
  • Change '.root' selector to ':scope'. (f19f559)
  • Enable root-level typedoc generation for the project. (557fd49)
  • Enable root-level typedoc generation for the project. (59c85a3)
  • Flesh out broccoli-css-blocks plugin. (e4a2b4a)
  • Generisize StateGroup and State to Attribute and AttrValue. (ebfd315)
  • Initialize tests for broccoli plugin. (3b3e8f7)
  • Only expose the Analysis interface, not the actual class. (1b420b5)
  • Only expose the Analysis interface, not the actual class. (4be2b43)
  • Pass CSS Blocks options through Broccoli/Ember-CLI. (41401b9)
  • Rename normalizeOptions to resolveConfiguration. (b422631)
  • Rename option data to importerData. (6dc6a36)
  • css-blocks: Track all declarations of the same type and validate that they have the same values, in the same order, before clearing two Styles as not-in-conflict. (29d2316)
  • Rename Options to Configuration. (23acac0)
  • css-blocks: Conflict Resolution Validator (4eb8766)
  • Rename SparseOptions to Options. (0a17f60)
  • Require Analyzers to provide optimizationOptions hash. (eeaebd3)
  • Require Analyzers to provide optimizationOptions hash. (2e10800)
  • Require the :scope pseudo for root states. (1e48882)
  • css-blocks: Track all declarations of the same type and validate that they have the same values, in the same order, before clearing two Styles as not-in-conflict. (3404c17)
  • Simplify options. (137f292)
  • css-blocks: Conflict Resolution Validator (7528458)
  • The JSX and Webpack plugins use updated Analyzer APIs. (b8151ce)
  • The JSX and Webpack plugins use updated Analyzer APIs. (921ae25)
  • css-blocks: Added BlockPath parser (e3191c8)
  • css-blocks: Added BlockPath parser (0c1fb73)
  • css-blocks: Broke up Block.ts, refactored foundational BlockObject constructs, added StateGroup concept. (6824fa8)
  • css-blocks: Casting through object is sufficient. (461dbe8)
  • css-blocks: Don't expose generic base class methods as public. (03dba9b)
  • css-blocks: Full type safety for all BlockTree objects. (63e4a45)
  • css-blocks: Remove BlockTree abstraction. (752b89f)
  • rewriter: More functional rewriting and with static class support. (38eb4e9)
  • rewriter: Raise an error if there's any stray references to a block variable. (53b0cea)
  • webpack-plugin: Extract webpack rewriting to its own plugin so that a single analysis can be used in other builds -- eg for SSR builds. (77d6398)

BREAKING CHANGES

  • To bring naming inline with the new ResolvedConfiguration type, the normalizeOptions function is now named resolveConfiguration. The module named normalizeOptions has been renamed to resolver in the configuration module folder.
  • Now that all the other options types are named after Configuration, we can rename SparseOptions to just Options.
  • ReadonlyOptions is really the configuration after having been fully resolved and populated by defaults. So the name ResolvedConfiguration makes more sense. This is the second of several commits to rename the types for our options.
  • Options are things that you can pass in and in this project they derive from the project configuration. So this is the first of a few commits that will result in SparseOptions being named just Options.
  • Some types related to options are removed/renamed.

The options code was some of the first I wrote for this project and it was awkward to use. A lot of APIs expected a concrete options reader instead of just the options interface in a read-only state.

The options reader is no longer exported, the new normalizeOptions function should be used to get a read-only options object populated with default values where necessary.

Where user-supplied options are accepted, the SparseOptions type is accepted and then normalized.

  • The data option was too general of a name to describe its intent for passing data to the importer.

0.17.0 (2017-12-08)

Bug Fixes

  • add missing files into npm package. (c40f020)
  • call seal() on element analyses before using them. (51d7a09)
  • Disable buggy stray reference errors for now. (44a830b)
  • handle inheritance in runtime class expressions. (953b734)
  • handle inheritance in runtime class expressions. (dc501f0)
  • Make remaining skipped tests pass with optimization. (26acdc8)
  • analyzer: Seal the analysis before using it. (bdf1580)
  • rewriter: Don't remove nodes that are already removed. (c3b8ce1)
  • rewriter: Get rewriter via a callback instead of through options to avoid serialization. (ecf623a)
  • rewriter: glimmer requires that subexpressions be helper invocations. (bae23cb)
  • Only enforce a value's presence in a dynamic switch condition if the condition is not disabled due to a missing style dependency. (13cbd58)
  • The analysis array gets added to while processing it so we have to monitor the array until its length doesn't change. (eaf068f)
  • runtime: the expression must always be read. (06e3667)

Features

  • analysis: Support opticss enabled analysis of css-blocks. (451b077)
  • rewriter: More functional rewriting and with static class support. (38eb4e9)
  • rewriter: Raise an error if there's any stray references to a block variable. (53b0cea)
  • Allow css assets to be processed after concatenation. (8d5ff5a)
  • Allow styles to be set to className properties for dynamic change to the class attribute. (5df7a7e)
  • webpack: Extract webpack rewriting to its own plugin so that a single analysis can be used in other builds -- eg for SSR builds. (77d6398)