aboutsummaryrefslogtreecommitdiff
path: root/packages/bun-polyfills/tools/updateversions.ts
blob: bf838ac55c78ffb3976ecac4de82247c504bd6ce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import path from 'path';

const abort = (...msg: string[]): never => (console.error(...msg), process.exit(1));

const makefilePath = path.resolve(import.meta.dir, '../../../Makefile');
const makefile = Bun.file(makefilePath);
if (!await makefile.exists()) abort('Makefile not found at', makefilePath);

const makefileContent = await makefile.text();
const matched = makefileContent.match(/^BUN_BASE_VERSION\s*=\s*(\d+.\d+)/m);
if (!matched) abort('Could not find BUN_BASE_VERSION in Makefile');

const buildidPath = path.resolve(import.meta.dir, '../../../src/build-id');
const buildid = Bun.file(buildidPath);
if (!await buildid.exists()) abort('Build ID file not found at', buildidPath);

const [, BUN_BASE_VERSION] = matched!;
const BUN_VERSION = `${BUN_BASE_VERSION}.${await buildid.text()}`.trim();

const bunTsPath = path.resolve(import.meta.dir, '../src/modules/bun.ts');
const bunTs = Bun.file(bunTsPath);
if (!await bunTs.exists()) abort('bun.ts source file not found at', bunTsPath);

const bunTsContent = await bunTs.text();
const bunTsContentNew = bunTsContent.replace(
    /^export const version = '.+' satisfies typeof Bun.version;$/m,
    `export const version = '${BUN_VERSION}' satisfies typeof Bun.version;`
);
if (bunTsContentNew !== bunTsContent) console.info('Updated Bun.version polyfill to', BUN_VERSION);

const git = Bun.spawnSync({ cmd: ['git', 'rev-parse', 'HEAD'] });
if (!git.success) abort('Could not get git HEAD commit hash');
const BUN_REVISION = git.stdout.toString('utf8').trim();

const bunTsContentNewer = bunTsContentNew.replace(
    /^export const revision = '.+' satisfies typeof Bun.revision;$/m,
    `export const revision = '${BUN_REVISION}' satisfies typeof Bun.revision;`
);
if (bunTsContentNewer !== bunTsContentNew) console.info('Updated Bun.revision polyfill to', BUN_REVISION);

Bun.write(bunTs, bunTsContentNewer);
)Gravatar Matthew Phillips 3-5/+9 2021-11-19Version Packages (next) (#1904)astro@0.21.0-next.9Gravatar github-actions[bot] 23-21/+30 2021-11-19Remove OSX \x00 workaround (#1901)Gravatar Matthew Phillips 2-5/+5 2021-11-19Resolve vite client modules to vendored vite (#1903)Gravatar Matthew Phillips 2-2/+7 2021-11-19[ci] yarn formatGravatar matthewp 1-3/+3 2021-11-19Add Debug tests (#1882)Gravatar Matthew Phillips 4-0/+62 2021-11-19[ci] collect statsGravatar FredKSchott 1-0/+1 2021-11-19Version Packages (next) (#1881)astro@0.21.0-next.8@astrojs/renderer-vue@0.2.0-next.2Gravatar github-actions[bot] 25-23/+42 2021-11-18Improve HMR (#1896)Gravatar Drew Powers 2-10/+18 2021-11-18update depsGravatar Fred K. Schott 5-352/+65 2021-11-18fix #1778Gravatar Fred K. Schott 2-1/+8 2021-11-18Update compiler (#1869)Gravatar Nate Moore 3-11/+6 2021-11-18remove unused remark dependency (#1894)Gravatar Fred K. Schott 2-245/+13 2021-11-18Improve error messages (#1875)Gravatar Drew Powers 39-61/+448 2021-11-18pin astro compiler to older versionGravatar Fred K. Schott 2-5/+5 2021-11-18Update yarn.lock to reflect the state of the package.json files (#1892)Gravatar Jonathan Neal 5-1300/+1000 2021-11-19[ci] yarn formatGravatar FredKSchott 1-5/+3