Skip to content

Commit 6780a97

Browse files
committed
Make more clear which env vars are inlined
1 parent 27b8789 commit 6780a97

File tree

13 files changed

+148
-134
lines changed

13 files changed

+148
-134
lines changed

.config/rollup.base.config.mjs

Lines changed: 46 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,20 @@ const require = createRequire(import.meta.url)
3333

3434
const {
3535
CONSTANTS,
36+
INLINED_SOCKET_CLI_LEGACY_BUILD,
37+
INLINED_SOCKET_CLI_PUBLISHED_BUILD,
38+
INLINED_SOCKET_CLI_SENTRY_BUILD,
39+
INLINED_SOCKET_CLI_VERSION,
40+
INLINED_SOCKET_CLI_VERSION_HASH,
3641
LATEST,
3742
ROLLUP_ENTRY_SUFFIX,
3843
ROLLUP_EXTERNAL_SUFFIX,
3944
SLASH_NODE_MODULES_SLASH,
4045
SHADOW_NPM_BIN,
4146
SHADOW_NPM_INJECT,
4247
SHADOW_NPM_PATHS,
43-
SOCKET_CLI_LEGACY_BUILD,
44-
SOCKET_CLI_PUBLISHED_BUILD,
45-
SOCKET_CLI_SENTRY_BUILD,
46-
SOCKET_CLI_VERSION_HASH,
47-
VITEST,
48-
VENDOR
48+
VENDOR,
49+
VITEST
4950
} = constants
5051

5152
export const INLINED_PACKAGES = ['@babel/runtime']
@@ -82,12 +83,20 @@ const requireUrlAssignmentRegExp =
8283

