Skip to content

Commit 704ff64

Browse files
committed
Changed lambda template to use ECMAScripts modules which is the official standard instead of CommonJS.
1 parent 3fd9c84 commit 704ff64

File tree

12 files changed

+36
-45
lines changed

12 files changed

+36
-45
lines changed

templates/JSResolverOCHTTPSTemplate.js

+6-9
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 = [];
@@ -69,7 +69,7 @@ function resolveGraphDBQueryFromAppSyncEvent(event) {
6969
}
7070

7171

72-
function resolveGraphDBQueryFromApolloQueryEvent(event) {
72+
export function resolveGraphDBQueryFromApolloQueryEvent(event) {
7373
// TODO
7474
}
7575

@@ -974,7 +974,7 @@ function gremlinElementToJson(o, fieldsAlias) {
974974
}
975975

976976

977-
function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
977+
export function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
978978

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

10851085
const obj = parseQueryInput(queryObjOrStr);
@@ -1103,6 +1103,3 @@ function resolveGraphDBQuery(queryObjOrStr) {
11031103

11041104
return executeQuery;
11051105
}
1106-
1107-
1108-
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

+7-10
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-01-31T06:40:58.761Z
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 = [];
@@ -3520,7 +3520,7 @@ function resolveGraphDBQueryFromAppSyncEvent(event) {
35203520
}
35213521

35223522

3523-
function resolveGraphDBQueryFromApolloQueryEvent(event) {
3523+
export function resolveGraphDBQueryFromApolloQueryEvent(event) {
35243524
// TODO
35253525
}
35263526

@@ -4425,7 +4425,7 @@ function gremlinElementToJson(o, fieldsAlias) {
44254425
}
44264426

44274427

4428-
function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
4428+
export function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
44294429

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

45364536
const obj = parseQueryInput(queryObjOrStr);
@@ -4554,6 +4554,3 @@ function resolveGraphDBQuery(queryObjOrStr) {
45544554

45554555
return executeQuery;
45564556
}
4557-
4558-
4559-
module.exports = { resolveGraphDBQueryFromAppSyncEvent, resolveGraphDBQueryFromApolloQueryEvent, resolveGraphDBQuery, refactorGremlinqueryOutput };

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

+7-10
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-01-31T06:40:58.760Z
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 = [];
@@ -3520,7 +3520,7 @@ function resolveGraphDBQueryFromAppSyncEvent(event) {
35203520
}
35213521

35223522

3523-
function resolveGraphDBQueryFromApolloQueryEvent(event) {
3523+
export function resolveGraphDBQueryFromApolloQueryEvent(event) {
35243524
// TODO
35253525
}
35263526

@@ -4425,7 +4425,7 @@ function gremlinElementToJson(o, fieldsAlias) {
44254425
}
44264426

44274427

4428-
function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
4428+
export function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
44294429

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

45364536
const obj = parseQueryInput(queryObjOrStr);
@@ -4554,6 +4554,3 @@ function resolveGraphDBQuery(queryObjOrStr) {
45544554

45554555
return executeQuery;
45564556
}
4557-
4558-
4559-
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

+7-10
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-01-31T06:47:04.494Z
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 = [];
@@ -3552,7 +3552,7 @@ function resolveGraphDBQueryFromAppSyncEvent(event) {
35523552
}
35533553

35543554

3555-
function resolveGraphDBQueryFromApolloQueryEvent(event) {
3555+
export function resolveGraphDBQueryFromApolloQueryEvent(event) {
35563556
// TODO
35573557
}
35583558

@@ -4457,7 +4457,7 @@ function gremlinElementToJson(o, fieldsAlias) {
44574457
}
44584458

44594459

4460-
function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
4460+
export function refactorGremlinqueryOutput(queryResult, fieldsAlias) {
44614461

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

45684568
const obj = parseQueryInput(queryObjOrStr);
@@ -4586,6 +4586,3 @@ function resolveGraphDBQuery(queryObjOrStr) {
45864586

45874587
return executeQuery;
45884588
}
4589-
4590-
4591-
module.exports = { resolveGraphDBQueryFromAppSyncEvent, resolveGraphDBQueryFromApolloQueryEvent, resolveGraphDBQuery, refactorGremlinqueryOutput };

0 commit comments

Comments
 (0)