Skip to content

Latest commit

 

History

History
58 lines (56 loc) · 3.58 KB

changelog.md

File metadata and controls

58 lines (56 loc) · 3.58 KB

Changelog

⚡ indicates a breaking change

  • v2
    • ⚡ removed the _name property on objects.
    • Added a _type property on all objects
    • As a replacement for _name, added multiple _<type>: <name> properties (e.g. { ... , "_type": "join", "_join": "users", "_explore": "orders"} )
    • Added a _n property which gives the lexical position of the object in the original text
  • v2.2
    • The return now contains model objects which have recursively included other referenced files' contents
    • In interactive mode, the output is slightly more compact
  • v3.0
    • ⚡ yesno fields are now mapped to true/false
    • Added conditional comment feature. The CLI flag is --conditional-comment=FOO or -c FOO
  • v4.0
    • ⚡ The grammar now recognizes attributes whose type starts with 'expr' as doubleSemiBlock-valued. If you were previously using such a naming convention in conditional-comment based LookML, you will need to use a new naming convention, or use doubleSemiBlock syntax. E.g. expression_custom_filter: ${field} ;;
    • ⚡ The grammar no longer ignores leading whitespace in a doubleSemiBlock.
  • v5.0
    • ⚡⚡⚡ For simplicity and reduced output size, the output no longer includes the array version of collections of named objects. Only the object version, keyed by name, is returned.
  • v5.1
    • Added the ability to control the output format of the files collection
  • v6.0
    • ⚡ The _file_rel property has changed slightly and no longer includes the file's extension
    • Added a 'none' file output mode for use cases that only care about assembled models
    • Added support for subdirectories and corresponding include statements (Does not yet support remote imports)
  • v6.1
    • Added a cwd parameter to conveniently run the parser relative to a specified working directory
  • v6.2
    • More consistent handling of manifest file across file-output modes
  • v6.3
    • Support for new LookML syntax: refinements, and maplists (e.g. filters:[field:">0"])
  • v6.4 (should have been major change)
    • ⚡ "metadata" naming convention changed. Metadata properties now start with $ rather than _
    • ⚡ Nodes in the JSON representation no longer contain their own name in a variadic property name, it is now always in $name
    • The parser can now capture text metadata into the $strings property, supporting use cases such as comment analysis, whitespace analysis and round-tripping/generation. Strings metadata is removed by default for the CLI, but can be exposed with the transform parameter.
    • [beta] Ability to generate LookML strings from JSON data containing the captured string metadata. Only exposed as a module export from the generate subdirectory
  • v6.5
    • More permissive model file naming. Any character now accepted in model names.
    • Added guards against prototype pollution
  • v6.6
    • NPM ignore test-projects, which was growing in size and is normally not useful to consumers of the package
    • Added the ability to resolve extensions/refinements within models, by passing transformations:{applyRefinementsExtensions:true} to parseFiles
    • Update tests which were broken by a change in a dev dependency (deep-object-diff)
  • v6.8
    • Add support for include: "//...", a.k.a. imported projects
  • v6.8.2
    • Fix handling of '..' in include patterns
    • Fix error when including one model file into another model file
  • v6.9
    • Support reading YAML-based LookML Dashboard files
  • v6.9.1
    • YAML-based LookML Dashboard files correctly includable in model objects
    • YAML parsing documentation
  • v6.10
    • Compact conditional comments (without linebreak on first line)
  • v6.11
    • Whitespace preservation in front of conditional comments