56 lines
1.8 KiB
JavaScript
56 lines
1.8 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
'use strict';
|
|
|
|
const chalk = require('chalk');
|
|
const {join, relative} = require('path');
|
|
const {getUnexecutedCommands} = require('../utils');
|
|
|
|
const CHANGELOG_PATH =
|
|
'https://github.com/facebook/react/edit/master/CHANGELOG.md';
|
|
|
|
module.exports = ({cwd, dry, path, version}) => {
|
|
const publishPath = relative(
|
|
process.env.PWD,
|
|
join(__dirname, '../publish.js')
|
|
);
|
|
const command =
|
|
`${publishPath} -v ${version}` +
|
|
(path ? ` -p ${path}` : '') +
|
|
(dry ? ' --dry' : '');
|
|
|
|
const packagingFixturesPath = join(cwd, 'fixtures/packaging');
|
|
const standaloneFixturePath = join(
|
|
cwd,
|
|
'fixtures/packaging/babel-standalone/dev.html'
|
|
);
|
|
|
|
console.log(
|
|
chalk`
|
|
{green.bold Build successful!}
|
|
${getUnexecutedCommands()}
|
|
Next there are a couple of manual steps:
|
|
|
|
{bold.underline Step 1: Update the CHANGELOG}
|
|
|
|
Here are a few things to keep in mind:
|
|
• The changes should be easy to understand. (Friendly one-liners are better than PR titles.)
|
|
• Make sure all contributors are credited.
|
|
• Verify that the markup is valid by previewing it in the editor: {blue.bold ${CHANGELOG_PATH}}
|
|
|
|
{bold.underline Step 2: Smoke test the packages}
|
|
|
|
1. Open {yellow.bold ${standaloneFixturePath}} in the browser.
|
|
2. It should say {italic "Hello world!"}
|
|
3. Next go to {yellow.bold ${packagingFixturesPath}} and run {bold node build-all.js}
|
|
4. Install the "serve" module ({bold npm install -g serve})
|
|
5. Go to the repo root and {bold serve -s .}
|
|
6. Open {blue.bold http://localhost:5000/fixtures/packaging}
|
|
7. Verify every iframe shows {italic "Hello world!"}
|
|
|
|
After completing the above steps, resume the release process by running:
|
|
{yellow.bold ${command}}
|
|
`.replace(/\n +/g, '\n')
|
|
);
|
|
};
|