Skip to content

Commit 9984535

Browse files
chore: format code
1 parent 0f6f97e commit 9984535

14 files changed

+86
-73
lines changed

.editorconfig

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
end_of_line = lf
2+
root = true

.eslintrc.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
module.exports = {
2+
"extends": [
3+
"react-app",
4+
"prettier/@typescript-eslint",
5+
"plugin:prettier/recommended"
6+
],
7+
"settings": {
8+
"react": {
9+
"version": "999.999.999"
10+
}
11+
}
12+
}

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@
3434
"printWidth": 80,
3535
"semi": true,
3636
"singleQuote": true,
37-
"trailingComma": "es5"
37+
"trailingComma": "es5",
38+
"endOfLine": "lf"
3839
},
3940
"module": "dist/generate-index-file.esm.js",
4041
"size-limit": [

src/generateIndexFromFiles.ts

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
import path from 'path';
22

3-
import {
4-
getFileList,
5-
isFile,
6-
} from './utils'
3+
import { getFileList, isFile } from './utils';
74

85
function generateIndexFromFiles(srcFolder: string): string {
96
const fileList = getFileList(srcFolder);
@@ -12,11 +9,11 @@ function generateIndexFromFiles(srcFolder: string): string {
129
.filter(isFile)
1310
.filter(filepath => {
1411
const filename = path.basename(filepath);
15-
return filename !== 'index.ts' && filename !== 'index.tsx'
12+
return filename !== 'index.ts' && filename !== 'index.tsx';
1613
});
1714

1815
const indexContentArr = files.map((filePath: string) => {
19-
const filename = path.basename(filePath)
16+
const filename = path.basename(filePath);
2017
const isTsxExtension = filename.includes('.tsx');
2118
const name = filename.split(isTsxExtension ? '.tsx' : '.ts')[0];
2219

@@ -26,4 +23,4 @@ function generateIndexFromFiles(srcFolder: string): string {
2623
return indexContentArr.join('');
2724
}
2825

29-
export default generateIndexFromFiles
26+
export default generateIndexFromFiles;

src/generateIndexFromFolders.ts

+6-10
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
import fs from 'fs';
2-
import path from 'path'
2+
import path from 'path';
33

4-
import {
5-
getFileList,
6-
isDirectory,
7-
folderIncludesIndexFile,
8-
} from './utils'
4+
import { getFileList, isDirectory, folderIncludesIndexFile } from './utils';
95

106
export function generateIndexFromFolders(srcFolder: string): string {
117
const fileList = getFileList(srcFolder);
@@ -17,15 +13,15 @@ export function generateIndexFromFolders(srcFolder: string): string {
1713
const indexContentArr = folders.map((folderPath: string) => {
1814
const files = fs.readdirSync(folderPath);
1915

20-
const currentFolder = path.basename(folderPath)
16+
const currentFolder = path.basename(folderPath);
2117
// the folder can have an index.ts or an index.tsx
2218
const hasIndexWithTsExtension = files.includes('index.ts');
2319
const fileContent = fs.readFileSync(
2420
path.join(
2521
srcFolder,
26-
`${currentFolder}/index.${hasIndexWithTsExtension ? 'ts' : 'tsx'}`,
22+
`${currentFolder}/index.${hasIndexWithTsExtension ? 'ts' : 'tsx'}`
2723
),
28-
'utf8',
24+
'utf8'
2925
);
3026

3127
const hasExportDefault = fileContent.includes('export { default } from');
@@ -38,4 +34,4 @@ export function generateIndexFromFolders(srcFolder: string): string {
3834
return indexContentArr.join('');
3935
}
4036

41-
export default generateIndexFromFolders
37+
export default generateIndexFromFolders;

src/index.ts

+33-33
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,43 @@
11
#!/usr/bin/env node
2-
import path from 'path'
2+
import path from 'path';
33
import fs from 'fs';
44

5-
import chalk from 'chalk'
6-
import yargs from 'yargs'
5+
import chalk from 'chalk';
6+
import yargs from 'yargs';
77

8-
import generateFromFile from './generateIndexFromFiles'
9-
import generateFromFolder from './generateIndexFromFolders'
8+
import generateFromFile from './generateIndexFromFiles';
9+
import generateFromFolder from './generateIndexFromFolders';
1010

1111
export const generateIndexFromFiles = generateFromFile;
12-
export const generateIndexFromFolders = generateFromFolder
12+
export const generateIndexFromFolders = generateFromFolder;
1313

1414
export function runCli() {
15-
const argv = yargs(process.argv.slice(2))
16-
.option('from', {
17-
alias: 'from',
18-
demandOption: false,
19-
default: 'folder',
20-
describe: 'specify if you want to use folders or files to generate the index file.',
21-
type: 'string',
22-
choices: ['files', 'folders'],
23-
})
24-
.argv
25-
const folder = argv._[0] as string || './';
26-
const sourceFolder = path.join(process.cwd(), folder)
27-
const fromFiles = argv.from === 'files'
28-
29-
const indexContentFile = fromFiles ?
30-
generateIndexFromFiles(sourceFolder) :
31-
generateIndexFromFolders(sourceFolder);
32-
33-
fs.writeFile(path.join(sourceFolder, 'index.ts'), indexContentFile, (err) => {
34-
if (err) {
35-
console.error(err)
36-
}
37-
38-
console.log(chalk.green('\n> Successfully to build the index.ts file :)\n'))
39-
})
40-
15+
const argv = yargs(process.argv.slice(2)).option('from', {
16+
alias: 'from',
17+
demandOption: false,
18+
default: 'folder',
19+
describe:
20+
'specify if you want to use folders or files to generate the index file.',
21+
type: 'string',
22+
choices: ['files', 'folders'],
23+
}).argv;
24+
const folder = (argv._[0] as string) || './';
25+
const sourceFolder = path.join(process.cwd(), folder);
26+
const fromFiles = argv.from === 'files';
27+
28+
const indexContentFile = fromFiles
29+
? generateIndexFromFiles(sourceFolder)
30+
: generateIndexFromFolders(sourceFolder);
31+
32+
fs.writeFile(path.join(sourceFolder, 'index.ts'), indexContentFile, err => {
33+
if (err) {
34+
console.error(err);
35+
}
36+
37+
console.log(
38+
chalk.green('\n> Successfully to build the index.ts file :)\n')
39+
);
40+
});
4141
}
4242

43-
runCli()
43+
runCli();

src/utils.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
import path from 'path'
2-
import fs from 'fs'
1+
import path from 'path';
2+
import fs from 'fs';
33

44
export const currentPath = process.cwd();
55
export const sourceFolder = path.join(currentPath, 'src');
66
export const indexFilePath = path.join(sourceFolder, 'index.ts');
77

88
export const getFileList = (src: string) => fs.readdirSync(src);
99

10-
export const isDirectory = (filePath: string) => fs.lstatSync(filePath).isDirectory();
10+
export const isDirectory = (filePath: string) =>
11+
fs.lstatSync(filePath).isDirectory();
1112
export const isFile = (filePath: string) => fs.lstatSync(filePath).isFile();
1213

1314
export const folderIncludesIndexFile = (filePath: string) => {

test/create-index-file.test.ts

+17-13
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,41 @@
11
import path from 'path';
2-
import {promisify} from 'util'
2+
import { promisify } from 'util';
33

44
import rimraf from 'rimraf';
55

6-
import generateIndexFromFolders from '../src/generateIndexFromFolders'
7-
import generateIndexFromFiles from '../src/generateIndexFromFiles'
6+
import generateIndexFromFolders from '../src/generateIndexFromFolders';
7+
import generateIndexFromFiles from '../src/generateIndexFromFiles';
88

9-
const rmraf = promisify(rimraf)
9+
const rmraf = promisify(rimraf);
1010

1111
async function clear() {
12-
await rmraf(path.join(__dirname, './package-test/index.ts'))
12+
await rmraf(path.join(__dirname, './package-test/index.ts'));
1313
}
1414

1515
describe('blah', () => {
1616
afterAll(() => {
17-
return clear()
18-
})
17+
return clear();
18+
});
1919

2020
it('Generates the index file content from Folders', async () => {
21-
const given = generateIndexFromFolders(path.join(__dirname, './package-test'))
21+
const given = generateIndexFromFolders(
22+
path.join(__dirname, './package-test')
23+
);
2224
const result = `export { default as a } from './a';
2325
export { default as b } from './b';
2426
export * as c from './c';
25-
`
27+
`;
2628
expect(given).toEqual(result);
2729
});
2830

2931
it('Generates the index file content from Files', () => {
30-
const given = generateIndexFromFiles(path.join(__dirname, './package-test'))
32+
const given = generateIndexFromFiles(
33+
path.join(__dirname, './package-test')
34+
);
3135
const result = `export { default as a } from './a';
3236
export { default as b } from './b';
3337
export { default as c } from './c';
34-
`
35-
expect(given).toEqual(result)
36-
})
38+
`;
39+
expect(given).toEqual(result);
40+
});
3741
});

test/package-test/a.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export default () => {}
1+
export default () => {};

test/package-test/a/a.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export default (a: number, b: number) => a + b;
1+
export default (a: number, b: number) => a + b;

test/package-test/b.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export default () => {}
1+
export default () => {};

test/package-test/b/b.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export default (a: number, b: number) => a + b;
1+
export default (a: number, b: number) => a + b;

test/package-test/c.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export default () => {}
1+
export default () => {};

test/package-test/c/c.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
export const sum = (a: number, b: number) => a + b;
2-
export const rest = (a: number, b: number) => a + b;
2+
export const rest = (a: number, b: number) => a + b;

0 commit comments

Comments
 (0)