From d05adf0313c909d88d921b15b3e92b2e1fafe536 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Mon, 22 Nov 2021 11:21:49 -0300 Subject: [PATCH 1/3] Always ignore prettier errors on `jhipster upgrade`. --- cli/import-jdl.js | 1 + cli/program.js | 1 + generators/bootstrap/index.js | 3 ++- generators/upgrade/index.js | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cli/import-jdl.js b/cli/import-jdl.js index 68022574187..0bdbe1702d0 100644 --- a/cli/import-jdl.js +++ b/cli/import-jdl.js @@ -158,6 +158,7 @@ function runGenerator(command, { cwd, fork, env }, generatorOptions = {}) { forceNoFiltering: undefined, unidirectionalRelationships: undefined, localConfigOnly: undefined, + commandName: undefined, fromJdl: true, }; diff --git a/cli/program.js b/cli/program.js index a994dcac4c1..c9c2e39dd80 100644 --- a/cli/program.js +++ b/cli/program.js @@ -168,6 +168,7 @@ const buildCommands = ({ program, commands = {}, envBuilder, env, loadCommand }) const options = { ...program.opts(), ...cmdOptions, + commandName: cmdName, }; if (options.installPath) { // eslint-disable-next-line no-console diff --git a/generators/bootstrap/index.js b/generators/bootstrap/index.js index ac90e4dd390..6ddf7fbbe8f 100644 --- a/generators/bootstrap/index.js +++ b/generators/bootstrap/index.js @@ -188,7 +188,8 @@ module.exports = class extends BaseGenerator { if (!skipPrettier) { const prettierOptions = { packageJson: true, java: !this.skipServer && !this.jhipsterConfig.skipServer }; // Prettier is clever, it uses correct rules and correct parser according to file extension. - transformStreams.push(prettierTransform(prettierOptions, this, this.options.ignoreErrors)); + const ignoreErrors = this.options.commandName === 'upgrade' || this.options.ignoreErrors; + transformStreams.push(prettierTransform(prettierOptions, this, ignoreErrors)); } transformStreams.push(createConflicterCheckTransform(this.env.conflicter, conflicterStatus), createConflicterStatusTransform()); diff --git a/generators/upgrade/index.js b/generators/upgrade/index.js index ea8d0a6f9d9..befb84995c1 100644 --- a/generators/upgrade/index.js +++ b/generators/upgrade/index.js @@ -164,7 +164,7 @@ module.exports = class extends BaseGenerator { generatorCommand = `"${generatorDir.replace('\n', '')}/jhipster"`; } const skipChecksOption = this.skipChecks ? '--skip-checks' : ''; - const regenerateCmd = `${generatorCommand} --with-entities --force --skip-install --skip-git --no-insight ${skipChecksOption}`; + const regenerateCmd = `${generatorCommand} --with-entities --force --skip-install --skip-git --ignore-errors --no-insight ${skipChecksOption}`; this.info(regenerateCmd); try { childProcess.execSync(regenerateCmd, { stdio: 'inherit' }); From 7447fa2a525d26a179cf7517cdb6dd428faf6590 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Mon, 22 Nov 2021 11:27:56 -0300 Subject: [PATCH 2/3] Improve prettier transform error handling --- generators/generator-transforms.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/generators/generator-transforms.js b/generators/generator-transforms.js index 6cec52981f9..620eaeba63a 100644 --- a/generators/generator-transforms.js +++ b/generators/generator-transforms.js @@ -36,6 +36,9 @@ const prettierTransform = function (options, generator, transformOptions = {}) { if (isFileStateDeleted(file)) { return file; } + if (!file.contents) { + throw new Error(`File content doesn't exit for ${file.relative}`); + } /* resolve from the projects config */ let fileContent; try { @@ -58,12 +61,17 @@ const prettierTransform = function (options, generator, transformOptions = {}) { file.contents = Buffer.from(data); return file; } catch (error) { - const errorMessage = `Error parsing file ${file.relative}: ${error} + let errorMessage; + if (fileContent) { + errorMessage = `Error parsing file ${file.relative}: ${error} At: ${fileContent - .split('\n') - .map((value, idx) => `${idx + 1}: ${value}`) - .join('\n')}`; + .split('\n') + .map((value, idx) => `${idx + 1}: ${value}`) + .join('\n')}`; + } else { + errorMessage = `Unknown prettier error: ${error}`; + } if (ignoreErrors) { generator.warning(errorMessage); return file; From 19371833e5e0ec7db638f7c6c88f50b7f8eb6941 Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Mon, 22 Nov 2021 19:24:40 -0300 Subject: [PATCH 3/3] Fix typo --- generators/generator-transforms.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generators/generator-transforms.js b/generators/generator-transforms.js index 620eaeba63a..916cedb2a10 100644 --- a/generators/generator-transforms.js +++ b/generators/generator-transforms.js @@ -37,7 +37,7 @@ const prettierTransform = function (options, generator, transformOptions = {}) { return file; } if (!file.contents) { - throw new Error(`File content doesn't exit for ${file.relative}`); + throw new Error(`File content doesn't exist for ${file.relative}`); } /* resolve from the projects config */ let fileContent;