From 66d25df42cf94e289b1173020a50065732a081d1 Mon Sep 17 00:00:00 2001 From: Marvin Hagemeister Date: Thu, 18 May 2023 21:51:17 +0200 Subject: fix(npm): run pre and post tasks if present (#19178) This PR optionally runs pre and posts tasks from `package.json` if available. Fixes #19157 --- cli/tests/testdata/task/deno_json_pre_post/bin.out | 2 ++ cli/tests/testdata/task/deno_json_pre_post/deno.json | 7 +++++++ cli/tests/testdata/task/deno_json_pre_post/echo.out | 1 + cli/tests/testdata/task/package_json_post/bin.out | 5 +++++ cli/tests/testdata/task/package_json_post/echo.out | 1 + cli/tests/testdata/task/package_json_post/package.json | 6 ++++++ cli/tests/testdata/task/package_json_post_only/bin.out | 4 ++++ cli/tests/testdata/task/package_json_post_only/echo.out | 1 + cli/tests/testdata/task/package_json_post_only/package.json | 5 +++++ cli/tests/testdata/task/package_json_pre/bin.out | 5 +++++ cli/tests/testdata/task/package_json_pre/echo.out | 1 + cli/tests/testdata/task/package_json_pre/package.json | 6 ++++++ cli/tests/testdata/task/package_json_pre_only/bin.out | 4 ++++ cli/tests/testdata/task/package_json_pre_only/echo.out | 1 + cli/tests/testdata/task/package_json_pre_only/package.json | 5 +++++ cli/tests/testdata/task/package_json_pre_post/bin.out | 7 +++++++ cli/tests/testdata/task/package_json_pre_post/echo.out | 1 + cli/tests/testdata/task/package_json_pre_post/package.json | 7 +++++++ 18 files changed, 69 insertions(+) create mode 100644 cli/tests/testdata/task/deno_json_pre_post/bin.out create mode 100644 cli/tests/testdata/task/deno_json_pre_post/deno.json create mode 100644 cli/tests/testdata/task/deno_json_pre_post/echo.out create mode 100644 cli/tests/testdata/task/package_json_post/bin.out create mode 100644 cli/tests/testdata/task/package_json_post/echo.out create mode 100644 cli/tests/testdata/task/package_json_post/package.json create mode 100644 cli/tests/testdata/task/package_json_post_only/bin.out create mode 100644 cli/tests/testdata/task/package_json_post_only/echo.out create mode 100644 cli/tests/testdata/task/package_json_post_only/package.json create mode 100644 cli/tests/testdata/task/package_json_pre/bin.out create mode 100644 cli/tests/testdata/task/package_json_pre/echo.out create mode 100644 cli/tests/testdata/task/package_json_pre/package.json create mode 100644 cli/tests/testdata/task/package_json_pre_only/bin.out create mode 100644 cli/tests/testdata/task/package_json_pre_only/echo.out create mode 100644 cli/tests/testdata/task/package_json_pre_only/package.json create mode 100644 cli/tests/testdata/task/package_json_pre_post/bin.out create mode 100644 cli/tests/testdata/task/package_json_pre_post/echo.out create mode 100644 cli/tests/testdata/task/package_json_pre_post/package.json (limited to 'cli/tests/testdata') diff --git a/cli/tests/testdata/task/deno_json_pre_post/bin.out b/cli/tests/testdata/task/deno_json_pre_post/bin.out new file mode 100644 index 000000000..ad66595f1 --- /dev/null +++ b/cli/tests/testdata/task/deno_json_pre_post/bin.out @@ -0,0 +1,2 @@ +Task test echo 'test' +test diff --git a/cli/tests/testdata/task/deno_json_pre_post/deno.json b/cli/tests/testdata/task/deno_json_pre_post/deno.json new file mode 100644 index 000000000..165b92e3a --- /dev/null +++ b/cli/tests/testdata/task/deno_json_pre_post/deno.json @@ -0,0 +1,7 @@ +{ + "tasks": { + "pretest": "echo 'pretest'", + "posttest": "echo 'posttest'", + "test": "echo 'test'" + } +} diff --git a/cli/tests/testdata/task/deno_json_pre_post/echo.out b/cli/tests/testdata/task/deno_json_pre_post/echo.out new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/cli/tests/testdata/task/deno_json_pre_post/echo.out @@ -0,0 +1 @@ +0 diff --git a/cli/tests/testdata/task/package_json_post/bin.out b/cli/tests/testdata/task/package_json_post/bin.out new file mode 100644 index 000000000..9864cc76d --- /dev/null +++ b/cli/tests/testdata/task/package_json_post/bin.out @@ -0,0 +1,5 @@ +Warning Currently only basic package.json `scripts` are supported. Programs like `rimraf` or `cross-env` will not work correctly. This will be fixed in an upcoming release. +Task test echo 'test' +test +Task posttest echo 'posttest' +posttest diff --git a/cli/tests/testdata/task/package_json_post/echo.out b/cli/tests/testdata/task/package_json_post/echo.out new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/cli/tests/testdata/task/package_json_post/echo.out @@ -0,0 +1 @@ +0 diff --git a/cli/tests/testdata/task/package_json_post/package.json b/cli/tests/testdata/task/package_json_post/package.json new file mode 100644 index 000000000..82689f7d4 --- /dev/null +++ b/cli/tests/testdata/task/package_json_post/package.json @@ -0,0 +1,6 @@ +{ + "scripts": { + "posttest": "echo 'posttest'", + "test": "echo 'test'" + } +} diff --git a/cli/tests/testdata/task/package_json_post_only/bin.out b/cli/tests/testdata/task/package_json_post_only/bin.out new file mode 100644 index 000000000..9e7cea091 --- /dev/null +++ b/cli/tests/testdata/task/package_json_post_only/bin.out @@ -0,0 +1,4 @@ +Task not found: test +Available tasks: +- posttest (package.json) + echo 'posttest' diff --git a/cli/tests/testdata/task/package_json_post_only/echo.out b/cli/tests/testdata/task/package_json_post_only/echo.out new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/cli/tests/testdata/task/package_json_post_only/echo.out @@ -0,0 +1 @@ +0 diff --git a/cli/tests/testdata/task/package_json_post_only/package.json b/cli/tests/testdata/task/package_json_post_only/package.json new file mode 100644 index 000000000..ce8a6bbd5 --- /dev/null +++ b/cli/tests/testdata/task/package_json_post_only/package.json @@ -0,0 +1,5 @@ +{ + "scripts": { + "posttest": "echo 'posttest'" + } +} diff --git a/cli/tests/testdata/task/package_json_pre/bin.out b/cli/tests/testdata/task/package_json_pre/bin.out new file mode 100644 index 000000000..89c64f2e5 --- /dev/null +++ b/cli/tests/testdata/task/package_json_pre/bin.out @@ -0,0 +1,5 @@ +Warning Currently only basic package.json `scripts` are supported. Programs like `rimraf` or `cross-env` will not work correctly. This will be fixed in an upcoming release. +Task pretest echo 'pretest' +pretest +Task test echo 'test' +test diff --git a/cli/tests/testdata/task/package_json_pre/echo.out b/cli/tests/testdata/task/package_json_pre/echo.out new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/cli/tests/testdata/task/package_json_pre/echo.out @@ -0,0 +1 @@ +0 diff --git a/cli/tests/testdata/task/package_json_pre/package.json b/cli/tests/testdata/task/package_json_pre/package.json new file mode 100644 index 000000000..d3eba02a1 --- /dev/null +++ b/cli/tests/testdata/task/package_json_pre/package.json @@ -0,0 +1,6 @@ +{ + "scripts": { + "test": "echo 'test'", + "pretest": "echo 'pretest'" + } +} diff --git a/cli/tests/testdata/task/package_json_pre_only/bin.out b/cli/tests/testdata/task/package_json_pre_only/bin.out new file mode 100644 index 000000000..e96e8e341 --- /dev/null +++ b/cli/tests/testdata/task/package_json_pre_only/bin.out @@ -0,0 +1,4 @@ +Task not found: test +Available tasks: +- pretest (package.json) + echo 'pretest' diff --git a/cli/tests/testdata/task/package_json_pre_only/echo.out b/cli/tests/testdata/task/package_json_pre_only/echo.out new file mode 100644 index 000000000..d00491fd7 --- /dev/null +++ b/cli/tests/testdata/task/package_json_pre_only/echo.out @@ -0,0 +1 @@ +1 diff --git a/cli/tests/testdata/task/package_json_pre_only/package.json b/cli/tests/testdata/task/package_json_pre_only/package.json new file mode 100644 index 000000000..032a5d4ea --- /dev/null +++ b/cli/tests/testdata/task/package_json_pre_only/package.json @@ -0,0 +1,5 @@ +{ + "scripts": { + "pretest": "echo 'pretest'" + } +} diff --git a/cli/tests/testdata/task/package_json_pre_post/bin.out b/cli/tests/testdata/task/package_json_pre_post/bin.out new file mode 100644 index 000000000..0c686b9cd --- /dev/null +++ b/cli/tests/testdata/task/package_json_pre_post/bin.out @@ -0,0 +1,7 @@ +Warning Currently only basic package.json `scripts` are supported. Programs like `rimraf` or `cross-env` will not work correctly. This will be fixed in an upcoming release. +Task pretest echo 'pretest' +pretest +Task test echo 'test' +test +Task posttest echo 'posttest' +posttest diff --git a/cli/tests/testdata/task/package_json_pre_post/echo.out b/cli/tests/testdata/task/package_json_pre_post/echo.out new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/cli/tests/testdata/task/package_json_pre_post/echo.out @@ -0,0 +1 @@ +0 diff --git a/cli/tests/testdata/task/package_json_pre_post/package.json b/cli/tests/testdata/task/package_json_pre_post/package.json new file mode 100644 index 000000000..24a3ff1ed --- /dev/null +++ b/cli/tests/testdata/task/package_json_pre_post/package.json @@ -0,0 +1,7 @@ +{ + "scripts": { + "pretest": "echo 'pretest'", + "posttest": "echo 'posttest'", + "test": "echo 'test'" + } +} -- cgit v1.2.3