Update dependency @dataform/core to v3 #29
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.0.1
->3.0.9
Release Notes
dataform-co/dataform (@dataform/core)
v3.0.9
Compare Source
What's Changed
New Contributors
Full Changelog: dataform-co/dataform@3.0.8...3.0.9
v3.0.8
Compare Source
What's Changed
Full Changelog: dataform-co/dataform@3.0.7...3.0.8
v3.0.7
Compare Source
What's Changed
uniqueKey
assertions for views, incremental tables by @bmagyarkuti in https://github.com/dataform-co/dataform/pull/1836Full Changelog: dataform-co/dataform@3.0.4...3.0.7
v3.0.6
Compare Source
v3.0.5
Compare Source
v3.0.4
Compare Source
What's Changed
New Contributors
Full Changelog: dataform-co/dataform@3.0.2...3.0.4
v3.0.3
Compare Source
v3.0.2
Compare Source
What's Changed
Full Changelog: dataform-co/dataform@3.0.1...3.0.2
v3.0.1
Compare Source
Important: Prefer 3.0.2 over this release - this release has issues.
See https://github.com/dataform-co/dataform/issues/1800 for more context.
What's Changed
namePrefix
is specified inworkflow_settings.yaml
by @ashish10alex in https://github.com/dataform-co/dataform/pull/1783New Contributors
Full Changelog: dataform-co/dataform@3.0.0...3.0.1
v3.0.0
Compare Source
TL;DR of What's Changed Since 2.9.0
dataform.json
->workflow_settings.yaml
workflow_settings.yaml
has been introduced, which will gradually replacedataform.json
in a later version; there is no immediate action to be taken, asdataform.json
files are still valid in projects with Dataform Core3.0.0
.dataform.json
is being deprecated in favor ofworkflow_settings.yaml
. This means that:workflow_settings.yaml
file. Note: to have more than just @dataform/core as a dependency, apackage.json
must still be used.Example conversion of
workflow_settings.yaml
:The above is equivalent to the
dataform.json
file:Notebooks Actions and
actions.yaml
Notebooks as Dataform actions are on their way - but not quite yet! They're part of the compiled graph, and soon they'll be executable.
A new way of configuring action configs through
actions.yaml
has been implemented to support this.An example of loading a notebook in Dataform can be seen at https://github.com/dataform-co/dataform/tree/main/examples/extreme_weather_programming.
Stateless Package Installation by @dataform/cli
Package installation by @dataform/cli is now stateless! The CLI will install NPM packages during compilation if
version
is defined in theworkflow_settings.yaml
file.This means no node_modules folder has to be seen in the project, and Dataform users no longer need to be familiar with NPM.
Compilation Output is Now Warehouse Agnostic
Previously the output of compilation results from @dataform/core would insert warehouse specific SQL into the compiled graph. Where possible, this has been removed - transferring the responsibility of inserting warehouse specific SQL into whichever execution engine is running Dataform.
Additionally, support for non-BigQuery warehouses has been dropped. We're in discussions with Datashell for them to provide a warehouse-agnostic CLI execution engine based off of Dataform compiled graphs. In the meantime however, if you need support for a non-BigQuery warehouse, please continue using the latest version starting with 2.x.x!
dependOnDependencyAssertions
An easier ways to add assertions from dependency as dependencies has been introduced.
dependOnDependencyAssertions
in config blocks can be used to add assertions from all dependencies of the action as dependencies.Additionally, the
includeDependentAssertions
parameter can be used when setting individual dependencies either in config.dependencies or in ref() to add assertions for these dependencies as the dependencies for current action.Full Changelog from 2.9.0: dataform-co/dataform@2.9.0...3.0.0
v2.9.0
Compare Source
What's Changed
New Contributors
Full Changelog: dataform-co/dataform@2.8.4...2.9.0
v2.8.4
Compare Source
What's Changed
ActionIndex.find()
when callers pass an unknown database/schema value. by @BenBirt in https://github.com/dataform-co/dataform/pull/1643Full Changelog: dataform-co/dataform@2.8.3...2.8.4
v2.8.3
Compare Source
What's Changed
New Contributors
Full Changelog: dataform-co/dataform@2.8.2...2.8.3
v2.8.2
Compare Source
What's Changed
@dataform/cli
--table_prefix
flag. by @BenBirt in https://github.com/dataform-co/dataform/pull/1623resolve()
is unable to resolve the given reference to an action. by @BenBirt in https://github.com/dataform-co/dataform/pull/1624Full Changelog: dataform-co/dataform@2.8.1...2.8.2
v2.8.1
Compare Source
What's Changed
mssql
dependencies by @bit-shifter in https://github.com/dataform-co/dataform/pull/1618babel-preset-env
dependency, which transitively removes a dependency onbabel-traverse
(CVE-2023-45133). by @BenBirt in https://github.com/dataform-co/dataform/pull/1619New Contributors
Full Changelog: dataform-co/dataform@2.8.0...2.8.1
v2.8.0
: : Packaging and compilation performance improvementsCompare Source
The highlights of this release are two significant performance improvements for GCP Dataform projects:
@dataform/core
NPM package now no longer has any dependencies, with all dependency packages bundled in to existing minified bundle. This reduces the size of installation significantly and should improve package installation performance and reliability on Dataform on GCP. See https://github.com/dataform-co/dataform/pull/1552 for more info.What's Changed
New Contributors
Full Changelog: dataform-co/dataform@2.7.0...2.8.0
v2.7.0
: : Updates for Dataform GCP incremental SQLCompare Source
From version 2.7.0 onwards, Dataform projects running on Google Cloud Platform will use updated SQL generation logic for incremental insert tables (tables of type
incremental
without auniqueKey
specified).Explicit column names
Column names will be explicitly listed in the insert call, which is inline with OSS Dataform behaviour and prevents schema mismatch during insert, for example:
source_table
has columns in a different order that the target - it can lead to data corruption (column values can be swapped during insert)source_table
has different number of columns - the insert into fails since target table columns count does not match with the sourceFor the new script the incremental query has to list all target table columns (can list other extra columns, but at least must contain target table columns) in any order.
Example of new generated SQL:
Execution within a procedure
In order to facilitate explicit columns, the new code is executed within a procedure, which will be created on the fly. For example:
v2.6.8
Compare Source
Fixing bug for escaping target name and canonical target name. PR: https://github.com/dataform-co/dataform/pull/1551
v2.6.7
: : SupportNO_COLOR
environment variableCompare Source
@dataform/cli
now supports turning off coloured output via setting theNO_COLOR
environment variable, per the standard detailed at https://no-color.org/.v2.6.6
: : Enforce tighter requirements around "automatic" importing ofincludes
filesCompare Source
We have fixed two bugs which inadvertently loosened our (expected) requirements around usage of "automatic"
includes
imports.For context: in general, to reference the contents of a file in
includes
(specifically a file'smodule.exports
object), the callsite should callrequire()
on that file, e.g.const foo = require("includes/subdirectory/foo.js");
.Dataform simplifies this for "top-level"
includes
files, i.e. direct children of theincludes
directory, by automatically making these files available globally. For example, in order to useincludes/foo.js
, a callsite does not need torequire("includes/foo.js")
; instead, afoo
object is made available to all Dataform code in the project.Two bugs have been found and fixed:
includes
files can no longer implicitly depend on otherincludes
filesincludes
files are now automatically available globallyThis unfortunately results in a potentially breaking change to some Dataform projects - but this will only happen upon upgrading
@dataform/core
to >=2.6.6
.In order to fix any breakages, the calling file must be changed to explicitly
require()
the relevantincludes
file.For example, in SQLX:
Or in JavaScript:
For more context, see https://issuetracker.google.com/issues/296162656#comment3.
v2.6.5
: : Fix `@dataform/clifor
@dataform/corepre-
2.6.5`.Compare Source
This version fixes behaviour in rare circumstances which was broken by
@dataform/cli
version2.6.3
. See https://issuetracker.google.com/issues/296162656#comment3 for details.v2.6.4
: : Fixdataform compile
on WindowsCompare Source
v2.6.3
: : Bumpglob
dependency version.Compare Source
v2.6.2
: : Fix: triple-quotes strings getting removed after compilationCompare Source
The lexer was updated to have multiline string tokens (in 2.6.1), which gave us ability to format triple quoted strings (https://github.com/dataform-co/dataform/releases/tag/2.6.1). But in compilation these tokens were not being handled and thus they were getting removed after compilation. We have fixed this issue in this version.
v2.6.1
: : Improve formatting for triply-quoted stringsCompare Source
UPDATE: This version introduced a bug: triple-quoted strings are getting removed after compilation. The fix is in 2.6.2 (https://github.com/dataform-co/dataform/releases/tag/2.6.2)
v2.6.0
: : Improvedataform format
CLI commandCompare Source
The
dataform format
command is now dramatically improved and has better formatter output for each SQL dialect that Dataform supports. Thanks @pokutuna for the contribution!v2.5.0
: : Enable use ofschema()
anddatabase()
context functions in SQLX codeCompare Source
v2.4.2
: : Throw clearer compilation errors when non-stringvars
are providedCompare Source
v2.4.1
: : Add a CLI flag to disable analytics trackingCompare Source
Users of the CLI (who are otherwise opted-in to analytics tracking) may now pass
--track=false
on an individual CLI command basis to disable analytics tracking.v2.4.0
: : Fix docker image to rundataform help
as default commandCompare Source
v2.3.2
: : Fix various CLI optionsCompare Source
--include-dependents
(fordataform run
) now properly includes dependents of selection actionsv2.3.0
: : Add adatabase()
function in SQL templatingCompare Source
Both SQLX and JavaScript now support a
database()
function, which returns the (prefixed, as applicable) name of "this" action's database. (Contrived) examples:Assuming
dataform.config
contains"defaultDatabase": "foo"
, these both generate a table action whose SQL isselect "foo" as col1
. This is likely most useful intype: "operations"
scripts.Note: For warehouses without databases such as Redshift, this will add an error to the
compilationErrors
property.Bugfix: The similar
name()
function has been fixed to properly attach any prefix as appropriate.v2.2.0
: : Addschema()
function in SQL templatingCompare Source
Both SQLX and JavaScript now support a
schema()
function, which returns the (suffixed, as applicable) name of "this" action's schema. (Contrived) examples:Assuming
dataform.config
contains"defaultSchema": "foo"
, these both generate a table action whose SQL isselect "foo" as col1
. This is likely most useful intype: "operations"
scripts.v2.1.0
: : Table auto-assertions now share the same tags as their parent tableCompare Source
v2.0.4
: : Default tomain
compilation.Compare Source
This release introduces no new features, but it does change the default compilation mode to something we call
main
compilation: a cleaner and more maintainable compilation script.v2.0.3
: : Includecore.proto
in published packages.Compare Source
v2.0.2
: : Sandbox security upgrades.Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.