Skip to content

Commit 193853a

Browse files
committed
Fix
1 parent 0524261 commit 193853a

File tree

3 files changed

+88
-49
lines changed

3 files changed

+88
-49
lines changed

.eslintrc.js

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
module.exports = {
2-
'env': {
3-
'es6': true,
4-
'jest': true,
5-
'node': true,
6-
},
7-
'parser': 'babel-eslint',
8-
'parserOptions': {
9-
'ecmaVersion': 7,
10-
'sourceType': 'module'
11-
},
12-
'plugins': ['import'],
13-
'extends': [
14-
'plugin:prettier/recommended',
15-
'eslint:recommended',
16-
],
17-
'rules': {
18-
'prettier/prettier': 'error',
19-
'no-console': 0,
20-
}
2+
'env': {
3+
'es6': true,
4+
'jest': true,
5+
'node': true,
6+
},
7+
'parser': 'babel-eslint',
8+
'parserOptions': {
9+
'ecmaVersion': 7,
10+
'sourceType': 'module'
11+
},
12+
'plugins': ['import'],
13+
'extends': [
14+
'plugin:prettier/recommended',
15+
'eslint:recommended',
16+
],
17+
'rules': {
18+
'prettier/prettier': 'error',
19+
'no-console': 0,
20+
}
2121
};

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
language: node_js
22
node_js:
3+
- '10'
34
- '8'
45
- '6'
5-
- '10'
66

77
cache:
88
directories:

src/index.js

Lines changed: 68 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,87 @@
11
#!/usr/bin/env node
22

3-
import 'isomorphic-fetch';
4-
import program from 'commander';
5-
import parseHydraDocumentation from '@api-platform/api-doc-parser/lib/hydra/parseHydraDocumentation';
6-
import {version} from '../package.json';
7-
import generators from './generators';
3+
import "isomorphic-fetch";
4+
import program from "commander";
5+
import parseHydraDocumentation from "@api-platform/api-doc-parser/lib/hydra/parseHydraDocumentation";
6+
import { version } from "../package.json";
7+
import generators from "./generators";
88

99
program
1010
.version(version)
11-
.description('Generate a CRUD application built with React, Redux and React Router from an Hydra-enabled API')
12-
.usage('entrypoint outputDirectory')
13-
.option('-r, --resource [resourceName]', 'Generate CRUD for the given resource')
14-
.option('-p, --hydra-prefix [hydraPrefix]', 'The hydra prefix used by the API', 'hydra:')
15-
.option('-g, --generator [generator]', 'The generator to use, one of "react", "react-native", "vue", "admin-on-rest"', 'react')
16-
.option('-t, --template-directory [templateDirectory]', 'The templates directory base to use. Final directory will be ${templateDirectory}/${generator}', `${__dirname}/../templates/`)
11+
.description(
12+
"Generate a CRUD application built with React, Redux and React Router from an Hydra-enabled API"
13+
)
14+
.usage("entrypoint outputDirectory")
15+
.option(
16+
"-r, --resource [resourceName]",
17+
"Generate CRUD for the given resource"
18+
)
19+
.option(
20+
"-p, --hydra-prefix [hydraPrefix]",
21+
"The hydra prefix used by the API",
22+
"hydra:"
23+
)
24+
.option(
25+
"-g, --generator [generator]",
26+
'The generator to use, one of "react", "react-native", "vue", "admin-on-rest"',
27+
"react"
28+
)
29+
.option(
30+
"-t, --template-directory [templateDirectory]",
31+
"The templates directory base to use. Final directory will be ${templateDirectory}/${generator}",
32+
`${__dirname}/../templates/`
33+
)
1734
.parse(process.argv);
1835

19-
if (2 !== program.args.length && (!process.env.API_PLATFORM_CLIENT_GENERATOR_ENTRYPOINT || !process.env.API_PLATFORM_CLIENT_GENERATOR_OUTPUT)) {
36+
if (
37+
2 !== program.args.length &&
38+
(!process.env.API_PLATFORM_CLIENT_GENERATOR_ENTRYPOINT ||
39+
!process.env.API_PLATFORM_CLIENT_GENERATOR_OUTPUT)
40+
) {
2041
program.help();
2142
}
2243

23-
const entrypoint = program.args[0] || process.env.API_PLATFORM_CLIENT_GENERATOR_ENTRYPOINT;
24-
const outputDirectory = program.args[1] || process.env.API_PLATFORM_CLIENT_GENERATOR_OUTPUT;
44+
const entrypoint =
45+
program.args[0] || process.env.API_PLATFORM_CLIENT_GENERATOR_ENTRYPOINT;
46+
const outputDirectory =
47+
program.args[1] || process.env.API_PLATFORM_CLIENT_GENERATOR_OUTPUT;
2548

2649
const generator = generators(program.generator)({
2750
hydraPrefix: program.hydraPrefix,
2851
templateDirectory: program.templateDirectory
2952
});
30-
const resourceToGenerate = program.resource ? program.resource.toLowerCase() : null;
53+
const resourceToGenerate = program.resource
54+
? program.resource.toLowerCase()
55+
: null;
3156

32-
parseHydraDocumentation(entrypoint).then(ret => {
33-
ret.api.resources.filter(({deprecated}) => !deprecated).forEach(resource => {
34-
const nameLc = resource.name.toLowerCase();
35-
const titleLc = resource.title.toLowerCase();
57+
parseHydraDocumentation(entrypoint)
58+
.then(ret => {
59+
ret.api.resources
60+
.filter(({ deprecated }) => !deprecated)
61+
.forEach(resource => {
62+
const nameLc = resource.name.toLowerCase();
63+
const titleLc = resource.title.toLowerCase();
3664

37-
if (null === resourceToGenerate || nameLc === resourceToGenerate || titleLc === resourceToGenerate) {
38-
resource.fields = resource.fields.filter(({deprecated}) => !deprecated);
39-
resource.readableFields = resource.readableFields.filter(({deprecated}) => !deprecated);
40-
resource.writableFields = resource.writableFields.filter(({deprecated}) => !deprecated);
65+
if (
66+
null === resourceToGenerate ||
67+
nameLc === resourceToGenerate ||
68+
titleLc === resourceToGenerate
69+
) {
70+
resource.fields = resource.fields.filter(
71+
({ deprecated }) => !deprecated
72+
);
73+
resource.readableFields = resource.readableFields.filter(
74+
({ deprecated }) => !deprecated
75+
);
76+
resource.writableFields = resource.writableFields.filter(
77+
({ deprecated }) => !deprecated
78+
);
4179

42-
generator.generate(ret.api, resource, outputDirectory);
43-
generator.help(resource)
44-
}
80+
generator.generate(ret.api, resource, outputDirectory);
81+
generator.help(resource);
82+
}
83+
});
4584
})
46-
}).catch((e) => {
47-
console.log(e);
48-
});
85+
.catch(e => {
86+
console.log(e);
87+
});

0 commit comments

Comments
 (0)