mirror of
https://github.com/laurent22/joplin.git
synced 2024-11-19 20:31:46 +02:00
Tools: Simplify root workspace build
This commit is contained in:
parent
eca0f92dff
commit
5c2640f88f
48
gulpfile.js
48
gulpfile.js
@ -1,24 +1,52 @@
|
|||||||
const gulp = require('gulp');
|
const gulp = require('gulp');
|
||||||
const { execCommand } = require('@joplin/utils');
|
const execa = require('execa');
|
||||||
|
const { stdout } = require('process');
|
||||||
|
|
||||||
|
const execCommand = async (executableName, args, options = null) => {
|
||||||
|
options = {
|
||||||
|
showInput: true,
|
||||||
|
showStdout: true,
|
||||||
|
showStderr: true,
|
||||||
|
quiet: false,
|
||||||
|
...options,
|
||||||
|
};
|
||||||
|
|
||||||
|
if (options.quiet) {
|
||||||
|
options.showInput = false;
|
||||||
|
options.showStdout = false;
|
||||||
|
options.showStderr = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (options.showInput) {
|
||||||
|
stdout.write(`> ${executableName} ${args.join(' ')}\n`);
|
||||||
|
}
|
||||||
|
|
||||||
|
const promise = execa(executableName, args);
|
||||||
|
if (options.showStdout && promise.stdout) promise.stdout.pipe(process.stdout);
|
||||||
|
if (options.showStderr && promise.stderr) promise.stderr.pipe(process.stderr);
|
||||||
|
const result = await promise;
|
||||||
|
return result.stdout.trim();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
const tasks = {
|
const tasks = {
|
||||||
completePublishAll: {
|
completePublishAll: {
|
||||||
fn: async () => {
|
fn: async () => {
|
||||||
await execCommand(['git', 'add', '-A']);
|
await execCommand('git', ['add', '-A']);
|
||||||
await execCommand(['git', 'commit', '-m', 'Releasing sub-packages']);
|
await execCommand('git', ['commit', '-m', 'Releasing sub-packages']);
|
||||||
|
|
||||||
// Lerna does some unnecessary auth check that doesn't work with
|
// Lerna does some unnecessary auth check that doesn't work with
|
||||||
// automation tokens, thus the --no-verify-access. Automation token
|
// automation tokens, thus the --no-verify-access. Automation token
|
||||||
// is still used for access when publishing even with this flag
|
// is still used for access when publishing even with this flag
|
||||||
// (publishing would fail otherwise).
|
// (publishing would fail otherwise).
|
||||||
// https://github.com/lerna/lerna/issues/2788
|
// https://github.com/lerna/lerna/issues/2788
|
||||||
await execCommand(['lerna', 'publish', 'from-package', '-y', '--no-verify-access']);
|
await execCommand('lerna', ['publish', 'from-package', '-y', '--no-verify-access']);
|
||||||
|
|
||||||
await execCommand(['yarn', 'install']);
|
await execCommand('yarn', ['install']);
|
||||||
await execCommand(['git', 'add', '-A']);
|
await execCommand('git', ['add', '-A']);
|
||||||
await execCommand(['git', 'commit', '-m', 'Lock file']);
|
await execCommand('git', ['commit', '-m', 'Lock file']);
|
||||||
|
|
||||||
await execCommand(['git', 'push']);
|
await execCommand('git', ['push']);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
build: {
|
build: {
|
||||||
@ -31,9 +59,9 @@ const tasks = {
|
|||||||
// faster, especially when having to rebuild after adding a
|
// faster, especially when having to rebuild after adding a
|
||||||
// dependency.
|
// dependency.
|
||||||
if (process.env.BUILD_SEQUENCIAL === '1') {
|
if (process.env.BUILD_SEQUENCIAL === '1') {
|
||||||
await execCommand(['yarn', 'run', 'buildSequential']);
|
await execCommand('yarn', ['run', 'buildSequential']);
|
||||||
} else {
|
} else {
|
||||||
await execCommand(['yarn', 'run', 'buildParallel']);
|
await execCommand('yarn', ['run', 'buildParallel']);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -75,6 +75,7 @@
|
|||||||
"eslint-plugin-jest": "27.2.1",
|
"eslint-plugin-jest": "27.2.1",
|
||||||
"eslint-plugin-promise": "6.1.1",
|
"eslint-plugin-promise": "6.1.1",
|
||||||
"eslint-plugin-react": "7.32.0",
|
"eslint-plugin-react": "7.32.0",
|
||||||
|
"execa": "5.1.1",
|
||||||
"fs-extra": "11.1.1",
|
"fs-extra": "11.1.1",
|
||||||
"glob": "8.1.0",
|
"glob": "8.1.0",
|
||||||
"gulp": "4.0.2",
|
"gulp": "4.0.2",
|
||||||
|
@ -38,7 +38,7 @@ export default async (command: string | string[], options: ExecCommandOptions |
|
|||||||
args.splice(0, 1);
|
args.splice(0, 1);
|
||||||
const promise = execa(executableName, args);
|
const promise = execa(executableName, args);
|
||||||
if (options.showStdout && promise.stdout) promise.stdout.pipe(process.stdout);
|
if (options.showStdout && promise.stdout) promise.stdout.pipe(process.stdout);
|
||||||
if (options.showStderr && promise.stdout) promise.stdout.pipe(process.stderr);
|
if (options.showStderr && promise.stderr) promise.stderr.pipe(process.stderr);
|
||||||
const result = await promise;
|
const result = await promise;
|
||||||
return result.stdout.trim();
|
return result.stdout.trim();
|
||||||
};
|
};
|
||||||
|
@ -28910,6 +28910,7 @@ __metadata:
|
|||||||
eslint-plugin-jest: 27.2.1
|
eslint-plugin-jest: 27.2.1
|
||||||
eslint-plugin-promise: 6.1.1
|
eslint-plugin-promise: 6.1.1
|
||||||
eslint-plugin-react: 7.32.0
|
eslint-plugin-react: 7.32.0
|
||||||
|
execa: 5.1.1
|
||||||
fs-extra: 11.1.1
|
fs-extra: 11.1.1
|
||||||
glob: 8.1.0
|
glob: 8.1.0
|
||||||
gulp: 4.0.2
|
gulp: 4.0.2
|
||||||
|
Loading…
Reference in New Issue
Block a user