mirror of
				https://github.com/strapi/strapi.git
				synced 2025-10-31 01:47:13 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  *
 | |
|  * Prettier config
 | |
|  */
 | |
| 
 | |
| const glob = require('glob');
 | |
| const prettier = require('prettier');
 | |
| const fs = require('fs');
 | |
| const listChangedFiles = require('../shared/listChangedFiles.js');
 | |
| const changedFiles = listChangedFiles();
 | |
| 
 | |
| let didError = false;
 | |
| 
 | |
| const files = glob
 | |
|   .sync('**/*.js', { ignore: '**/node_modules/**' })
 | |
|   .filter(f => changedFiles.has(f))
 | |
|   .filter(
 | |
|     package =>
 | |
|       !package.includes('CLI.md') &&
 | |
|       !package.includes('strapi-middleware-views') &&
 | |
|       !package.includes('strapi-lint') &&
 | |
|       !package.includes('strapi-plugin-settings-manager'),
 | |
|   );
 | |
| 
 | |
| const frontEndFiles = files
 | |
|   .filter(f => f.includes('/admin/src') || f.includes('/src/components'));
 | |
| 
 | |
| const backendFiles = files
 | |
|   .filter(f => !f.includes('/admin/src') && !f.includes('/src/components'));
 | |
| 
 | |
| if (!frontEndFiles.length) {
 | |
|   return;
 | |
| }
 | |
| 
 | |
| if (!backendFiles.length) {
 | |
|   return;
 | |
| }
 | |
| 
 | |
| const runPrettier = (files, isFront = true) => {
 | |
|   const prettierConfigFolder = isFront ? 'front' : 'back';
 | |
|   const prettierConfigPath = require.resolve(`./${prettierConfigFolder}/.prettierrc`);
 | |
| 
 | |
|   files.forEach(file => {
 | |
|     const options = prettier.resolveConfig.sync(file, {
 | |
|       config: prettierConfigPath
 | |
|     });
 | |
| 
 | |
|     try {
 | |
|       const input = fs.readFileSync(file, 'utf8');
 | |
|       const output = prettier.format(input, options);
 | |
| 
 | |
|       if (output !== input) {
 | |
|         fs.writeFileSync(file, output, 'utf8');
 | |
|       }
 | |
| 
 | |
|     } catch(err) {
 | |
|       didError = true;
 | |
|       console.log('\n\n' + err.message);
 | |
|       console.log(file);
 | |
|     }
 | |
|   });
 | |
| }
 | |
| 
 | |
| runPrettier(frontEndFiles);
 | |
| runPrettier(backendFiles);
 | |
| 
 | |
| if (didError) {
 | |
|   process.exit(1);
 | |
| }
 | 
