look-at-me-sideways

A style guide and linter for Looker's LookML data modeling language

View the Project on GitHub looker-open-source/look-at-me-sideways

v3.0

v3 Prologue

V3 of LAMS is a big change that brings on board many of the underlying LookML Parser’s output options that have accumulated over time: whitespace awareness, extension/refinement support, a simplified file representation, and imported project support.

The broad overhaul that this required for built-in rules also presented an opportunty. Many of the built-in rules have been made more streamlined and consistent. But, most importantly as of 3.0, built-in rules will be opt-in rather than opt-out. These two changes will greatly improve the ability to publish new built-in rules and patch existing built-in rules without unduly burdening existing LAMS users.

As a result, users upgrading to 3.0 should expect to paste a simple declaration into their manifest to opt-in to each built-in rule.

Beyond that rote change, the primary impact will be to LAMS users who have implemented custom rules, who may have to update their rules for the updated LookML representations.

Usage of LAMS that only uses the built-in style guide rules should not see a large impact, except that some rules may now work correctly based on extensions/refinements, whereas they may have thrown “false positive” errors previously because the parser did not apply any extensions/refinements.

Highlighted changes

Changelist

Migration Guidelines

For any error not detailed below, please submit an issue!

v3.1

This update introduces, as beta features, centrally managed exemptions, and an add-exemptions output mode. Together, these features serve to enable incremental linting use cases.

Feedback on these beta features and the overall incremental linting use case is welcome in issue #142.

Patches:

v3.2

LookML Dashboards are now supported. This functionality is disabled by default. To enable it, also install js-yaml, and including dashboard file pattern into your source argument. (Note: no built-in rules currently relate to dashboards, but you may apply custom rules to them)

v3.3

v3.4

Patches:

v4

v3.4.0 had introduced a change in behavior at the intersection of conditional comments and whitespace rule W1. Since whitespace behavior for conditional comments had not been formally defined or desrcribed, this release defines the conditional comment whitespace handling going forward, primarily chosen to mirror the in-Looker IDE behavior when a block is commented via the Ctrl+/ shortcut. Conditional comments will preserve the whitespace before the comment, consume the comment character and up to one space or tab character following the comment character and/or conditional comment token.

4.1

Patches: