Skip to content

Commit e9af9e6

Browse files
committed
fix(cli-with-sentry): add missing shadow-npm-inject build step
- Add shadow npm inject build step between index loader and compress CLI - Fixes provenance validation error: dist/shadow-npm-inject.js does not exist - Replace manual color formatting with logger helper methods (logger.info, logger.success) - Remove unused yoctocolors-cjs import
1 parent 80d6a20 commit e9af9e6

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

packages/cli-with-sentry/scripts/build.mjs

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import { fileURLToPath } from 'node:url'
1111
import { WIN32 } from '@socketsecurity/lib/constants/platform'
1212
import { logger } from '@socketsecurity/lib/logger'
1313
import { spawn } from '@socketsecurity/lib/spawn'
14-
import colors from 'yoctocolors-cjs'
1514

1615
const __dirname = path.dirname(fileURLToPath(import.meta.url))
1716
const rootPath = path.join(__dirname, '..')
@@ -22,7 +21,7 @@ async function main() {
2221
const cliPath = path.join(rootPath, '..', 'cli')
2322

2423
// Build CLI bundle.
25-
logger.log(`${colors.blue('ℹ')} Building CLI bundle...`)
24+
logger.info('Building CLI bundle...')
2625
let result = await spawn('node', ['.config/esbuild.config.mjs'], {
2726
shell: WIN32,
2827
stdio: 'inherit',
@@ -35,10 +34,10 @@ async function main() {
3534
if (result.code !== 0) {
3635
throw new Error(`CLI bundle build failed with exit code ${result.code}`)
3736
}
38-
logger.log(`${colors.green('✓')} Built CLI bundle`)
37+
logger.success('Built CLI bundle')
3938

4039
// Build index loader.
41-
logger.log(`${colors.blue('ℹ')} Building index loader...`)
40+
logger.info('Building index loader...')
4241
result = await spawn('node', ['.config/esbuild.index.config.mjs'], {
4342
shell: WIN32,
4443
stdio: 'inherit',
@@ -47,10 +46,22 @@ async function main() {
4746
if (result.code !== 0) {
4847
throw new Error(`Index loader build failed with exit code ${result.code}`)
4948
}
50-
logger.log(`${colors.green('✓')} Built index loader`)
49+
logger.success('Built index loader')
50+
51+
// Build shadow npm inject.
52+
logger.info('Building shadow npm inject...')
53+
result = await spawn('node', ['.config/esbuild.inject.config.mjs'], {
54+
shell: WIN32,
55+
stdio: 'inherit',
56+
cwd: rootPath,
57+
})
58+
if (result.code !== 0) {
59+
throw new Error(`Shadow npm inject build failed with exit code ${result.code}`)
60+
}
61+
logger.success('Built shadow npm inject')
5162

5263
// Compress CLI.
53-
logger.log(`${colors.blue('ℹ')} Compressing CLI...`)
64+
logger.info('Compressing CLI...')
5465
result = await spawn('node', ['scripts/compress-cli.mjs'], {
5566
shell: WIN32,
5667
stdio: 'inherit',
@@ -59,17 +70,17 @@ async function main() {
5970
if (result.code !== 0) {
6071
throw new Error(`CLI compression failed with exit code ${result.code}`)
6172
}
62-
logger.log(`${colors.green('✓')} Compressed CLI`)
73+
logger.success('Compressed CLI')
6374

6475
// Copy data directory from packages/cli.
65-
logger.log(`${colors.blue('ℹ')} Copying data/ from packages/cli...`)
76+
logger.info('Copying data/ from packages/cli...')
6677
await fs.cp(path.join(cliPath, 'data'), path.join(rootPath, 'data'), {
6778
recursive: true,
6879
})
69-
logger.log(`${colors.green('✓')} Copied data/`)
80+
logger.success('Copied data/')
7081

7182
// Copy files from repo root.
72-
logger.log(`${colors.blue('ℹ')} Copying files from repo root...`)
83+
logger.info('Copying files from repo root...')
7384
const filesToCopy = [
7485
'CHANGELOG.md',
7586
'LICENSE',
@@ -79,7 +90,7 @@ async function main() {
7990
for (const file of filesToCopy) {
8091
await fs.cp(path.join(repoRoot, file), path.join(rootPath, file))
8192
}
82-
logger.log(`${colors.green('✓')} Copied files from repo root`)
93+
logger.success('Copied files from repo root')
8394
} catch (error) {
8495
logger.error(`Build failed: ${error.message}`)
8596
process.exitCode = 1

0 commit comments

Comments
 (0)