Просмотр исходного кода

Preliminary NodeJS projects detection

Mohammed Nafees 4 лет назад
Родитель
Сommit
8bea51ab6c
3 измененных файлов с 33 добавлено и 0 удалено
  1. 26 0
      cmd/test-runtime/main.go
  2. 2 0
      go.mod
  3. 5 0
      go.sum

+ 26 - 0
cmd/test-runtime/main.go

@@ -7,9 +7,11 @@ import (
 
 	condaenvupdate "github.com/paketo-buildpacks/conda-env-update"
 	gomodvendor "github.com/paketo-buildpacks/go-mod-vendor"
+	npminstall "github.com/paketo-buildpacks/npm-install"
 	"github.com/paketo-buildpacks/packit"
 	pipenvinstall "github.com/paketo-buildpacks/pipenv-install"
 	pythonstart "github.com/paketo-buildpacks/python-start"
+	yarninstall "github.com/paketo-buildpacks/yarn-install"
 )
 
 const GoModLocation = "go.mod"
@@ -95,6 +97,30 @@ func detectPython() {
 }
 
 func detectNode() {
+	/* Check for yarn project */
+	yarnProjectPathParser := yarninstall.NewProjectPathParser()
+	yarnVersionParser := yarninstall.NewPackageJSONParser()
+	detect := yarninstall.Detect(yarnProjectPathParser, yarnVersionParser)
+	_, err := detect(packit.DetectContext{
+		WorkingDir: workingDir,
+	})
+	if err == nil {
+		log.Println("Node yarn project detected")
+		return
+	}
+
+	/* Check for npm project */
+	npmProjectPathParser := npminstall.NewProjectPathParser()
+	npmVersionParser := npminstall.NewPackageJSONParser()
+	detect = npminstall.Detect(npmProjectPathParser, npmVersionParser)
+	_, err = detect(packit.DetectContext{
+		WorkingDir: workingDir,
+	})
+	if err == nil {
+		log.Println("Node npm project detected")
+		return
+	}
+
 	/* Not a Node project */
 	log.Println("Not a Node project")
 }

+ 2 - 0
go.mod

@@ -41,9 +41,11 @@ require (
 	github.com/opencontainers/image-spec v1.0.1
 	github.com/paketo-buildpacks/conda-env-update v0.2.2
 	github.com/paketo-buildpacks/go-mod-vendor v0.3.1
+	github.com/paketo-buildpacks/npm-install v0.5.0
 	github.com/paketo-buildpacks/packit v1.3.0
 	github.com/paketo-buildpacks/pipenv-install v0.2.3
 	github.com/paketo-buildpacks/python-start v0.7.0
+	github.com/paketo-buildpacks/yarn-install v0.5.0
 	github.com/pkg/errors v0.9.1
 	github.com/rogpeppe/go-internal v1.5.2 // indirect
 	github.com/rs/zerolog v1.20.0

+ 5 - 0
go.sum

@@ -1054,18 +1054,23 @@ github.com/paketo-buildpacks/conda-env-update v0.2.2 h1:0bT6Se/r/06Gc3sBeg+OJ/9B
 github.com/paketo-buildpacks/conda-env-update v0.2.2/go.mod h1:OKSG9rf9ClDLcoHA3JJgbRECShCpNJKrmkYgIiYAu9k=
 github.com/paketo-buildpacks/go-mod-vendor v0.3.1 h1:4ltB7mmMg2dGRNDLxwPMLoY98rePUhny/6L0QUn8aYU=
 github.com/paketo-buildpacks/go-mod-vendor v0.3.1/go.mod h1:ycd4yAggQShyoQg+bXZyaxazx/Nms98f1SH9NkG/I3k=
+github.com/paketo-buildpacks/npm-install v0.5.0 h1:PWIdaa14IcLllbv1LyZa5mVh5r6DbpdB3bDSxz5+r94=
+github.com/paketo-buildpacks/npm-install v0.5.0/go.mod h1:lJ+qayMglLeNbeDxnppIMTKKKNDO+sejM5qiPCBMwzw=
 github.com/paketo-buildpacks/occam v0.0.22/go.mod h1:aPNRyPEgYp4a01O4UKAuFWYnRmY4ujeuV3x6yAa1hxs=
 github.com/paketo-buildpacks/occam v0.1.4/go.mod h1:Rn7l2Ndm1ff0RGj0hWJwH8+iGhkEGY5nt/qpWKWB9lE=
 github.com/paketo-buildpacks/packit v0.5.0/go.mod h1:ATLZccUzqEAyPlirdka8hs+XNqS4pyJ/tjyU1NXJKm8=
 github.com/paketo-buildpacks/packit v0.13.0/go.mod h1:o3ajTEGOKZpEVRDpBH6qaIRVK92CO7WWinm87MTBlV8=
 github.com/paketo-buildpacks/packit v0.14.3/go.mod h1:D1a4w1fN+iLjQj9iGEmwp3e+MN8ohHSdKTiwS7cK3xg=
 github.com/paketo-buildpacks/packit v1.0.0/go.mod h1:D3m0I2dzQrAsW9h8+/psbVMa+fYTjqcER7vxeEAKKWk=
+github.com/paketo-buildpacks/packit v1.2.0/go.mod h1:b4ZPN9PuBGFTfQMfpVXGIXiMiFiYF2slD2OEyfWflC8=
 github.com/paketo-buildpacks/packit v1.3.0 h1:Sqcsyr6zsM5XF8E/vuv8fTjoTeD0CHKnfUwmeo6q864=
 github.com/paketo-buildpacks/packit v1.3.0/go.mod h1:RTUFi6o/EszIkL/XWXwV7Xauc22qsIVwBz6MMdituzA=
 github.com/paketo-buildpacks/pipenv-install v0.2.3 h1:6ZRAKIPXigt+lJefh+qlIylkpG7bz5vR+LnuPpQWdPo=
 github.com/paketo-buildpacks/pipenv-install v0.2.3/go.mod h1:cykBCEGSdDpyGTjs4n2vHjKK4NDAA5mSFqv6a80mT9s=
 github.com/paketo-buildpacks/python-start v0.7.0 h1:eBE4D8Uy6pUL/+3+eLjZTxpguOBZkDWA6MlVxfat+ww=
 github.com/paketo-buildpacks/python-start v0.7.0/go.mod h1:lVmId1wEYgOeo01a+sY9kF7TeJEeIY58L7yBL+nrM7s=
+github.com/paketo-buildpacks/yarn-install v0.5.0 h1:gXZbzZkLUjACcDB9GdxjsxLZ+yELxqoV1SFl6oyme6c=
+github.com/paketo-buildpacks/yarn-install v0.5.0/go.mod h1:IbV1LtVsXfH02owfR4QsPRom8c67VsqXhACvO83K3FI=
 github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
 github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
 github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo=