Find the cost of adding an npm package to your app's bundle size teardown.kelinci.dev
14
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore: fmt

Mary dcc176b6 164b6ccb

+12 -32
+4 -14
src/npm/lib/fetch.test.ts
··· 21 21 expect(json.name).toBe('is-odd'); 22 22 23 23 // verify dependency (is-number) 24 - const isNumberPackageJson = volume.readFileSync( 25 - '/node_modules/is-number/package.json', 26 - 'utf8', 27 - ); 24 + const isNumberPackageJson = volume.readFileSync('/node_modules/is-number/package.json', 'utf8'); 28 25 expect(isNumberPackageJson).toBeDefined(); 29 26 }); 30 27 ··· 45 42 const volume = new Volume(); 46 43 await fetchPackagesToVolume(hoisted, volume); 47 44 48 - const packageJson = volume.readFileSync( 49 - '/node_modules/@babel/parser/package.json', 50 - 'utf8', 51 - ); 45 + const packageJson = volume.readFileSync('/node_modules/@babel/parser/package.json', 'utf8'); 52 46 const json = JSON.parse(packageJson as string); 53 47 expect(json.name).toBe('@babel/parser'); 54 48 }); ··· 69 63 70 64 // is-number@6 nested under is-odd 71 65 const files = volume.toJSON(); 72 - const nestedIsNumber = Object.keys(files).find((p) => 73 - p.includes('/is-odd/node_modules/is-number/'), 74 - ); 66 + const nestedIsNumber = Object.keys(files).find((p) => p.includes('/is-odd/node_modules/is-number/')); 75 67 expect(nestedIsNumber).toBeDefined(); 76 68 }); 77 69 }); ··· 222 214 }); 223 215 224 216 it('matches dot directories', () => { 225 - expect(DEFAULT_EXCLUDE_PATTERNS.some((p) => p.test('.github/workflows/ci.yml'))).toBe( 226 - true, 227 - ); 217 + expect(DEFAULT_EXCLUDE_PATTERNS.some((p) => p.test('.github/workflows/ci.yml'))).toBe(true); 228 218 expect(DEFAULT_EXCLUDE_PATTERNS.some((p) => p.test('.vscode/settings.json'))).toBe(true); 229 219 }); 230 220 });
+3 -3
src/npm/lib/hoist.test.ts
··· 190 190 const paths = hoistedToPaths(result); 191 191 192 192 expect(result.root.get('C')?.version).toBe('2.0.0'); 193 - expect( 194 - paths.some((p) => p.includes('/B/node_modules/C') || p.includes('/A/node_modules/C')), 195 - ).toBe(true); 193 + expect(paths.some((p) => p.includes('/B/node_modules/C') || p.includes('/A/node_modules/C'))).toBe( 194 + true, 195 + ); 196 196 }); 197 197 }); 198 198
+5 -15
src/npm/lib/resolve.test.ts
··· 356 356 '1.0.0-alpha.1': manifest('1.0.0-alpha.1'), 357 357 '1.0.0': manifest('1.0.0'), 358 358 }; 359 - expect(pickVersion(versions, { latest: '1.0.0' }, '>=1.0.0-alpha.1')?.version).toBe( 360 - '1.0.0', 361 - ); 359 + expect(pickVersion(versions, { latest: '1.0.0' }, '>=1.0.0-alpha.1')?.version).toBe('1.0.0'); 362 360 }); 363 361 364 362 it('matches explicit prerelease version', () => { ··· 366 364 '1.0.0-beta.1': manifest('1.0.0-beta.1'), 367 365 '1.0.0-beta.2': manifest('1.0.0-beta.2'), 368 366 }; 369 - expect(pickVersion(versions, { latest: '1.0.0-beta.2' }, '1.0.0-beta.1')?.version).toBe( 370 - '1.0.0-beta.1', 371 - ); 367 + expect(pickVersion(versions, { latest: '1.0.0-beta.2' }, '1.0.0-beta.1')?.version).toBe('1.0.0-beta.1'); 372 368 }); 373 369 374 370 it('matches prerelease range correctly', () => { ··· 388 384 '1.0.0-beta.1': manifest('1.0.0-beta.1'), 389 385 '1.0.0-rc.1': manifest('1.0.0-rc.1'), 390 386 }; 391 - expect( 392 - pickVersion(versions, { latest: '1.0.0-rc.1' }, '>=1.0.0-alpha.1')?.version, 393 - ).toBe('1.0.0-rc.1'); 387 + expect(pickVersion(versions, { latest: '1.0.0-rc.1' }, '>=1.0.0-alpha.1')?.version).toBe('1.0.0-rc.1'); 394 388 }); 395 389 396 390 it('uses latest tag with wildcard when all versions are prerelease', () => { ··· 399 393 '1.0.0-beta.1': manifest('1.0.0-beta.1'), 400 394 }; 401 395 // * with all prereleases should respect latest tag (pnpm/npm behavior) 402 - expect(pickVersion(versions, { latest: '1.0.0-alpha.1' }, '*')?.version).toBe( 403 - '1.0.0-alpha.1', 404 - ); 396 + expect(pickVersion(versions, { latest: '1.0.0-alpha.1' }, '*')?.version).toBe('1.0.0-alpha.1'); 405 397 }); 406 398 407 399 it('picks prerelease with wildcard when only prereleases exist', () => { 408 400 const versions = { 409 401 '1.0.0-alpha.1': manifest('1.0.0-alpha.1'), 410 402 }; 411 - expect(pickVersion(versions, { latest: '1.0.0-alpha.1' }, '*')?.version).toBe( 412 - '1.0.0-alpha.1', 413 - ); 403 + expect(pickVersion(versions, { latest: '1.0.0-alpha.1' }, '*')?.version).toBe('1.0.0-alpha.1'); 414 404 }); 415 405 }); 416 406 });