Add bin/balena* scripts to linter paths

Change-type: patch
This commit is contained in:
Paulo Castro 2020-10-02 23:56:32 +01:00
parent c85acbd90b
commit 2974c203b5
3 changed files with 24 additions and 13 deletions

View File

@ -1,5 +1,7 @@
#!/usr/bin/env node #!/usr/bin/env node
// tslint:disable:no-var-requires
// We boost the threadpool size as ext2fs can deadlock with some // We boost the threadpool size as ext2fs can deadlock with some
// operations otherwise, if the pool runs out. // operations otherwise, if the pool runs out.
process.env.UV_THREADPOOL_SIZE = '64'; process.env.UV_THREADPOOL_SIZE = '64';
@ -10,7 +12,7 @@ process.env.OCLIF_TS_NODE = 0;
// Use fast-boot to cache require lookups, speeding up startup // Use fast-boot to cache require lookups, speeding up startup
require('fast-boot2').start({ require('fast-boot2').start({
cacheScope: __dirname + '/..', cacheScope: __dirname + '/..',
cacheFile: __dirname + '/.fast-boot.json' cacheFile: __dirname + '/.fast-boot.json',
}); });
// Set the desired es version for downstream modules that support it // Set the desired es version for downstream modules that support it

View File

@ -5,19 +5,24 @@
// Before opening a PR you should build and test your changes using bin/balena // Before opening a PR you should build and test your changes using bin/balena
// **************************************************************************** // ****************************************************************************
// tslint:disable:no-var-requires
// We boost the threadpool size as ext2fs can deadlock with some // We boost the threadpool size as ext2fs can deadlock with some
// operations otherwise, if the pool runs out. // operations otherwise, if the pool runs out.
process.env.UV_THREADPOOL_SIZE = '64'; process.env.UV_THREADPOOL_SIZE = '64';
const path = require('path');
const rootDir = path.join(__dirname, '..');
// Allow balena-dev to work with oclif by temporarily // Allow balena-dev to work with oclif by temporarily
// pointing oclif config options to lib/ instead of build/ // pointing oclif config options to lib/ instead of build/
modifyOclifPaths(); modifyOclifPaths();
// Undo changes on exit // Undo changes on exit
process.on('exit', function() { process.on('exit', function () {
modifyOclifPaths(true); modifyOclifPaths(true);
}); });
// Undo changes in case of ctrl-v // Undo changes in case of ctrl-v
process.on('SIGINT', function() { process.on('SIGINT', function () {
modifyOclifPaths(true); modifyOclifPaths(true);
}); });
@ -30,8 +35,6 @@ require('fast-boot2').start({
// Set the desired es version for downstream modules that support it // Set the desired es version for downstream modules that support it
require('@balena/es-version').set('es2018'); require('@balena/es-version').set('es2018');
const path = require('path');
const rootDir = path.join(__dirname, '..');
// Note: before ts-node v6.0.0, 'transpile-only' (no type checking) was the // Note: before ts-node v6.0.0, 'transpile-only' (no type checking) was the
// default option. We upgraded ts-node and found that adding 'transpile-only' // default option. We upgraded ts-node and found that adding 'transpile-only'
// was necessary to avoid a mysterious 'null' error message. On the plus side, // was necessary to avoid a mysterious 'null' error message. On the plus side,
@ -46,20 +49,26 @@ require('../lib/app').run();
// Modify package.json oclif paths from build/ -> lib/, or vice versa // Modify package.json oclif paths from build/ -> lib/, or vice versa
function modifyOclifPaths(revert) { function modifyOclifPaths(revert) {
const fs = require('fs'); const fs = require('fs');
const path = './package.json'; const packageJsonPath = path.join(rootDir, 'package.json');
const packageJson = fs.readFileSync(path, 'utf8'); const packageJson = fs.readFileSync(packageJsonPath, 'utf8');
const packageObj = JSON.parse(packageJson); const packageObj = JSON.parse(packageJson);
if(!packageObj.oclif) { return; } if (!packageObj.oclif) {
return;
}
let oclifSectionText = JSON.stringify(packageObj.oclif); let oclifSectionText = JSON.stringify(packageObj.oclif);
if(!revert) { if (!revert) {
oclifSectionText = oclifSectionText.replace(/build/g, 'lib') oclifSectionText = oclifSectionText.replace(/\/build\//g, '/lib/');
} else { } else {
oclifSectionText = oclifSectionText.replace(/lib/g, 'build') oclifSectionText = oclifSectionText.replace(/\/lib\//g, '/build/');
} }
packageObj.oclif = JSON.parse(oclifSectionText); packageObj.oclif = JSON.parse(oclifSectionText);
fs.writeFileSync(path, `${JSON.stringify(packageObj, null, 2)}\n`, 'utf8'); fs.writeFileSync(
packageJsonPath,
`${JSON.stringify(packageObj, null, 2)}\n`,
'utf8',
);
} }

View File

@ -67,7 +67,7 @@
"catch-uncommitted": "ts-node --transpile-only automation/run.ts catch-uncommitted", "catch-uncommitted": "ts-node --transpile-only automation/run.ts catch-uncommitted",
"ci": "npm run test && npm run catch-uncommitted", "ci": "npm run test && npm run catch-uncommitted",
"watch": "gulp watch", "watch": "gulp watch",
"lint": "balena-lint -e ts -e js --typescript --fix automation/ lib/ typings/ tests/ gulpfile.js", "lint": "balena-lint -e ts -e js --typescript --fix automation/ lib/ typings/ tests/ bin/balena bin/balena-dev gulpfile.js",
"update": "ts-node --transpile-only ./automation/update-module.ts", "update": "ts-node --transpile-only ./automation/update-module.ts",
"prepare": "echo {} > bin/.fast-boot.json", "prepare": "echo {} > bin/.fast-boot.json",
"prepublishOnly": "npm run build" "prepublishOnly": "npm run build"