From 5f3a219e14c27bb2e3a305f8c9170aaca3220be1 Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Sat, 26 May 2018 19:36:41 +0200 Subject: [PATCH 1/3] Fixed Prettier Config Applying + Updated Prettier to newest version --- package.json | 2 +- scripts/frontend/prettier.js | 38 ++++++++++++++++++------------------ yarn.lock | 18 +++-------------- 3 files changed, 23 insertions(+), 35 deletions(-) diff --git a/package.json b/package.json index 4e1ca905ee8..6a52af10dc3 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,7 @@ "karma-sourcemap-loader": "^0.3.7", "karma-webpack": "3.0.0", "nodemon": "^1.17.3", - "prettier": "1.11.1", + "prettier": "1.12.1", "webpack-dev-server": "^3.1.4" } } diff --git a/scripts/frontend/prettier.js b/scripts/frontend/prettier.js index 39de77bc333..4979ec3c409 100644 --- a/scripts/frontend/prettier.js +++ b/scripts/frontend/prettier.js @@ -73,12 +73,12 @@ if (!files.length) { console.log(`${shouldSave ? 'Updating' : 'Checking'} ${files.length} file(s)`); -prettier - .resolveConfig('.') - .then(options => { - console.log('Found options : ', options); - files.forEach(file => { - try { + +files.forEach(file => { + try { + prettier + .resolveConfig(file) + .then(options => { const fileExtension = file.split('.').pop(); Object.assign(options, { parser: config.parsers[fileExtension], @@ -101,17 +101,17 @@ prettier } console.log(`Prettify Manually : ${file}`); } - } catch (error) { - didError = true; - console.log(`\n\nError with ${file}: ${error.message}`); - } - }); + }) + .catch(e => { + console.log(`Error on loading the Config File: ${e.message}`); + process.exit(1); + }); + } catch (error) { + didError = true; + console.log(`\n\nError with ${file}: ${error.message}`); + } +}); - if (didWarn || didError) { - process.exit(1); - } - }) - .catch(e => { - console.log(`Error on loading the Config File: ${e.message}`); - process.exit(1); - }); +if (didWarn || didError) { + process.exit(1); +} diff --git a/yarn.lock b/yarn.lock index 65d78173a5b..cefd7c9a62e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -270,11 +270,7 @@ acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -acorn@^5.0.0, acorn@^5.3.0: - version "5.5.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" - -acorn@^5.5.0: +acorn@^5.0.0, acorn@^5.3.0, acorn@^5.5.0: version "5.6.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.6.2.tgz#b1da1d7be2ac1b4a327fb9eab851702c5045b4e7" @@ -4002,14 +3998,10 @@ icss-utils@^2.1.0: dependencies: postcss "^6.0.1" -ieee754@^1.1.11: +ieee754@^1.1.11, ieee754@^1.1.4: version "1.1.11" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.11.tgz#c16384ffe00f5b7835824e67b6f2bd44a5229455" -ieee754@^1.1.4: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" - iferr@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" @@ -6247,11 +6239,7 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.11.1.tgz#61e43fc4cd44e68f2b0dfc2c38cd4bb0fccdcc75" - -prettier@^1.11.1: +prettier@1.12.1, prettier@^1.11.1: version "1.12.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.12.1.tgz#c1ad20e803e7749faf905a409d2367e06bbe7325" From 930baeb92af0dbd97931f8308dec6664819863dc Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Sat, 26 May 2018 20:01:02 +0200 Subject: [PATCH 2/3] Added possibility to run prettier against one specific directory to make our conversion easier --- doc/development/new_fe_guide/style/prettier.md | 14 ++++++++++++++ scripts/frontend/prettier.js | 12 +++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/doc/development/new_fe_guide/style/prettier.md b/doc/development/new_fe_guide/style/prettier.md index eb18189282b..6395af6f815 100644 --- a/doc/development/new_fe_guide/style/prettier.md +++ b/doc/development/new_fe_guide/style/prettier.md @@ -43,3 +43,17 @@ yarn prettier-all-save Formats all files in the repository with Prettier. (This should only be used to test global rule updates otherwise you would end up with huge MR's). The source of these Yarn scripts can be found in `/scripts/frontend/prettier.js`. + +### Scripts during Conversion period + +``` +node ./scripts/frontend/prettier.js check ./vendor/ +``` + +This will go over all files in a specific folder check it. + +``` +node ./scripts/frontend/prettier.js save ./vendor/ +``` + +This will go over all files in a specific folder and save it. diff --git a/scripts/frontend/prettier.js b/scripts/frontend/prettier.js index 4979ec3c409..8304edcecec 100644 --- a/scripts/frontend/prettier.js +++ b/scripts/frontend/prettier.js @@ -9,6 +9,8 @@ const getStagedFiles = require('./frontend_script_utils').getStagedFiles; const mode = process.argv[2] || 'check'; const shouldSave = mode === 'save' || mode === 'save-all'; const allFiles = mode === 'check-all' || mode === 'save-all'; +let dirPath = process.argv[3] || ''; +if (dirPath.charAt(dirPath.length-1) !== '/') dirPath += '/'; const config = { patterns: ['**/*.js', '**/*.vue', '**/*.scss'], @@ -39,9 +41,9 @@ prettierIgnore.add( const availableExtensions = Object.keys(config.parsers); -console.log(`Loading ${allFiles ? 'All' : 'Staged'} Files ...`); +console.log(`Loading ${allFiles ? 'All' : 'Selected'} Files ...`); -const stagedFiles = allFiles ? null : getStagedFiles(availableExtensions.map(ext => `*.${ext}`)); +const stagedFiles = allFiles || dirPath ? null : getStagedFiles(availableExtensions.map(ext => `*.${ext}`)); if (stagedFiles) { if (!stagedFiles.length || (stagedFiles.length === 1 && !stagedFiles[0])) { @@ -60,6 +62,11 @@ if (allFiles) { const patterns = config.patterns; const globPattern = patterns.length > 1 ? `{${patterns.join(',')}}` : `${patterns.join(',')}`; files = glob.sync(globPattern, { ignore }).filter(f => allFiles || stagedFiles.includes(f)); +} else if (dirPath) { + const ignore = config.ignore; + const patterns = config.patterns.map((item) => {return dirPath + item;}); + const globPattern = patterns.length > 1 ? `{${patterns.join(',')}}` : `${patterns.join(',')}`; + files = glob.sync(globPattern, { ignore }); } else { files = stagedFiles.filter(f => availableExtensions.includes(f.split('.').pop())); } @@ -73,7 +80,6 @@ if (!files.length) { console.log(`${shouldSave ? 'Updating' : 'Checking'} ${files.length} file(s)`); - files.forEach(file => { try { prettier From e04dfff85805f9282b8edbb25e6f61c8dbee8366 Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Thu, 14 Jun 2018 20:03:14 +0200 Subject: [PATCH 3/3] Fixed the searching on the whole disk :-P --- scripts/frontend/prettier.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/frontend/prettier.js b/scripts/frontend/prettier.js index 8304edcecec..6e4e36b9b2d 100644 --- a/scripts/frontend/prettier.js +++ b/scripts/frontend/prettier.js @@ -10,7 +10,7 @@ const mode = process.argv[2] || 'check'; const shouldSave = mode === 'save' || mode === 'save-all'; const allFiles = mode === 'check-all' || mode === 'save-all'; let dirPath = process.argv[3] || ''; -if (dirPath.charAt(dirPath.length-1) !== '/') dirPath += '/'; +if (dirPath && dirPath.charAt(dirPath.length - 1) !== '/') dirPath += '/'; const config = { patterns: ['**/*.js', '**/*.vue', '**/*.scss'], @@ -43,7 +43,8 @@ const availableExtensions = Object.keys(config.parsers); console.log(`Loading ${allFiles ? 'All' : 'Selected'} Files ...`); -const stagedFiles = allFiles || dirPath ? null : getStagedFiles(availableExtensions.map(ext => `*.${ext}`)); +const stagedFiles = + allFiles || dirPath ? null : getStagedFiles(availableExtensions.map(ext => `*.${ext}`)); if (stagedFiles) { if (!stagedFiles.length || (stagedFiles.length === 1 && !stagedFiles[0])) { @@ -64,7 +65,9 @@ if (allFiles) { files = glob.sync(globPattern, { ignore }).filter(f => allFiles || stagedFiles.includes(f)); } else if (dirPath) { const ignore = config.ignore; - const patterns = config.patterns.map((item) => {return dirPath + item;}); + const patterns = config.patterns.map(item => { + return dirPath + item; + }); const globPattern = patterns.length > 1 ? `{${patterns.join(',')}}` : `${patterns.join(',')}`; files = glob.sync(globPattern, { ignore }); } else {