From e42c108d9d3849b95511e217475af9c9f78d50af Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Mon, 4 Jul 2022 12:13:47 +0200 Subject: [PATCH 1/3] fix(remix): Sourcemaps upload script is missing in the tarball Add prepack script for Remix package and custom .npmignore --- packages/remix/.npmignore | 9 ++++++++ packages/remix/scripts/prepack.ts | 34 +++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 packages/remix/.npmignore create mode 100644 packages/remix/scripts/prepack.ts diff --git a/packages/remix/.npmignore b/packages/remix/.npmignore new file mode 100644 index 000000000000..c47d64ac00c9 --- /dev/null +++ b/packages/remix/.npmignore @@ -0,0 +1,9 @@ +# The paths in this file are specified so that they align with the file structure in `./build` after this file is copied +# into it by the prepack script `scripts/prepack.ts`. + +* + +!/cjs/**/* +!/esm/**/* +!/types/**/* +!/scripts/**/* diff --git a/packages/remix/scripts/prepack.ts b/packages/remix/scripts/prepack.ts new file mode 100644 index 000000000000..890b3bc2b9f1 --- /dev/null +++ b/packages/remix/scripts/prepack.ts @@ -0,0 +1,34 @@ +/* eslint-disable no-console */ + +import * as fs from 'fs'; +import * as path from 'path'; + +const PACKAGE_ASSETS = ['scripts/sentry-upload-sourcemaps.js', 'scripts/createRelease.js']; + +export function prepack(buildDir: string): boolean { + // copy package-specific assets to build dir + return PACKAGE_ASSETS.every(asset => { + const assetPath = path.resolve(asset); + const destinationPath = path.resolve(buildDir, asset); + try { + if (!fs.existsSync(assetPath)) { + console.error(`\nERROR: Asset '${asset}' does not exist.`); + return false; + } + const scriptsDir = path.resolve(buildDir, 'scripts'); + if (!fs.existsSync(scriptsDir)) { + console.log('Creating missing directory', scriptsDir); + fs.mkdirSync(scriptsDir); + } + console.log(`Copying ${path.basename(asset)} to ${path.relative('../..', destinationPath)}.`); + fs.copyFileSync(assetPath, destinationPath); + } catch (error) { + console.error( + `\nERROR: Error while copying ${path.basename(asset)} to ${path.relative('../..', destinationPath)}:\n`, + error, + ); + return false; + } + return true; + }); +} From 1a0837693138c3c493093f7670bf71f9237c84d8 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Mon, 4 Jul 2022 13:30:46 +0200 Subject: [PATCH 2/3] simplify .npmignore --- packages/remix/.npmignore | 5 ----- 1 file changed, 5 deletions(-) diff --git a/packages/remix/.npmignore b/packages/remix/.npmignore index c47d64ac00c9..e1bb7e5136bd 100644 --- a/packages/remix/.npmignore +++ b/packages/remix/.npmignore @@ -1,9 +1,4 @@ # The paths in this file are specified so that they align with the file structure in `./build` after this file is copied # into it by the prepack script `scripts/prepack.ts`. -* - -!/cjs/**/* -!/esm/**/* -!/types/**/* !/scripts/**/* From 8b102b8bdbeb239d2c7f78ef8288c139da3bbd29 Mon Sep 17 00:00:00 2001 From: Lukas Stracke Date: Mon, 4 Jul 2022 13:33:41 +0200 Subject: [PATCH 3/3] fix linter --- packages/remix/.eslintrc.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/remix/.eslintrc.js b/packages/remix/.eslintrc.js index e682ebb55f7d..de52e01b9c4b 100644 --- a/packages/remix/.eslintrc.js +++ b/packages/remix/.eslintrc.js @@ -10,4 +10,12 @@ module.exports = { rules: { '@sentry-internal/sdk/no-async-await': 'off', }, + overrides: [ + { + files: ['scripts/**/*.ts'], + parserOptions: { + project: ['../../tsconfig.dev.json'], + }, + }, + ], };