Skip to content

3.0.0 - configuration cache support, kotlin rewrite, lazy configuration, api changes, proxy fixes, and more

Compare
Choose a tag to compare
@deepy deepy released this 06 Feb 17:15
· 169 commits to master since this release
  • Rewrite the code to Kotlin (issue #17)
    (thanks mikejhill
    for the pull request)
  • Improve the Kotlin DSL support (see this Kotlin DSL example
    that shows how to use this plugin version with Kotlin)
  • Upgrade default Node.js version to 14.15.4 (bundled with npm 6.14.10), the latest LTS version
  • Add support of lazy configuration (issue #39)
  • Add support of Gradle Configuration Cache (introduced in Gradle 6.8) (issue #111)
  • Fix some remaining input/output declaration issues (issue
    #34)
  • Gradle 5.6.4+ support (instead of Gradle 5.0.0+ before)
  • Node.js 10+ support (issue #100)
  • Improved automatic proxy configuration (issue #113), use http:// for both HTTP_PROXY and HTTPS_PROXY
  • Improved proxy configuration (PR #135)
  • npm 7+ support (issue #123)
  • Improved ARM support (issue #130)
  • Gradle configuration cache support (issue #111)
  • Add RepositoryContentDescriptor to IvyRepository #136

Breaking changes

This version breaks backward compatibility. It should not be visible for most Groovy DSL users since the Groovy DSL
handles transparently most of these changes.
Here is what changed:

  • All the packages were renamed (they were inherited from the original forked project):
    • com.moowork.gradle.node (and all children) renamed to com.github.gradle.node
    • com.moowork.gradle.node.npm renamed to com.github.gradle.node.npm.task
    • com.moowork.gradle.node.yarn renamed to com.github.gradle.node.yarn.task
  • All the configuration properties (the node extension and all tasks) are now some
    lazy properties as recommended by
    Gradle. This makes this plugin fully compatible with lazy configuration (tasks will be configured only if they need to
    run and configuration properties are read only at runtime if needed and not at configuration time).
  • Thanks to the Kotlin rewrite, some properties now have a stronger typing.
  • nodeModulesDir option was renamed to nodeProjectDir (name more explicit and less confusing)
    (issue #99). The former name still works but is
    deprecated.
  • Change the syntax to configure nodeModulesOutputFilter on npmInstall and yarn tasks. It also affects Groovy DSL
    users. Use now nodeModulesOutputFilter { ... } instead of nodeModulesOutputFilter = { ... }.