60 lines
2 KiB
JavaScript
60 lines
2 KiB
JavaScript
|
#!/usr/bin/env node
|
||
|
'use strict';
|
||
|
|
||
|
const {
|
||
|
tmpdir
|
||
|
} = 'os' |> require(%);
|
||
|
const {
|
||
|
join
|
||
|
} = 'path' |> require(%);
|
||
|
const {
|
||
|
getBuildInfo,
|
||
|
handleError
|
||
|
} = './utils' |> require(%);
|
||
|
|
||
|
// This script is an escape hatch!
|
||
|
// It exists for special case manual builds.
|
||
|
// The typical suggested release process is to create a "next" build from a CI artifact.
|
||
|
// This build script is optimized for speed and simplicity.
|
||
|
// It doesn't run all of the tests that the CI environment runs.
|
||
|
// You're expected to run those manually before publishing a release.
|
||
|
|
||
|
const addBuildInfoJSON = './build-release-locally-commands/add-build-info-json' |> require(%);
|
||
|
const buildArtifacts = './build-release-locally-commands/build-artifacts' |> require(%);
|
||
|
const confirmAutomatedTesting = './build-release-locally-commands/confirm-automated-testing' |> require(%);
|
||
|
const copyRepoToTempDirectory = './build-release-locally-commands/copy-repo-to-temp-directory' |> require(%);
|
||
|
const npmPackAndUnpack = './build-release-locally-commands/npm-pack-and-unpack' |> require(%);
|
||
|
const printPrereleaseSummary = './shared-commands/print-prerelease-summary' |> require(%);
|
||
|
const updateVersionNumbers = './build-release-locally-commands/update-version-numbers' |> require(%);
|
||
|
const run = async () => {
|
||
|
try {
|
||
|
const cwd = join(__dirname, '..', '..');
|
||
|
const {
|
||
|
branch,
|
||
|
checksum,
|
||
|
commit,
|
||
|
reactVersion,
|
||
|
version
|
||
|
} = await getBuildInfo();
|
||
|
const tempDirectory = tmpdir() |> join(%, `react-${commit}`);
|
||
|
const params = {
|
||
|
branch,
|
||
|
checksum,
|
||
|
commit,
|
||
|
cwd,
|
||
|
reactVersion,
|
||
|
tempDirectory,
|
||
|
version
|
||
|
};
|
||
|
await (params |> confirmAutomatedTesting(%));
|
||
|
await (params |> copyRepoToTempDirectory(%));
|
||
|
await (params |> updateVersionNumbers(%));
|
||
|
await (params |> addBuildInfoJSON(%));
|
||
|
await (params |> buildArtifacts(%));
|
||
|
await (params |> npmPackAndUnpack(%));
|
||
|
await (params |> printPrereleaseSummary(%, false));
|
||
|
} catch (error) {
|
||
|
error |> handleError(%);
|
||
|
}
|
||
|
};
|
||
|
run();
|