Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update dependency @neo4j/cypher-builder to v2 (lts) #5924

Open
wants to merge 1 commit into
base: lts
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 2, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@neo4j/cypher-builder (source) ^1.20.1 -> ^2.0.0 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

neo4j/cypher-builder (@​neo4j/cypher-builder)

v2.1.0

Compare Source

Minor Changes
  • #​471 1c671f1 Thanks @​angrykoala! - Add support for dynamic labels by passing an expression to node.label:

    new Cypher.Match(new Cypher.Pattern(movie)).set(movie.label(Cypher.labels(anotherNode)));
    MATCH (this0)
    SET
        this0:$(labels(this1))
Patch Changes
  • #​476 79e1e87 Thanks @​angrykoala! - Escapes variables using the following reserved words (case insensitive):

    • where
    • is
    • contains
    • in

    For example:

    new Cypher.NamedVariable("Where").property("title");

    Generates the following Cypher

    `Where`.title

v2.0.2

Compare Source

Patch Changes
  • #​463 57a3f9c Thanks @​angrykoala! - Fix order of set remove subclauses. The generated cypher will now maintain the order of multiple SET and REMOVE statements.

    For example:

    const matchQuery = new Cypher.Match(new Cypher.Pattern(personNode, { labels: ["Person"] }))
        .where(personNode, { name: nameParam })
        .set([personNode.property("name"), evilKeanu])
        .remove(personNode.property("anotherName"))
        .set([personNode.property("anotherName"), new Cypher.Param(nameParam)])
        .set([personNode.property("oldName"), new Cypher.Param(nameParam)])
        .return(personNode);

    Before

    MATCH (this0:Person)
    WHERE this0.name = $param0
    SET
        this0.name = $param1
        this0.anotherName = $param2,
        this0.oldName = $param3
    REMOVE this0.anotherName
    RETURN this0

    After

    MATCH (this0:Person)
    WHERE this0.name = $param0
    SET
        this0.name = $param1
    REMOVE this0.anotherName
    SET
        this0.anotherName = $param2,
        this0.oldName = $param3
    RETURN this0

v2.0.1

Compare Source

Patch Changes
  • #​457 85aa393 Thanks @​angrykoala! - Fix types in Unwind to reflect its behaviour in Cypher:

    • Unwind without alias is not supported in Cypher.
    • Unwind does not support *
    • Unwind does not support multiple columns

v2.0.0

Compare Source

Major Changes
  • #​389 88f4928 Thanks @​angrykoala! - Patterns no longer create a variable by default

    const pattern = new Cypher.Pattern();

    Before:

    (this0)

    Now:

    ()
  • #​390 038d8b5 Thanks @​angrykoala! - Clause build options are now passed as an object rather than parameters:

    myClause.build({
        prefix: "another-this",
        extraParams: {
            myParam: "hello",
        },
        labelOperator: "&",
    });

    All parameters are optional, and build can still be called without parameters

  • #​389 f5135f5 Thanks @​angrykoala! - Remove support for adding new columns into an existing with clause with .with, the method addColumns should be used instead

  • #​408 bba9d81 Thanks @​angrykoala! - Escape literal strings if they contain invalid characters:

    new Cypher.Literal(`Hello "World"`);

    Would get translated into the following Cypher:

    "Hello \"World\""
  • #​409 adf599f Thanks @​angrykoala! - Cypher.Raw no longer exposes Cypher.Environment variable. It provides a CypherRawContext instance with a compile method to compile nested elements in custom cypher instead

  • #​407 88a300a Thanks @​angrykoala! - Remove method Cypher.concat, Cypher.utils.concat should be used instead

  • #​447 b82be57 Thanks @​angrykoala! - Remove Path and NamedPath in favor of PathVariable and NamedPathVariable

  • #​389 f5135f5 Thanks @​angrykoala! - Removes the following deprecated features:

    • pointDistance
    • utils.compileCypher
    • RawCypher
    • onCreate method in Merge clauses
    • innerWith method in Call clauses
    • PatternComprehension second parameter
    • cdc namespace:
      • cdc.current
      • cdc.earliest
      • cdc.query
    • rTrim and lTrim
    • Pattern.withoutLabels
    • Pattern.withoutVariable
    • Pattern.withProperties
    • Pattern.withVariables
    • Pattern.related().withoutType
    • Pattern.related().withDirection
    • Pattern.related().withLength
    • Pattern.related().getVariables
    • Relationship.type
    • Labels, types and properties in Node and Relationship classes
    • Using Node directly in constructor of clauses
  • #​453 f8a8120 Thanks @​angrykoala! - Remove support for fine-grained prefix configuration

    No longer supported:

    myClause.build({
        variable: "var_prefix_",
        params: "param_prefix_",
    });
  • #​410 961933f Thanks @​angrykoala! - Removes previous argument from Pattern constructor. This argument was never meant to be used externally and now it is not accessible

  • #​391 d416ee6 Thanks @​angrykoala! - Fix TypeScript typings for boolean operators when using array spread:

    • Cypher.and
    • Cypher.or
    • Cypher.xor

    The following:

    const predicates: Cypher.Predicate[] = [];
    const andPredicate = Cypher.and(...predicates);

    Will now return the correct type Cypher.Predicate | undefined. This change means that additional checks may be needed when using boolean operators:

    const predicates = [Cypher.true, Cypher.false];
    const andPredicate = Cypher.and(...predicates); // type Cypher.Predicate | undefined

    Passing parameters without spread will still return a defined type

  • #​447 b82be57 Thanks @​angrykoala! - Remove assignToPath method from clauses, in favor of assignTo in Patterns for the following clauses:

    • Match
    • Merge
    • Create

    Before:

    new Cypher.Match(pattern).assignToPath(pathVariable).return(pathVariable);

    Now:

    new Cypher.Match(pattern.assignTo(pathVariable)).return(pathVariable);

    Generates the Cypher:

    MATCH p = ()-[]-()
    RETURN p
Patch Changes

Configuration

📅 Schedule: Branch creation - "after 10pm every weekday,before 5am every weekday,every weekend" in timezone Europe/London, 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link

changeset-bot bot commented Jan 2, 2025

⚠️ No Changeset found

Latest commit: 29f658a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants