Skip to content

Commit dc941ef

Browse files
committed
refactor(gen:endpoint): move insertion tasks to second step of writing lifecycle
fixes #1591
1 parent bdaeb5a commit dc941ef

File tree

1 file changed

+49
-42
lines changed

1 file changed

+49
-42
lines changed

Diff for: endpoint/generator.js

+49-42
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export default class Generator extends NamedBase {
2020
});
2121

2222
this.option('endpointDirectory', {
23-
desc: 'Parent directory for enpoints',
23+
desc: 'Parent directory for endpoints',
2424
type: String
2525
});
2626
}
@@ -98,50 +98,57 @@ export default class Generator extends NamedBase {
9898
this.config.get('endpointDirectory') || 'server/api/', this.name);
9999
}
100100

101-
writing() {
102-
this.sourceRoot(path.join(__dirname, './templates'));
103-
this.processDirectory('.', this.routeDest);
104-
}
101+
get writing() {
102+
return {
103+
writeFiles() {
104+
this.sourceRoot(path.join(__dirname, './templates'));
105+
this.processDirectory('.', this.routeDest);
106+
},
107+
modifyFiles() {
108+
if(this.config.get('insertRoutes')) {
109+
var routesFile = this.config.get('registerRoutesFile');
110+
var reqPath = this.relativeRequire(this.routeDest, routesFile);
111+
var routeConfig = {
112+
file: routesFile,
113+
needle: this.config.get('routesNeedle'),
114+
splicable: [
115+
"app.use(\'" + this.route +"\', require(\'" + reqPath + "\'));"
116+
]
117+
};
118+
this.rewriteFile(routeConfig);
119+
}
105120

106-
end() {
107-
if(this.config.get('insertRoutes')) {
108-
var routesFile = this.config.get('registerRoutesFile');
109-
var reqPath = this.relativeRequire(this.routeDest, routesFile);
110-
var routeConfig = {
111-
file: routesFile,
112-
needle: this.config.get('routesNeedle'),
113-
splicable: [
114-
"app.use(\'" + this.route +"\', require(\'" + reqPath + "\'));"
115-
]
116-
};
117-
this.rewriteFile(routeConfig);
118-
}
121+
if (this.filters.socketio && this.config.get('insertSockets')) {
122+
var socketsFile = this.config.get('registerSocketsFile');
123+
var reqPath = this.relativeRequire(this.routeDest + '/' + this.basename +
124+
'.socket', socketsFile);
125+
var socketConfig = {
126+
file: socketsFile,
127+
needle: this.config.get('socketsNeedle'),
128+
splicable: [
129+
"require(\'" + reqPath + "\').register(socket);"
130+
]
131+
};
132+
this.rewriteFile(socketConfig);
133+
}
119134

120-
if (this.filters.socketio && this.config.get('insertSockets')) {
121-
var socketsFile = this.config.get('registerSocketsFile');
122-
var reqPath = this.relativeRequire(this.routeDest + '/' + this.basename +
123-
'.socket', socketsFile);
124-
var socketConfig = {
125-
file: socketsFile,
126-
needle: this.config.get('socketsNeedle'),
127-
splicable: [
128-
"require(\'" + reqPath + "\').register(socket);"
129-
]
130-
};
131-
this.rewriteFile(socketConfig);
135+
if (this.filters.sequelize && this.config.get('insertModels')) {
136+
var modelsFile = this.config.get('registerModelsFile');
137+
var reqPath = this.relativeRequire(this.routeDest + '/' + this.basename + '.model', modelsFile);
138+
var modelConfig = {
139+
file: modelsFile,
140+
needle: this.config.get('modelsNeedle'),
141+
splicable: [
142+
"db." + this.classedName + " = db.sequelize.import(\'" + reqPath +"\');"
143+
]
144+
};
145+
this.rewriteFile(modelConfig);
146+
}
147+
}
132148
}
149+
}
133150

134-
if (this.filters.sequelize && this.config.get('insertModels')) {
135-
var modelsFile = this.config.get('registerModelsFile');
136-
var reqPath = this.relativeRequire(this.routeDest + '/' + this.basename + '.model', modelsFile);
137-
var modelConfig = {
138-
file: modelsFile,
139-
needle: this.config.get('modelsNeedle'),
140-
splicable: [
141-
"db." + this.classedName + " = db.sequelize.import(\'" + reqPath +"\');"
142-
]
143-
};
144-
this.rewriteFile(modelConfig);
145-
}
151+
end() {
152+
this.log('All done. Bye-bye!\n');
146153
}
147154
}

0 commit comments

Comments
 (0)