diff --git a/bin/update-bugsnag.js b/bin/update-bugsnag.js index 5ab9934fca3..d53d787f5be 100755 --- a/bin/update-bugsnag.js +++ b/bin/update-bugsnag.js @@ -7,7 +7,7 @@ import { fileURLToPath } from 'url'; import { node } from "@bugsnag/source-maps"; import reportBuild from 'bugsnag-build-reporter'; import glob from 'fast-glob'; -import tmp from 'tmp'; +import os from 'os'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); @@ -27,34 +27,26 @@ if (!packageName) { console.log(`Preparing @shopify/${packageName}`); - await new Promise((resolve, reject) => { - tmp.dir({unsafeCleanup: true}, async (err, temporaryDirectory) => { - if (err) { - reject(err); - } - try { - const temporaryShopifyPackage = await fsPromise.mkdir(path.join(temporaryDirectory, '@shopify'), { recursive: true}); - const temporaryPackageCopy = await fsPromise.mkdir(path.join(temporaryShopifyPackage, `${packageName}`), { recursive: true }); + const temporaryDirectory = await fsPromise.mkdtemp(path.join(os.tmpdir(), 'bugsnag-')); + try { + const temporaryShopifyPackage = await fsPromise.mkdir(path.join(temporaryDirectory, '@shopify'), { recursive: true}); + const temporaryPackageCopy = await fsPromise.mkdir(path.join(temporaryShopifyPackage, `${packageName}`), { recursive: true }); - console.log('Copying to temporary directory'); - fs.cpSync(sourceDirectory, temporaryPackageCopy, {recursive: true}); + console.log('Copying to temporary directory'); + fs.cpSync(sourceDirectory, temporaryPackageCopy, {recursive: true}); - console.log('Uploading to Bugsnag'); - process.chdir(temporaryDirectory); - await node.uploadMultiple({ - apiKey, - appVersion, - overwrite: true, - directory: '.', - endpoint: 'https://error-analytics-production.shopifysvc.com/api/v1/sourcemap/browser' - }); - - resolve(); - } catch (e) { - reject(e); - } + console.log('Uploading to Bugsnag'); + process.chdir(temporaryDirectory); + await node.uploadMultiple({ + apiKey, + appVersion, + overwrite: true, + directory: '.', + endpoint: 'https://error-analytics-production.shopifysvc.com/api/v1/sourcemap/browser' }); - }); + } finally { + await fsPromise.rm(temporaryDirectory, {recursive: true, force: true}); + } console.log(`Cleaning sourcemaps from @shopify/${packageName}`); diff --git a/package.json b/package.json index fc6802e3a90..e8054b4b73f 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,6 @@ "@shopify/eslint-plugin-cli": "file:packages/eslint-plugin-cli", "@shopify/generate-docs": "0.15.6", "@types/node": "18.19.70", - "@types/tmp": "^0.2.5", "@typescript-eslint/parser": "8.56.1", "@vitest/coverage-istanbul": "^3.1.4", "ansi-colors": "^4.1.3", @@ -75,7 +74,6 @@ "pathe": "1.1.1", "pin-github-action": "^3.3.1", "rimraf": "^6.1.3", - "tmp": "^0.2.5", "ts-node": "^10.9.1", "typescript": "5.9.3", "vitest": "^3.1.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6d6ac541a03..4e47b801477 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,9 +58,6 @@ importers: '@types/node': specifier: 18.19.70 version: 18.19.70 - '@types/tmp': - specifier: ^0.2.5 - version: 0.2.6 '@typescript-eslint/parser': specifier: 8.56.1 version: 8.56.1(eslint@9.39.3(jiti@2.6.1))(typescript@5.9.3) @@ -136,9 +133,6 @@ importers: rimraf: specifier: ^6.1.3 version: 6.1.3 - tmp: - specifier: ^0.2.5 - version: 0.2.5 ts-node: specifier: ^10.9.1 version: 10.9.2(@types/node@18.19.70)(typescript@5.9.3) @@ -3965,9 +3959,6 @@ packages: '@types/tinycolor2@1.4.6': resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} - '@types/tmp@0.2.6': - resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} - '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -13243,8 +13234,6 @@ snapshots: '@types/tinycolor2@1.4.6': {} - '@types/tmp@0.2.6': {} - '@types/unist@3.0.3': {} '@types/which@3.0.4': {}