- Drop support for npm versions older than 7
- Prevent misconfigured
workDir
from removing all unrelated files #297
- Adds missing
result
to NodeTask #289
- Upgrade default Node to 18.17.1 and npm to 9.6.7
- Always use downloaded Yarn as per documentation #284
- The above is true even with
download = false
, per the documentation
- Removed deprecated
nodeModulesDir
fromNodeExtension
- The resolved/computed node directory and platform are stored in
resolvedNodeDir
andresolvedPlatform
onNodeExtension
- Fixes configuration-cache issue in Gradle 8.4
- Removes the entire
PlatformHelper
as the functionality has migrated into top-level functions - Removes the deprecated
HelperExecution
- Fixed failure querying the task inputs/outputs on 8+ with configuration-cache enabled #259
ProxySetting.FORCED
will now unset environment variables configured outside of Gradle, forcing the settings to match #153
- Support configuration-cache on Gradle 8.1 #271
- Store node directories on NodeExtension
- Deprecate parts of PlatformHelper that require executing commands during configuration
- Re-introduce support for Gradle 6.6 and newer
- This version is unfortunately broken, please upgrade directly to 5.0.0
- Drop support for versions lower than Gradle 7.5.1
- Rename
package.json
extension topackageJson
#232 - Support configuration-cache on Gradle 8.1 #271
- Fix configuration cache support in pnpm
- Add pnpm support #67 (thanks langrp for the pull request, and DreierF for the pull request that merged it)
- Backwards compatibility fix for those using VariantComputer #213
- Prevent M1 Macs from attempting to download a non-existent distribution #214
- Support Gradle 7.4 configuration-cache #209 (thanks nhoughto for the pull request)
- Add option for allowing HTTP access #163 (thanks markslater for the pull request)
- Add support for Linux on Z system (s390x) #193
- Add support for Linux Power PC #166 (thanks akatona84 for the pull request)
- Internal test suite now running against Gradle 7
- Adds
yarn.lock
as an input toNpmInstallTask
#155
- Fixes a bug with the task rule preventing it from being configured #145
- 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
andHTTPS_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
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 tocom.github.gradle.node
com.moowork.gradle.node.npm
renamed tocom.github.gradle.node.npm.task
com.moowork.gradle.node.yarn
renamed tocom.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 tonodeProjectDir
(name more explicit and less confusing) (issue #99). The former name still works but is deprecated.- Change the syntax to configure
nodeModulesOutputFilter
onnpmInstall
andyarn
tasks. It also affects Groovy DSL users. Use nownodeModulesOutputFilter { ... }
instead ofnodeModulesOutputFilter = { ... }
.
- Fix a duplicated
node_modules
output declaration in theyarn
task. This fix speeds up this task.
The previous release (2.2.2) was released by error from the development branch which contains an entire Kotlin rewrite of the plugin code and many backward compatibility breaks. This new version replaces the previous one and adds one fix.
- Make npm and npx symlinks relative. PR #68
- NpmSetupTask does not work when using separate http and https proxy settings #69
- Make npm and npx symlinks relative. PR #68
- Only use fileTree for npmInstall output if a filter is configured. Hotfix for #63
- Improve the inputs declarations of tasks:
NodeTask
'sscript
now has relative path sensitivity (issue #41)- No longer consider the working dir as an input for all tasks (issue #40)
- Explicitly exclude the
execOverrides
option of tasks from the inputs (issue #40) - Add the ability to remove some files of the
node_modules
directory from theNpmInstallTask
andYarnInstallTask
outputs from the task output ; this is necessary when some tasks change some files of thenode_modules
directory ; theNpmInstallTask
andYarnInstallTask
are never up-to-date in this case (issue #38)
- Deprecate the usage of
NodeTask
with ascript
which is a directory ; Node.js supports that and looks for anindex.js
file in the directory but this is not compliant with a correct input/output declaration (issue #41) - No longer use
Project.afterEvaluate
as a first step to support lazy tasks configuration (issue #39) - Gradle 6 compatibility (all integration tests run also on Gradle 6.0-rc-2)
- Improve the integration tests coverage
- Fix an issue in
NodeTask
,NpmTask
,NpxTask
andYarnTask
that caused the up-to-date checking to be too much sensitive regarding the environment: any change of an environment variable caused the task to be considered as out-of-date - Improve the inputs declarations of the
YarnTask
- Adds NpxTask for making use of https://www.npmjs.com/package/npx PR #32
- Improved up-to-date checks PR #32
- Support ARM even if the JDK reports aarch64 #33
- Setting distBaseUrl to null disables repository adding PR #25
- Only support Gradle 5.x officially.
- Drop support for grunt/gulp plugins.
- Fix inputs/outputs for NpmInstallTask/YarnInstallTask.
- Backport from srs: Added gradle build cache support for npm install (bjornmagnusson)
- Adds npmInstallCommand for overriding NpmInstallTasks behaviour.
- Relocated to com.github.node-gradle.(node|grunt|gulp)
- Conditionally use
metadataSources
on gradle >= 4.5 (#1)
- Support using Gradle Build Cache with Yarn tasks (#205) (mark-vieira)
- Bumped Gradle wrapper version to 3.5
- New args can be added for npmSetup and yarnSetup (#226)
- Uses --no-save for npmSetup and yarnSetup (#222)
- Added execOverrides and ignoreExitValue on npmSetupTask (#196)
- Added gruntFile in grunt extension to use different file (#189)
- npm_* tasks using nodeModulesDir (##136) (janario)
- Plugin publishing problems (#188)
- Override environment instead of setting it (#176) (s0x)
- Fix typo in resolveSingle (#166) (s0x)
- Add support for node options (#141, #174) (whboyd)
- Fix symlink problem using NPM (#164, #165, #181) (s0x)
- Set PATH variable for node, npm and yarn (#134, #146, #149, #164, #179) (s0x)
- Publish directly to plugins.gradle.org instead of bintray (#172)
- Fixed problem with resolving Grunt and Gulp plugins (#170)
- Move npm and yarn classes into separate package (#158)
- Move grunt plugin code to this plugin (#159)
- Move gulp plugin code to this plugin (#160)
- Use 6.9.1 as default node version (#163)
- Fix missing property exception when using plugin in conjunction with Node 6.x.x on Windows (#167) (mark-vieira)
- Switch over to use semantic versioning (#169)
- Bumped gradle wrapper version to 3.2.1
- Use gradle-testkit instead of nebula (#153)
- Update to use Windows zip dists when available (#142) (datallah)
- Added support for Yarn (#145, #151) (kaitoy)
- Bumped gradle wrapper version to 2.14
- Implement ARM compatibility (madmas)
- Allow node modules to be used when calling npm_run (jmcampanini)
- Updated plugin versions and test versions
- Node.workingDir set to nodeModulesDir (fixes #107)
- Creates nodeModulesDir if it does not exist (fixes #108)
- Use single repo for node download (fixes #120)
- Updated wrapper to use Gradle 2.11
- Refactored windows-specific logic for npm (peol)
- Use temporary repository for resolving node dependencies
- Using 4.4.0 (latest LTS) as default node version
- Changed default workDir location to be local to project directory
- Handle 4+ nodejs releases on windows (dvaske)
- Add npmCommand parameter to the node extension (janrotter)
- Set executable flag on node in SetupTask
- Upgraded wrapper to use Gradle 2.7
- Update node distribution base url to use https (AvihayTsayeg)
- Added more tests (unit, integration and functional tests)
- NodeTask environment is now correctly propagated to the runner
- Fixed problem with spaces in workDir
- Add configuration for node_modules location (nmalaguti)
- Solaris support (halfninja)
- Upgraded wrapper to use Gradle 2.4
- Updated some plugin references
- Fixed some tests on Windows (abelsromero)
- Fixed issue for windows environments, not containing "PATH" but "Path" (tspaeth)
- Allow 64 bit windows to use the x64 node.exe (ekaufman)
- Renamed "ext" property on SetupTask so that it's not causing any conflicts
- Added detection for FreeBSD as a Linux variant
- Compiling using Java 1.6 compatiblity (stianl)
- Publish snapshots to jcenter (dougborg)
- Add node to execution path for NodeExec (dougborg)
- Use 'com.moowork.node' id instead of 'node
- Upgraded wrapper to use Gradle 2.2
- Allow local npm to override bundled npm (dougborg)
- Allow for configuring npmVersion (dougborg)
- Upgrade to Gradle 2.1
- Upgrade to Gradle 2.0
- Using 'com.moowork.node' as plugin id, but 'node' still works for another version
- Possible to read execResult for npm and node tasks (johnrengelman)
- Upgraded to use Node version 0.10.22 (tkruse)
- Provide gradle rule to run any NPM commands (tkruse)
- Possible to ignoreExitValue (konrad-garus)
- Added support for exec taks overrides (delegates down to Gradle exec task) (konrad-garus)
- Now adding npmInstall outside afterEvaluate to allow better dependsOn usage
- Reworked SetupTask so that it is using task input/output change tracking
- Updated gradle wrapper to version 1.11
- Initial usable version