Skip to content

Commit 6274eab

Browse files
committed
Merge rollup.sentry.config.mjs into rollup.dist.config.mjs
1 parent ce3e4f4 commit 6274eab

File tree

3 files changed

+44
-100
lines changed

3 files changed

+44
-100
lines changed

.config/rollup.dist.config.mjs

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ import { toSortedObject } from '@socketsecurity/registry/lib/objects'
1010
import {
1111
fetchPackageManifest,
1212
isValidPackageName,
13-
readPackageJson
13+
readPackageJson,
14+
readPackageJsonSync
1415
} from '@socketsecurity/registry/lib/packages'
1516
import { isRelative } from '@socketsecurity/registry/lib/path'
1617
import { naturalCompare } from '@socketsecurity/registry/lib/sorts'
@@ -31,6 +32,7 @@ const {
3132
MODULE_SYNC,
3233
REQUIRE,
3334
ROLLUP_EXTERNAL_SUFFIX,
35+
SOCKET_IS_PUBLISHED,
3436
SOCKET_WITH_SENTRY,
3537
TAP,
3638
VENDOR,
@@ -67,6 +69,28 @@ async function getSentryManifest() {
6769
return _sentryManifest
6870
}
6971

72+
let _socketVersionHash
73+
function getSocketVersionHash() {
74+
if (_socketVersionHash === undefined) {
75+
const { version } = readPackageJsonSync(rootPath)
76+
let gitHash = ''
77+
try {
78+
;({ stdout: gitHash } = spawnSync(
79+
'git',
80+
['rev-parse', '--short', 'HEAD'],
81+
'utf8'
82+
))
83+
} catch {}
84+
// Make each build generate a unique version id, regardless.
85+
// Mostly for development: confirms the build refreshed. For prod
86+
// builds the git hash should suffice to identify the build.
87+
_socketVersionHash = JSON.stringify(
88+
`${version}:${gitHash}:${randomUUID().split('-')[0]}${constants.ENV[SOCKET_IS_PUBLISHED] ? ':pub' : ''}`
89+
)
90+
}
91+
return _socketVersionHash
92+
}
93+
7094
async function moveDtsFiles(namePattern, srcPath, destPath) {
7195
for (const filepath of await tinyGlob([`**/${namePattern}.d.ts{.map,}`], {
7296
absolute: true,
@@ -208,7 +232,13 @@ export default () => {
208232
cli: `${rootSrcPath}/cli.ts`,
209233
constants: `${rootSrcPath}/constants.ts`,
210234
'shadow-bin': `${rootSrcPath}/shadow/shadow-bin.ts`,
211-
'npm-injection': `${rootSrcPath}/shadow/npm-injection.ts`
235+
'npm-injection': `${rootSrcPath}/shadow/npm-injection.ts`,
236+
// Lazily access constants.ENV[SOCKET_WITH_SENTRY].
237+
...(constants.ENV[SOCKET_WITH_SENTRY]
238+
? {
239+
'instrument-with-sentry': `${rootSrcPath}/instrument-with-sentry.ts`
240+
}
241+
: {})
212242
},
213243
output: [
214244
{
@@ -251,9 +281,20 @@ export default () => {
251281
delimiters: ['\\b', ''],
252282
preventAssignment: true,
253283
values: {
254-
"process.env['TAP']": JSON.stringify(!!constants.ENV[TAP]),
284+
"process.env['SOCKET_CLI_VERSION']"() {
285+
return JSON.stringify(getSocketVersionHash())
286+
},
287+
"process.env['SOCKET_IS_PUBLISHED']": JSON.stringify(
288+
// Lazily access constants.ENV[SOCKET_IS_PUBLISHED].
289+
!!constants.ENV[SOCKET_IS_PUBLISHED]
290+
),
255291
"process.env['SOCKET_WITH_SENTRY']": JSON.stringify(
292+
// Lazily access constants.ENV[SOCKET_WITH_SENTRY].
256293
!!constants.ENV[SOCKET_WITH_SENTRY]
294+
),
295+
"process.env['TAP']": JSON.stringify(
296+
// Lazily access constants.ENV[TAP].
297+
!!constants.ENV[TAP]
257298
)
258299
}
259300
}),

.config/rollup.sentry.config.mjs

Lines changed: 0 additions & 96 deletions
This file was deleted.

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
},
3737
"scripts": {
3838
"build": "run-s build:*",
39-
"build:sentry": "rollup -c .config/rollup.sentry.config.mjs",
4039
"build:dist": "rollup -c .config/rollup.dist.config.mjs",
4140
"build:test": "rollup -c .config/rollup.test.config.mjs",
4241
"check": "run-p -c --aggregate-output check:*",

0 commit comments

Comments
 (0)