Skip to content

Commit c8a4c8f

Browse files
authored
Changed lambda template to use ECMAScripts modules which is the official standard instead of CommonJS. (#68)
1 parent 92f3514 commit c8a4c8f

File tree

12 files changed

+44
-53
lines changed

12 files changed

+44
-53
lines changed

templates/JSResolverOCHTTPSTemplate.js

+8-11
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ express or implied. See the License for the specific language governing
1010
permissions and limitations under the License.
1111
*/
1212

13-
const { astFromValue, buildASTSchema, typeFromAST } = require('graphql');
14-
const gql = require('graphql-tag'); // GraphQL library to parse the GraphQL query
13+
import { astFromValue, buildASTSchema, typeFromAST } from 'graphql';
14+
import { gql } from 'graphql-tag'; // GraphQL library to parse the GraphQL query
1515

1616
const useCallSubquery = false;
1717

@@ -24,7 +24,7 @@ const schemaDataModel = JSON.parse(schemaDataModelJSON);
2424
const schema = buildASTSchema(schemaDataModel, { assumeValidSDL: true });
2525

2626

27-
function resolveGraphDBQueryFromAppSyncEvent(event) {
27+
export function resolveGraphDBQueryFromAppSyncEvent(event) {
2828
const fieldDef = getFieldDef(event.field);
2929

3030
const args = [];
@@ -67,9 +67,9 @@ function resolveGraphDBQueryFromAppSyncEvent(event) {
6767
const graphQuery = resolveGraphDBQuery(obj);
6868
return graphQuery;
6969
}
70-
71-
72-
function resolveGraphDBQueryFromApolloQueryEvent(event) {
70+
71+
72+
export function resolveGraphDBQueryFromApolloQueryEvent(event) {
7373
// TODO
7474
}
7575

@@ -977,7 +977,7 @@ function gremlinElementToJson(o, fieldsAlias) {
977977
}
978978

979979

980-
function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
980+
export function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
981981

982982
//const r = JSON.parse(queryResult).result.data;
983983
const r = queryResult;
@@ -1082,7 +1082,7 @@ function parseQueryInput(queryObjOrStr) {
10821082
* @param {(Object|string)} queryObjOrStr the GraphQL document containing an operation to resolve
10831083
* @returns {string}
10841084
*/
1085-
function resolveGraphDBQuery(queryObjOrStr) {
1085+
export function resolveGraphDBQuery(queryObjOrStr) {
10861086
let executeQuery = { query:'', parameters: {}, language: 'opencypher', refactorOutput: null };
10871087

10881088
const obj = parseQueryInput(queryObjOrStr);
@@ -1106,6 +1106,3 @@ function resolveGraphDBQuery(queryObjOrStr) {
11061106

11071107
return executeQuery;
11081108
}
1109-
1110-
1111-
module.exports = { resolveGraphDBQueryFromAppSyncEvent, resolveGraphDBQueryFromApolloQueryEvent, resolveGraphDBQuery, refactorGremlinqueryOutput };

templates/Lambda4AppSyncGraphSDK/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "1.1.1",
44
"description": "AWS Lambda function to bridge AppSync to Neptune Analytics",
55
"main": "index.mjs",
6+
"type": "module",
67
"scripts": {
78
"test": "echo \"Error: no test specified\" && exit 1"
89
},

templates/Lambda4AppSyncHTTP/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "1.1.1",
44
"description": "AWS Lambda function to bridge AppSync to Neptune or Neptune Analytics",
55
"main": "index.mjs",
6+
"type": "module",
67
"scripts": {
78
"test": "echo \"Error: no test specified\" && exit 1"
89
},

templates/Lambda4AppSyncSDK/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "1.1.1",
44
"description": "AWS Lambda function to bridge AppSync to Neptune",
55
"main": "index.mjs",
6+
"type": "module",
67
"scripts": {
78
"test": "echo \"Error: no test specified\" && exit 1"
89
},

test/TestCases/Case01/Case01.03.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ import { jest } from '@jest/globals';
33
import { testResolverQueries } from '../../testLib';
44

55

6-
await testResolverQueries('./TestCases/Case01/output/output.resolver.graphql.cjs', './test/TestCases/Case01/queries');
6+
await testResolverQueries('./TestCases/Case01/output/output.resolver.graphql.js', './test/TestCases/Case01/queries');

test/TestCases/Case01/Case01.04.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { readJSONFile, testResolverQueriesResults } from '../../testLib';
44

55
const casetest = readJSONFile('./test/TestCases/Case01/case.json');
66

7-
await testResolverQueriesResults( './TestCases/Case01/output/output.resolver.graphql.cjs',
7+
await testResolverQueriesResults( './TestCases/Case01/output/output.resolver.graphql.js',
88
'./test/TestCases/Case01/queries',
99
casetest.host,
1010
casetest.port);

test/TestCases/Case01/Case01.05.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ describe('AppSync resolver', () => {
66
let resolverModule;
77

88
beforeAll(async () => {
9-
resolverModule = await loadResolver('./TestCases/Case01/output/output.resolver.graphql.cjs');
9+
resolverModule = await loadResolver('./TestCases/Case01/output/output.resolver.graphql.js');
1010
});
1111

1212
test('should resolve queries with a filter', () => {

test/TestCases/Case01/case.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
"argv":["--quiet",
55
"--input-schema-file", "./test/TestCases/airports.source.schema.graphql",
66
"--input-schema-changes-file", "./test/TestCases/Case01/input/changesAirport.json",
7-
"--output-js-resolver-file", "./test/TestCases/Case01/output/output.resolver.graphql.cjs",
7+
"--output-js-resolver-file", "./test/TestCases/Case01/output/output.jsresolver.graphql.js",
88
"--output-folder-path", "./test/TestCases/Case01/output",
99
"--output-no-lambda-zip"],
1010
"host": "<AIR_ROUTES_DB_HOST>",
1111
"port": "<AIR_ROUTES_DB_PORT>",
12-
"testOutputFilesSize": ["output.resolver.graphql.cjs", "output.resolver.graphql.js", "output.schema.graphql", "output.source.schema.graphql"],
12+
"testOutputFilesSize": ["output.jsresolver.graphql.js", "output.resolver.graphql.js", "output.schema.graphql", "output.source.schema.graphql"],
1313
"testOutputFilesContent": ["output.schema.graphql", "output.source.schema.graphql"]
1414
}

test/TestCases/Case01/outputReference/output.resolver.graphql.cjs test/TestCases/Case01/outputReference/output.jsresolver.graphql.js

+9-12
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ express or implied. See the License for the specific language governing
1010
permissions and limitations under the License.
1111
*/
1212

13-
const { astFromValue, buildASTSchema, typeFromAST } = require('graphql');
14-
const gql = require('graphql-tag'); // GraphQL library to parse the GraphQL query
13+
import { astFromValue, buildASTSchema, typeFromAST } from 'graphql';
14+
import { gql } from 'graphql-tag'; // GraphQL library to parse the GraphQL query
1515

1616
const useCallSubquery = false;
1717

18-
// 2025-02-04T20:17:38.303Z
18+
// 2025-02-05T01:35:32.969Z
1919

2020
const schemaDataModelJSON = `{
2121
"kind": "Document",
@@ -3475,7 +3475,7 @@ const schemaDataModel = JSON.parse(schemaDataModelJSON);
34753475
const schema = buildASTSchema(schemaDataModel, { assumeValidSDL: true });
34763476

34773477

3478-
function resolveGraphDBQueryFromAppSyncEvent(event) {
3478+
export function resolveGraphDBQueryFromAppSyncEvent(event) {
34793479
const fieldDef = getFieldDef(event.field);
34803480

34813481
const args = [];
@@ -3518,9 +3518,9 @@ function resolveGraphDBQueryFromAppSyncEvent(event) {
35183518
const graphQuery = resolveGraphDBQuery(obj);
35193519
return graphQuery;
35203520
}
3521-
3522-
3523-
function resolveGraphDBQueryFromApolloQueryEvent(event) {
3521+
3522+
3523+
export function resolveGraphDBQueryFromApolloQueryEvent(event) {
35243524
// TODO
35253525
}
35263526

@@ -4428,7 +4428,7 @@ function gremlinElementToJson(o, fieldsAlias) {
44284428
}
44294429

44304430

4431-
function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
4431+
export function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
44324432

44334433
//const r = JSON.parse(queryResult).result.data;
44344434
const r = queryResult;
@@ -4533,7 +4533,7 @@ function parseQueryInput(queryObjOrStr) {
45334533
* @param {(Object|string)} queryObjOrStr the GraphQL document containing an operation to resolve
45344534
* @returns {string}
45354535
*/
4536-
function resolveGraphDBQuery(queryObjOrStr) {
4536+
export function resolveGraphDBQuery(queryObjOrStr) {
45374537
let executeQuery = { query:'', parameters: {}, language: 'opencypher', refactorOutput: null };
45384538

45394539
const obj = parseQueryInput(queryObjOrStr);
@@ -4557,6 +4557,3 @@ function resolveGraphDBQuery(queryObjOrStr) {
45574557

45584558
return executeQuery;
45594559
}
4560-
4561-
4562-
module.exports = { resolveGraphDBQueryFromAppSyncEvent, resolveGraphDBQueryFromApolloQueryEvent, resolveGraphDBQuery, refactorGremlinqueryOutput };

test/TestCases/Case01/outputReference/output.resolver.graphql.js

+9-12
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ express or implied. See the License for the specific language governing
1010
permissions and limitations under the License.
1111
*/
1212

13-
const { astFromValue, buildASTSchema, typeFromAST } = require('graphql');
14-
const gql = require('graphql-tag'); // GraphQL library to parse the GraphQL query
13+
import { astFromValue, buildASTSchema, typeFromAST } from 'graphql';
14+
import { gql } from 'graphql-tag'; // GraphQL library to parse the GraphQL query
1515

1616
const useCallSubquery = false;
1717

18-
// 2025-02-04T20:17:38.302Z
18+
// 2025-02-05T01:35:32.969Z
1919

2020
const schemaDataModelJSON = `{
2121
"kind": "Document",
@@ -3475,7 +3475,7 @@ const schemaDataModel = JSON.parse(schemaDataModelJSON);
34753475
const schema = buildASTSchema(schemaDataModel, { assumeValidSDL: true });
34763476

34773477

3478-
function resolveGraphDBQueryFromAppSyncEvent(event) {
3478+
export function resolveGraphDBQueryFromAppSyncEvent(event) {
34793479
const fieldDef = getFieldDef(event.field);
34803480

34813481
const args = [];
@@ -3518,9 +3518,9 @@ function resolveGraphDBQueryFromAppSyncEvent(event) {
35183518
const graphQuery = resolveGraphDBQuery(obj);
35193519
return graphQuery;
35203520
}
3521-
3522-
3523-
function resolveGraphDBQueryFromApolloQueryEvent(event) {
3521+
3522+
3523+
export function resolveGraphDBQueryFromApolloQueryEvent(event) {
35243524
// TODO
35253525
}
35263526

@@ -4428,7 +4428,7 @@ function gremlinElementToJson(o, fieldsAlias) {
44284428
}
44294429

44304430

4431-
function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
4431+
export function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
44324432

44334433
//const r = JSON.parse(queryResult).result.data;
44344434
const r = queryResult;
@@ -4533,7 +4533,7 @@ function parseQueryInput(queryObjOrStr) {
45334533
* @param {(Object|string)} queryObjOrStr the GraphQL document containing an operation to resolve
45344534
* @returns {string}
45354535
*/
4536-
function resolveGraphDBQuery(queryObjOrStr) {
4536+
export function resolveGraphDBQuery(queryObjOrStr) {
45374537
let executeQuery = { query:'', parameters: {}, language: 'opencypher', refactorOutput: null };
45384538

45394539
const obj = parseQueryInput(queryObjOrStr);
@@ -4557,6 +4557,3 @@ function resolveGraphDBQuery(queryObjOrStr) {
45574557

45584558
return executeQuery;
45594559
}
4560-
4561-
4562-
module.exports = { resolveGraphDBQueryFromAppSyncEvent, resolveGraphDBQueryFromApolloQueryEvent, resolveGraphDBQuery, refactorGremlinqueryOutput };

test/TestCases/Case02/case.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"description":"Start from graph db json, from Air Routes db",
44
"argv":[ "--quiet",
55
"--input-graphdb-schema-file", "./test/TestCases/Case02/input/airports.graphdb.json",
6-
"--output-js-resolver-file", "./test/TestCases/Case02/output/output.resolver.graphql.cjs",
6+
"--output-js-resolver-file", "./test/TestCases/Case02/output/output.jsresolver.graphql.js",
77
"--output-folder-path", "./test/TestCases/Case02/output",
88
"--output-no-lambda-zip"],
99
"host": "<AIR_ROUTES_DB_HOST>",

test/TestCases/Case07/outputReference/output.resolver.graphql.js

+9-12
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ express or implied. See the License for the specific language governing
1010
permissions and limitations under the License.
1111
*/
1212

13-
const { astFromValue, buildASTSchema, typeFromAST } = require('graphql');
14-
const gql = require('graphql-tag'); // GraphQL library to parse the GraphQL query
13+
import { astFromValue, buildASTSchema, typeFromAST } from 'graphql';
14+
import { gql } from 'graphql-tag'; // GraphQL library to parse the GraphQL query
1515

1616
const useCallSubquery = false;
1717

18-
// 2025-02-04T20:38:45.966Z
18+
// 2025-02-05T01:37:03.182Z
1919

2020
const schemaDataModelJSON = `{
2121
"kind": "Document",
@@ -3507,7 +3507,7 @@ const schemaDataModel = JSON.parse(schemaDataModelJSON);
35073507
const schema = buildASTSchema(schemaDataModel, { assumeValidSDL: true });
35083508

35093509

3510-
function resolveGraphDBQueryFromAppSyncEvent(event) {
3510+
export function resolveGraphDBQueryFromAppSyncEvent(event) {
35113511
const fieldDef = getFieldDef(event.field);
35123512

35133513
const args = [];
@@ -3550,9 +3550,9 @@ function resolveGraphDBQueryFromAppSyncEvent(event) {
35503550
const graphQuery = resolveGraphDBQuery(obj);
35513551
return graphQuery;
35523552
}
3553-
3554-
3555-
function resolveGraphDBQueryFromApolloQueryEvent(event) {
3553+
3554+
3555+
export function resolveGraphDBQueryFromApolloQueryEvent(event) {
35563556
// TODO
35573557
}
35583558

@@ -4460,7 +4460,7 @@ function gremlinElementToJson(o, fieldsAlias) {
44604460
}
44614461

44624462

4463-
function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
4463+
export function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
44644464

44654465
//const r = JSON.parse(queryResult).result.data;
44664466
const r = queryResult;
@@ -4565,7 +4565,7 @@ function parseQueryInput(queryObjOrStr) {
45654565
* @param {(Object|string)} queryObjOrStr the GraphQL document containing an operation to resolve
45664566
* @returns {string}
45674567
*/
4568-
function resolveGraphDBQuery(queryObjOrStr) {
4568+
export function resolveGraphDBQuery(queryObjOrStr) {
45694569
let executeQuery = { query:'', parameters: {}, language: 'opencypher', refactorOutput: null };
45704570

45714571
const obj = parseQueryInput(queryObjOrStr);
@@ -4589,6 +4589,3 @@ function resolveGraphDBQuery(queryObjOrStr) {
45894589

45904590
return executeQuery;
45914591
}
4592-
4593-
4594-
module.exports = { resolveGraphDBQueryFromAppSyncEvent, resolveGraphDBQueryFromApolloQueryEvent, resolveGraphDBQuery, refactorGremlinqueryOutput };

0 commit comments

Comments
 (0)