8384
const splitUrlRequiresRegExp = /require\(["']u["']\s*\+\s*["']rl["']\)/g
8485

86+
let _rootPkgJson
87+
function getRootPkgJsonSync() {
88+
if (_rootPkgJson === undefined) {
89+
// Lazily access constants.rootPath.
90+
_rootPkgJson = readPackageJsonSync(constants.rootPath)
91+
}
92+
return _rootPkgJson
93+
}
94+
8595
let _socketVersionHash
86-
function getSocketVersionHash() {
96+
function getSocketCliVersionHash() {
8797
if (_socketVersionHash === undefined) {
8898
const randUuidSegment = randomUUID().split('-')[0]
89-
// Lazily access constants.rootPath.
90-
const { version } = readPackageJsonSync(constants.rootPath)
99+
const { version } = getRootPkgJsonSync()
91100
let gitHash = ''
92101
try {
93102
gitHash = spawnSync('git', ['rev-parse', '--short', 'HEAD'], {
@@ -98,8 +107,8 @@ function getSocketVersionHash() {
98107
// Mostly for development: confirms the build refreshed. For prod builds
99108
// the git hash should suffice to identify the build.
100109
_socketVersionHash = `${version}:${gitHash}:${randUuidSegment}${
101-
// Lazily access constants.ENV[SOCKET_CLI_PUBLISHED_BUILD].
102-
constants.ENV[SOCKET_CLI_PUBLISHED_BUILD] ? ':pub' : ':dev'
110+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_PUBLISHED_BUILD].
111+
constants.ENV[INLINED_SOCKET_CLI_PUBLISHED_BUILD] ? ':pub' : ':dev'
103112
}`
104113
}
105114
return _socketVersionHash
@@ -275,33 +284,48 @@ export default function baseConfig(extendConfig = {}) {
275284
preventAssignment: true,
276285
values: [
277286
[
278-
SOCKET_CLI_VERSION_HASH,
279-
() => JSON.stringify(getSocketVersionHash())
287+
INLINED_CYCLONEDX_CDXGEN_VERSION,
288+
() =>
289+
JSON.stringify(
290+
getRootPkgJsonSync().devDependencies['@cyclonedx/cdxgen']
291+
)
292+
],
293+
[
294+
INLINED_SOCKET_CLI_VERSION,
295+
() => JSON.stringify(getRootPkgJsonSync().version)
280296
],
281297
[
282-
SOCKET_CLI_LEGACY_BUILD,
298+
INLINED_SOCKET_CLI_VERSION_HASH,
299+
() => JSON.stringify(getSocketCliVersionHash())
300+
],
301+
[
302+
INLINED_SOCKET_CLI_LEGACY_BUILD,
283303
() =>
284304
JSON.stringify(
285-
// Lazily access constants.ENV[SOCKET_CLI_LEGACY_BUILD].
286-
!!constants.ENV[SOCKET_CLI_LEGACY_BUILD]
305+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_LEGACY_BUILD].
306+
!!constants.ENV[INLINED_SOCKET_CLI_LEGACY_BUILD]
287307
)
288308
],
289309
[
290-
SOCKET_CLI_PUBLISHED_BUILD,
310+
INLINED_SOCKET_CLI_PUBLISHED_BUILD,
291311
() =>
292312
JSON.stringify(
293-
// Lazily access constants.ENV[SOCKET_CLI_PUBLISHED_BUILD].
294-
!!constants.ENV[SOCKET_CLI_PUBLISHED_BUILD]
313+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_PUBLISHED_BUILD].
314+
!!constants.ENV[INLINED_SOCKET_CLI_PUBLISHED_BUILD]
295315
)
296316
],
297317
[
298-
SOCKET_CLI_SENTRY_BUILD,
318+
INLINED_SOCKET_CLI_SENTRY_BUILD,
299319
() =>
300320
JSON.stringify(
301-
// Lazily access constants.ENV[SOCKET_CLI_SENTRY_BUILD].
302-
!!constants.ENV[SOCKET_CLI_SENTRY_BUILD]
321+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD].
322+
!!constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD]
303323
)
304324
],
325+
[
326+
INLINED_SYNP_VERSION,
327+
() => JSON.stringify(getRootPkgJsonSync().devDependencies['synp'])
328+
],
305329
[
306330
VITEST,
307331
() =>

.config/rollup.dist.config.mjs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ import {
2626

2727
const {
2828
CONSTANTS,
29+
INLINED_SOCKET_CLI_LEGACY_BUILD,
30+
INLINED_SOCKET_CLI_SENTRY_BUILD,
31+
INLINED_SOCKET_CLI_TEST_DIST_BUILD,
2932
INSTRUMENT_WITH_SENTRY,
3033
MODULE_SYNC,
3134
REQUIRE,
@@ -34,18 +37,15 @@ const {
3437
SHADOW_NPM_INJECT,
3538
SOCKET_CLI_BIN_NAME,
3639
SOCKET_CLI_BIN_NAME_ALIAS,
37-
SOCKET_CLI_LEGACY_BUILD,
3840
SOCKET_CLI_LEGACY_PACKAGE_NAME,
3941
SOCKET_CLI_NPM_BIN_NAME,
4042
SOCKET_CLI_NPX_BIN_NAME,
4143
SOCKET_CLI_PACKAGE_NAME,
4244
SOCKET_CLI_SENTRY_BIN_NAME,
4345
SOCKET_CLI_SENTRY_BIN_NAME_ALIAS,
44-
SOCKET_CLI_SENTRY_BUILD,
4546
SOCKET_CLI_SENTRY_NPM_BIN_NAME,
4647
SOCKET_CLI_SENTRY_NPX_BIN_NAME,
4748
SOCKET_CLI_SENTRY_PACKAGE_NAME,
48-
SOCKET_CLI_TEST_DIST_BUILD,
4949
VENDOR,
5050
depStatsPath,
5151
rootDistPath,
@@ -84,7 +84,7 @@ const sharedPlugins = [
8484
replacePlugin({
8585
delimiters: ['(?<![\'"])\\b', '(?![\'"])'],
8686
preventAssignment: true,
87-
values: [[SOCKET_CLI_TEST_DIST_BUILD, 'false']].reduce(
87+
values: [[INLINED_SOCKET_CLI_TEST_DIST_BUILD, 'false']].reduce(
8888
(obj, { 0: name, 1: value }) => {
8989
obj[`process.env.${name}`] = value
9090
obj[`process.env['${name}']`] = value
@@ -205,8 +205,8 @@ async function updateDepStats(depStats) {
205205
delete depStats.dependencies[key]
206206
}
207207
}
208-
// Lazily access constants.ENV[SOCKET_CLI_SENTRY_BUILD].
209-
if (constants.ENV[SOCKET_CLI_SENTRY_BUILD]) {
208+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD].
209+
if (constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD]) {
210210
// Add Sentry as a direct dependency for this build.
211211
depStats.dependencies[SENTRY_NODE] = (await getSentryManifest()).version
212212
}
@@ -238,8 +238,8 @@ async function updatePackageJson() {
238238
bin,
239239
dependencies
240240
})
241-
// Lazily access constants.ENV[SOCKET_CLI_LEGACY_BUILD].
242-
if (constants.ENV[SOCKET_CLI_LEGACY_BUILD]) {
241+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_LEGACY_BUILD].
242+
if (constants.ENV[INLINED_SOCKET_CLI_LEGACY_BUILD]) {
243243
editablePkgJson.update({
244244
name: SOCKET_CLI_LEGACY_PACKAGE_NAME,
245245
bin: {
@@ -248,8 +248,8 @@ async function updatePackageJson() {
248248
}
249249
})
250250
}
251-
// Lazily access constants.ENV[SOCKET_CLI_SENTRY_BUILD].
252-
else if (constants.ENV[SOCKET_CLI_SENTRY_BUILD]) {
251+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD].
252+
else if (constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD]) {
253253
editablePkgJson.update({
254254
name: SOCKET_CLI_SENTRY_PACKAGE_NAME,
255255
description: SOCKET_DESCRIPTION_WITH_SENTRY,
@@ -281,17 +281,17 @@ async function updatePackageLockFile() {
281281
rootPkg.name = SOCKET_CLI_PACKAGE_NAME
282282
rootPkg.bin = bin
283283
rootPkg.dependencies = dependencies
284-
// Lazily access constants.ENV[SOCKET_CLI_LEGACY_BUILD].
285-
if (constants.ENV[SOCKET_CLI_LEGACY_BUILD]) {
284+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_LEGACY_BUILD].
285+
if (constants.ENV[INLINED_SOCKET_CLI_LEGACY_BUILD]) {
286286
lockJson.name = SOCKET_CLI_LEGACY_PACKAGE_NAME
287287
rootPkg.name = SOCKET_CLI_LEGACY_PACKAGE_NAME
288288
rootPkg.bin = toSortedObject({
289289
[SOCKET_CLI_BIN_NAME_ALIAS]: bin[SOCKET_CLI_BIN_NAME],
290290
...bin
291291
})
292292
}
293-
// Lazily access constants.ENV[SOCKET_CLI_SENTRY_BUILD].
294-
else if (constants.ENV[SOCKET_CLI_SENTRY_BUILD]) {
293+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD].
294+
else if (constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD]) {
295295
lockJson.name = SOCKET_CLI_SENTRY_PACKAGE_NAME
296296
rootPkg.name = SOCKET_CLI_SENTRY_PACKAGE_NAME
297297
rootPkg.bin = {
@@ -312,8 +312,8 @@ export default () => {
312312
const moduleSyncConfig = baseConfig({
313313
input: {
314314
...sharedInputs,
315-
// Lazily access constants.ENV[SOCKET_CLI_SENTRY_BUILD].
316-
...(constants.ENV[SOCKET_CLI_SENTRY_BUILD]
315+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD].
316+
...(constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD]
317317
? {
318318
[INSTRUMENT_WITH_SENTRY]: `${rootSrcPath}/${INSTRUMENT_WITH_SENTRY}.ts`
319319
}
@@ -419,8 +419,8 @@ export default () => {
419419
])
420420
await Promise.all([
421421
removeDtsAndMapFiles(CONSTANTS, distModuleSyncPath),
422-
// Lazily access constants.ENV[SOCKET_CLI_SENTRY_BUILD].
423-
...(constants.ENV[SOCKET_CLI_SENTRY_BUILD]
422+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD].
423+
...(constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD]
424424
? [
425425
moveDtsAndMapFiles(
426426
INSTRUMENT_WITH_SENTRY,

.config/rollup.test.config.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
normalizeId
1212
} from '../scripts/utils/packages.js'
1313

14-
const { ROLLUP_EXTERNAL_SUFFIX, SOCKET_CLI_TEST_DIST_BUILD } = constants
14+
const { INLINED_SOCKET_CLI_TEST_DIST_BUILD, ROLLUP_EXTERNAL_SUFFIX } = constants
1515

1616
export default () => {
1717
// Lazily access constants.rootSrcPath
@@ -62,7 +62,7 @@ export default () => {
6262
replacePlugin({
6363
delimiters: ['(?<![\'"])\\b', '(?![\'"])'],
6464
preventAssignment: true,
65-
values: [[SOCKET_CLI_TEST_DIST_BUILD, 'true']].reduce(
65+
values: [[INLINED_SOCKET_CLI_TEST_DIST_BUILD, 'true']].reduce(
6666
(obj, { 0: name, 1: value }) => {
6767
obj[`process.env.${name}`] = value
6868
obj[`process.env['${name}']`] = value

.github/workflows/provenance.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ jobs:
2121
scope: "@socketsecurity"
2222
- run: npm install -g npm@latest
2323
- run: npm ci
24-
- run: SOCKET_CLI_PUBLISHED_BUILD=1 npm run build:dist
24+
- run: INLINED_SOCKET_CLI_PUBLISHED_BUILD=1 npm run build:dist
2525
- run: npm publish --provenance --access public
2626
env:
2727
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
28-
- run: SOCKET_CLI_PUBLISHED_BUILD=1 SOCKET_CLI_LEGACY_BUILD=1 npm run build:dist
28+
- run: INLINED_SOCKET_CLI_PUBLISHED_BUILD=1 INLINED_SOCKET_CLI_LEGACY_BUILD=1 npm run build:dist
2929
- run: npm publish --provenance --access public
3030
env:
3131
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
32-
- run: SOCKET_CLI_PUBLISHED_BUILD=1 SOCKET_CLI_SENTRY_BUILD=1 npm run build:dist
32+
- run: INLINED_SOCKET_CLI_PUBLISHED_BUILD=1 INLINED_SOCKET_CLI_SENTRY_BUILD=1 npm run build:dist
3333
- run: npm publish --provenance --access public
3434
env:
3535
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

bin/cli.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ const process = require('node:process')
55

66
const constants = require('../dist/constants')
77

8-
const { DIST_TYPE, SOCKET_CLI_SENTRY_BUILD } = constants
8+
const { DIST_TYPE, INLINED_SOCKET_CLI_SENTRY_BUILD } = constants
99

1010
if (
1111
DIST_TYPE === 'require' &&
12-
// Lazily access constants.ENV[SOCKET_CLI_SENTRY_BUILD].
13-
!constants.ENV[SOCKET_CLI_SENTRY_BUILD]
12+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD].
13+
!constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD]
1414
) {
1515
// Lazily access constants.distCliPath.
1616
require(constants.distCliPath)
@@ -25,8 +25,8 @@ if (
2525
...constants.nodeHardenFlags,
2626
// Lazily access constants.nodeNoWarningsFlags.
2727
...constants.nodeNoWarningsFlags,
28-
// Lazily access constants.ENV[SOCKET_CLI_SENTRY_BUILD].
29-
...(constants.ENV[SOCKET_CLI_SENTRY_BUILD]
28+
// Lazily access constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD].
29+
...(constants.ENV[INLINED_SOCKET_CLI_SENTRY_BUILD]
3030
? [
3131
'--require',
3232
// Lazily access constants.distInstrumentWithSentryPath.

scripts/constants.js

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ const {
1818
const WITH_SENTRY = 'with-sentry'
1919
const CLI = 'cli'
2020
const CONSTANTS = 'constants'
21+
const INLINED_SOCKET_CLI_LEGACY_BUILD = 'INLINED_SOCKET_CLI_LEGACY_BUILD'
22+
const INLINED_SOCKET_CLI_PUBLISHED_BUILD = 'INLINED_SOCKET_CLI_PUBLISHED_BUILD'
23+
const INLINED_SOCKET_CLI_SENTRY_BUILD = 'INLINED_SOCKET_CLI_SENTRY_BUILD'
24+
const INLINED_SOCKET_CLI_TEST_DIST_BUILD = 'INLINED_SOCKET_CLI_TEST_DIST_BUILD'
2125
const INSTRUMENT_WITH_SENTRY = `instrument-${WITH_SENTRY}`
2226
const MODULE_SYNC = 'module-sync'
2327
const REQUIRE = 'require'
@@ -31,19 +35,14 @@ const SOCKET = 'socket'
3135
const SOCKET_CLI_BIN_NAME = SOCKET
3236
const SOCKET_CLI_BIN_NAME_ALIAS = CLI
3337
const SOCKET_CLI_SENTRY_BIN_NAME_ALIAS = `${SOCKET_CLI_BIN_NAME_ALIAS}-${WITH_SENTRY}`
34-
const SOCKET_CLI_LEGACY_BUILD = 'SOCKET_CLI_LEGACY_BUILD'
3538
const SOCKET_CLI_LEGACY_PACKAGE_NAME = `${SOCKET_SECURITY_SCOPE}/${CLI}`
3639
const SOCKET_CLI_NPM_BIN_NAME = `${SOCKET}-${NPM}`
3740
const SOCKET_CLI_NPX_BIN_NAME = `${SOCKET}-${NPX}`
3841
const SOCKET_CLI_PACKAGE_NAME = SOCKET
39-
const SOCKET_CLI_PUBLISHED_BUILD = 'SOCKET_CLI_PUBLISHED_BUILD'
4042
const SOCKET_CLI_SENTRY_BIN_NAME = `${SOCKET_CLI_BIN_NAME}-${WITH_SENTRY}`
41-
const SOCKET_CLI_SENTRY_BUILD = 'SOCKET_CLI_SENTRY_BUILD'
4243
const SOCKET_CLI_SENTRY_NPM_BIN_NAME = `${SOCKET_CLI_NPM_BIN_NAME}-${WITH_SENTRY}`
4344
const SOCKET_CLI_SENTRY_NPX_BIN_NAME = `${SOCKET_CLI_NPX_BIN_NAME}-${WITH_SENTRY}`
4445
const SOCKET_CLI_SENTRY_PACKAGE_NAME = `${SOCKET_CLI_LEGACY_PACKAGE_NAME}-${WITH_SENTRY}`
45-
const SOCKET_CLI_TEST_DIST_BUILD = 'SOCKET_CLI_TEST_DIST_BUILD'
46-
const SOCKET_CLI_VERSION_HASH = 'SOCKET_CLI_VERSION_HASH'
4746
const VENDOR = 'vendor'
4847

4948
const LAZY_ENV = () => {
@@ -52,11 +51,17 @@ const LAZY_ENV = () => {
5251
// Lazily access registryConstants.ENV.
5352
...registryConstants.ENV,
5453
// Flag set to determine if this is the Legacy build.
55-
[SOCKET_CLI_LEGACY_BUILD]: envAsBoolean(env[SOCKET_CLI_LEGACY_BUILD]),
54+
[INLINED_SOCKET_CLI_LEGACY_BUILD]: envAsBoolean(
55+
env[INLINED_SOCKET_CLI_LEGACY_BUILD]
56+
),
5657
// Flag set to determine if this is a published build.
57-
[SOCKET_CLI_PUBLISHED_BUILD]: envAsBoolean(env[SOCKET_CLI_PUBLISHED_BUILD]),
58+
[INLINED_SOCKET_CLI_PUBLISHED_BUILD]: envAsBoolean(
59+
env[INLINED_SOCKET_CLI_PUBLISHED_BUILD]
60+
),
5861
// Flag set to determine if this is the Sentry build.
59-
[SOCKET_CLI_SENTRY_BUILD]: envAsBoolean(env[SOCKET_CLI_SENTRY_BUILD])
62+
[INLINED_SOCKET_CLI_SENTRY_BUILD]: envAsBoolean(
63+
env[INLINED_SOCKET_CLI_SENTRY_BUILD]
64+
)
6065
})
6166
}
6267

@@ -99,6 +104,10 @@ const constants = createConstantsObject(
99104
CLI,
100105
CONSTANTS,
101106
ENV: undefined,
107+
INLINED_SOCKET_CLI_LEGACY_BUILD,
108+
INLINED_SOCKET_CLI_PUBLISHED_BUILD,
109+
INLINED_SOCKET_CLI_SENTRY_BUILD,
110+
INLINED_SOCKET_CLI_TEST_DIST_BUILD,
102111
INSTRUMENT_WITH_SENTRY,
103112
MODULE_SYNC,
104113
REQUIRE,
@@ -112,19 +121,14 @@ const constants = createConstantsObject(
112121
SOCKET_CLI_BIN_NAME,
113122
SOCKET_CLI_BIN_NAME_ALIAS,
114123
SOCKET_CLI_SENTRY_BIN_NAME_ALIAS,
115-
SOCKET_CLI_LEGACY_BUILD,
116124
SOCKET_CLI_LEGACY_PACKAGE_NAME,
117125
SOCKET_CLI_NPM_BIN_NAME,
118126
SOCKET_CLI_NPX_BIN_NAME,
119127
SOCKET_CLI_PACKAGE_NAME,
120-
SOCKET_CLI_PUBLISHED_BUILD,
121128
SOCKET_CLI_SENTRY_BIN_NAME,
122-
SOCKET_CLI_SENTRY_BUILD,
123129
SOCKET_CLI_SENTRY_NPM_BIN_NAME,
124130
SOCKET_CLI_SENTRY_NPX_BIN_NAME,
125131
SOCKET_CLI_SENTRY_PACKAGE_NAME,
126-
SOCKET_CLI_TEST_DIST_BUILD,
127-
SOCKET_CLI_VERSION_HASH,
128132
VENDOR,
129133
WITH_SENTRY,
130134
babelConfigPath: undefined,

0 commit comments

Comments
 (0)