[webtools] Use "npm ci" instead of "npm install"

The latter is causing package-lock.json to be updated, resulting in
dirty builds even when checked out at master.

Change-Id: Iefda6b8ff8d671222bc07388cf6ca68eb99fd371
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/299868
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
diff --git a/task_driver/Makefile b/task_driver/Makefile
index 0f1fd57..c2bc8b6 100644
--- a/task_driver/Makefile
+++ b/task_driver/Makefile
@@ -1,12 +1,14 @@
 include ../kube/kube.mk
 
 .PHONY: build
-build: package-lock.json
+build:
+	npm ci
 	npx webpack --mode=development
 	GOOS=linux go install -a ./go/task-driver-server
 
 .PHONY: release
-release: package-lock.json
+release:
+	npm ci
 	NODE_ENV='production' npx webpack --mode=production
 	CGO_ENABLED=0 GOOS=linux go install -a ./go/task-driver-server
 	./build_release
@@ -16,12 +18,11 @@
 	pushk --message="$(MESSAGE)" --use-temp-checkout task-driver-server
 
 .PHONY: serve
-serve: package-lock.json
+serve:
+	npm ci
 	npx webpack-dev-server --mode=development --watch-poll --host=$(shell hostname)
 
 .PHONY: watch
-watch: package-lock.json
+watch:
+	npm ci
 	npx webpack --watch-poll --mode=development --watch-poll
-
-package-lock.json: package.json
-	npm install
diff --git a/webtools/webtools.mk b/webtools/webtools.mk
index 47b30fb..2206426 100644
--- a/webtools/webtools.mk
+++ b/webtools/webtools.mk
@@ -95,7 +95,7 @@
 
 #### npm install dependencies ####
 
-node_modules/lastupdate: package.json
-	npm install
+node_modules/lastupdate: package-lock.json
+	npm ci
 	touch node_modules/lastupdate