Skip to content

Commit 3fa084f

Browse files
committed
Upgrade templates 0.2.1 with micro solution
1 parent af50c1a commit 3fa084f

File tree

4 files changed

+16
-14
lines changed

4 files changed

+16
-14
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ A GraphQL Serverless Architecture Model (GSAM) - Base on amazing [Apollo GraphQL
1010
## HOW TO: Build a GraphQL project:
1111
- Install this GraphQL CLI: `npm install -g simplify-graphql`
1212
- Generate a sample schema: `simplify-graphql template -i schema`
13-
- Generate GraphQL project: `simplify-graphql -i schema.graphql`
13+
- Generate GraphQL project: `simplify-graphql -i schema.graphql --mode micro`
1414

1515
> It will help you to create your project step by step...
1616

entrypoint.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ yargs.usage('simplify-graphql [template] [options]')
280280
.alias('e', 'env')
281281
.describe('env', 'Environment')
282282
.string('mode')
283-
.describe('mode', 'Generate singleton|multiple code base')
283+
.describe('mode', 'Generate micro|multiple code base')
284284
.boolean('merge')
285285
.describe('merge', 'Auto merge files')
286286
.boolean('diff')
@@ -337,7 +337,7 @@ function runCommandLine() {
337337
config.writes.merge = true;
338338
}
339339
if (typeof argv.mode !== 'undefined') {
340-
config.writes.singleton = argv.mode === 'singleton' ? true : false;
340+
config.writes.micro = argv.mode === 'micro' ? true : false;
341341
}
342342
if (typeof argv.ignores !== 'undefined') {
343343
config.writes.ignores = argv.ignores;
@@ -352,7 +352,7 @@ function runCommandLine() {
352352
argv.simple = true;
353353
}
354354
projectInfo.WriteConfig = { ...config.writes, env: projectInfo.ENV_Name }
355-
projectInfo.IsSingleton = config.writes.singleton ? true: undefined
355+
projectInfo.IsMicroMode = config.writes.micro ? true: undefined
356356
const typeDefs = gql(schema);
357357
mainProcessor(typeDefs, schema, projectInfo)
358358
return { err: undefined, projectInfo }
@@ -396,8 +396,8 @@ function parseDefaultObjectValue(rootObject, vObj) {
396396
function mainProcessor(typeDefs, schema, projectInfo) {
397397
const templatePath = require("simplify-templates")
398398
const templates = path.join(templatePath, "graphql")
399-
const gqlConfig = require(path.join(templatePath, argv.mode == "singleton" ? "config-graphql-singleton.json" : "config-graphql.json"))
400-
const rootObject = hoganFlatter(schemaParser(typeDefs), argv.mode == "singleton")
399+
const gqlConfig = require(path.join(templatePath, argv.mode == "micro" ? "config-graphql-micro.json" : "config-graphql.json"))
400+
const rootObject = hoganFlatter(schemaParser(typeDefs), argv.mode == "micro")
401401
const outputDir = projectInfo.ProjectOutput || '.'
402402
argv.verbose && console.log("Generating Verbal GASM Design Language... (design.txt)")
403403
rootObject.DataTables = []
@@ -451,15 +451,15 @@ function mainProcessor(typeDefs, schema, projectInfo) {
451451
})
452452
})
453453
!rootObject.Functions.isEmpty && rootObject.Functions.map(func => {
454-
argv.verbose && console.log(` Remote Function: ${func.FunctionName}...`)
454+
argv.verbose && console.log(` Remote Function: ${func.FunctionName} (${func.Version})...`)
455455
const dataObject = rootObject.DataObjects.find(obj => obj.Name == func.DataSchema)
456456
dataObject.Value.map(v => {
457457
return parseDefaultObjectValue(rootObject, v)
458458
}).filter(obj => obj)
459459
dataObject.Value = transformer.convertToArrayWithNotation(dataObject.Value)
460460
func = extendObjectValue(func, "Name", func.Name)
461461
gqlConfig.Executions.map(cfg => {
462-
writeTemplateFile(`${templates}/${cfg.input}`, { ...func, ServerName: server.Name, FunctionName: func.FunctionName, FunctionNameSnake: func.FunctionNameSnake, DataValues: dataObject.Value, ...projectInfo }, outputDir, cfg.output, projectInfo.WriteConfig)
462+
writeTemplateFile(`${templates}/${cfg.input}`, { ...func, ServerName: server.Name, FunctionName: func.FunctionName, FunctionVersion: func.Version, FunctionNameSnake: func.FunctionNameSnake, DataValues: dataObject.Value, ...projectInfo }, outputDir, cfg.output, projectInfo.WriteConfig)
463463
})
464464
})
465465
server.Definitions.map(serverDef => {
@@ -470,7 +470,7 @@ function mainProcessor(typeDefs, schema, projectInfo) {
470470
dataObject.Value.map(v => {
471471
return parseDefaultObjectValue(rootObject, v)
472472
}).filter(obj => obj)
473-
argv.verbose && console.log(`+ Resolver: ${resolver.Resolver.Name}...`)
473+
argv.verbose && console.log(`+ Resolver: ${resolver.Resolver.Name} (${resolver.Resolver.Version || 'latest'})...`)
474474
gqlConfig.GraphQLResolvers.map(cfg => {
475475
let dataModel = { Definition: serverDef.Definition, Path: path.Path, ...resolver, ...resolver.Resolver, ServerName: server.Name, StateName: resolver.Resolver.Name, DataValues: dataObject.Value, ...projectInfo }
476476
dataModel = extendObjectValue(dataModel, "Definition", dataModel.Definition)
@@ -479,15 +479,15 @@ function mainProcessor(typeDefs, schema, projectInfo) {
479479
})
480480
dataObject.Value = transformer.convertToArrayWithNotation(dataObject.Value)
481481
resolver.Resolver.Chains && resolver.Resolver.Chains.map(chain => {
482-
argv.verbose && console.log(` - Function: ${chain.Run.Name}...`)
482+
argv.verbose && console.log(` - ChainFunction: ${chain.Run.Name} (${chain.Run.Version || 'latest'})...`)
483483
gqlConfig.GraphQLFunctions.map(cfg => {
484-
writeTemplateFile(`${templates}/${cfg.input}`, { ...chain, ServerName: server.Name, FunctionName: chain.Run.Name, ServerName: server.Name, DataValues: dataObject.Value, ...projectInfo }, outputDir, cfg.output, projectInfo.WriteConfig)
484+
writeTemplateFile(`${templates}/${cfg.input}`, { ...chain, ServerName: server.Name, FunctionName: chain.Run.Name, FunctionVersion: chain.Run.Version, ServerName: server.Name, DataValues: dataObject.Value, ...projectInfo }, outputDir, cfg.output, projectInfo.WriteConfig)
485485
})
486486
})
487487
if (!resolver.Resolver.Chains && resolver.Resolver.Kind == "GraphQLResolver") {
488-
argv.verbose && console.log(` - Function: ${resolver.Resolver.Name}...`)
488+
argv.verbose && console.log(` - ResolverFunction: ${resolver.Resolver.Name} (${resolver.Resolver.Version || 'latest'})...`)
489489
gqlConfig.GraphQLFunctions.map(cfg => {
490-
writeTemplateFile(`${templates}/${cfg.input}`, { ...resolver, ServerName: server.Name, FunctionName: resolver.Resolver.Name, ServerName: server.Name, DataValues: dataObject.Value, ...projectInfo }, outputDir, cfg.output, projectInfo.WriteConfig)
490+
writeTemplateFile(`${templates}/${cfg.input}`, { ...resolver, ServerName: server.Name, FunctionName: resolver.Resolver.Name, FunctionVersion: resolver.Resolver.Version, ServerName: server.Name, DataValues: dataObject.Value, ...projectInfo }, outputDir, cfg.output, projectInfo.WriteConfig)
491491
})
492492
}
493493
})

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "simplify-graphql",
3-
"version": "0.1.44",
3+
"version": "0.2.1",
44
"description": "Simplify graphql-serverless architecture model (GSAM)",
55
"main": "entrypoint.js",
66
"bin": {

transformer.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,7 @@ function schemaParser(typeDefs) {
336336
ServerName = ServerName !== obj.Name ? obj.Name : ServerName
337337
if (!rootObject.Servers[ServerName]) {
338338
obj = extendObjectValue(obj, "Name", obj.Name)
339+
obj = extendObjectValue(obj, "Version", obj.Version)
339340
rootObject.Servers[ServerName] = obj
340341
if (!obj.Options) obj.Options = {}
341342
obj = getServerRuntime(obj)
@@ -429,6 +430,7 @@ function schemaParser(typeDefs) {
429430
resolver.Resolver.Chains = convertToArrayWithNotation(resolver.Resolver.Chains)
430431
}
431432
resolver.Resolver = extendObjectValue(resolver.Resolver, "Name", obj.Name)
433+
resolver.Resolver = extendObjectValue(resolver.Resolver, "Version", obj.Version)
432434
}
433435
}
434436
})

0 commit comments

Comments
 (0)