From 15a3b97dbbfc34733bdb57645581ad45ddd2434e Mon Sep 17 00:00:00 2001 From: Steven Vachon Date: Tue, 29 Sep 2020 10:16:16 -0400 Subject: [PATCH] @grafana/toolkit: run npm "next" publish file system functions serially (#27894) ... to hopefully avoid race conditions with working directory changes --- packages/grafana-toolkit/package.json | 1 + .../src/cli/tasks/package.build.ts | 3 ++- yarn.lock | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/grafana-toolkit/package.json b/packages/grafana-toolkit/package.json index 0d2ad1fbb59..7f904fcbef8 100644 --- a/packages/grafana-toolkit/package.json +++ b/packages/grafana-toolkit/package.json @@ -86,6 +86,7 @@ "node-sass": "^4.13.1", "optimize-css-assets-webpack-plugin": "^5.0.3", "ora": "^4.0.3", + "p-series": "^2.1.0", "pixelmatch": "^5.1.0", "pngjs": "^3.4.0", "postcss-flexbugs-fixes": "4.2.0", diff --git a/packages/grafana-toolkit/src/cli/tasks/package.build.ts b/packages/grafana-toolkit/src/cli/tasks/package.build.ts index 6a380d6bbeb..0cd1e80e5b9 100644 --- a/packages/grafana-toolkit/src/cli/tasks/package.build.ts +++ b/packages/grafana-toolkit/src/cli/tasks/package.build.ts @@ -6,6 +6,7 @@ import chalk from 'chalk'; import { useSpinner } from '../utils/useSpinner'; import { Task, TaskRunner } from './task'; import globby from 'globby'; +import series from 'p-series'; let distDir: string, cwd: string; @@ -98,7 +99,7 @@ const buildTaskRunner: TaskRunner = async ({ scope }) => { }; }); - await Promise.all(scopes.map(s => s())); + await series(scopes); }; export const buildPackageTask = new Task('Package build', buildTaskRunner); diff --git a/yarn.lock b/yarn.lock index 925962ef2e3..32acf8e97db 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4935,6 +4935,11 @@ dependencies: any-observable "^0.3.0" +"@sindresorhus/is@^0.15.0": + version "0.15.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.15.0.tgz#96915baa05e6a6a1d137badf4984d3fc05820bb6" + integrity sha512-lu8BpxjAtRCAo5ifytTpCPCj99LF7o/2Myn+NXyNCBqvPYn7Pjd76AMmUB5l7XF1U6t0hcWrlEM5ESufW7wAeA== + "@sinonjs/commons@^1", "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0": version "1.7.0" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.0.tgz#f90ffc52a2e519f018b13b6c4da03cbff36ebed6" @@ -19822,6 +19827,11 @@ p-reduce@^1.0.0: resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= +p-reduce@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-2.1.0.tgz#09408da49507c6c274faa31f28df334bc712b64a" + integrity sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw== + p-retry@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" @@ -19829,6 +19839,14 @@ p-retry@^3.0.1: dependencies: retry "^0.12.0" +p-series@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-series/-/p-series-2.1.0.tgz#7035b3a81e2644d4ba407c1ebbc21776e353fa29" + integrity sha512-vEAnkG1ikRT1kPBrKwpj7AFYQkd1hjt/oHeppxtpoPxy5gEt+OWiHZJN3tMqvFa+UJfVwO3lwHoMUpMYBLKnaQ== + dependencies: + "@sindresorhus/is" "^0.15.0" + p-reduce "^2.1.0" + p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"