@luvio/graphql-parser 0.73.5 → 0.74.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.d.ts CHANGED
@@ -1,6 +1,10 @@
1
1
  import { BooleanValueNode, FloatValueNode, IntValueNode, StringValueNode } from 'graphql/language';
2
2
  import { LuvioDocumentNode, LuvioArgumentNode, LuvioDefinitionNode, LuvioObjectValueNode, LuvioOperationDefinitionNode, LuvioSelectionCustomFieldNode, LuvioSelectionNode, LuvioSelectionObjectFieldNode, LuvioSelectionScalarFieldNode, LuvioValueNode, LuvioFieldNode, LuvioVariableDefinitionNode, LuvioVariableNode, LuvioNamedTypeNode, LuvioListTypeNode, LuvioListValueNode, LuvioTypeNode } from './ast';
3
- import { LuvioGraphQLSchema } from './luvio-schema';
3
+ import { LuvioGraphQLSchema, LuvioGraphQLTypeExtensions } from './luvio-schema';
4
4
  export declare function parseAndVisit(source: string): LuvioDocumentNode;
5
5
  export declare function parseLuvioSchema(source: string, schemaName: string): LuvioGraphQLSchema;
6
+ export { LuvioGraphQLSchema, LuvioGraphQLTypeExtensions };
7
+ /**
8
+ * @deprecated - Schema-backed adapters will use standard graphql types re-exported from @luvio/graphql
9
+ */
6
10
  export { BooleanValueNode, FloatValueNode, IntValueNode, StringValueNode, LuvioDocumentNode, LuvioArgumentNode, LuvioDefinitionNode, LuvioObjectValueNode, LuvioOperationDefinitionNode, LuvioSelectionCustomFieldNode, LuvioSelectionNode, LuvioSelectionObjectFieldNode, LuvioSelectionScalarFieldNode, LuvioValueNode, LuvioFieldNode, LuvioVariableDefinitionNode, LuvioVariableNode, LuvioNamedTypeNode, LuvioListTypeNode, LuvioListValueNode, LuvioTypeNode, };
@@ -1,3 +1,3 @@
1
- import { OperationDefinitionNode } from 'graphql/language';
2
- import { LuvioOperationDefinitionNode } from '../ast';
1
+ import type { OperationDefinitionNode } from 'graphql/language';
2
+ import type { LuvioOperationDefinitionNode } from '../ast';
3
3
  export declare function transform(node: OperationDefinitionNode): LuvioOperationDefinitionNode;
@@ -1,5 +1,5 @@
1
- import { OperationDefinitionNode } from 'graphql/language';
2
- import { LuvioOperationDefinitionNode } from '../../ast';
1
+ import type { OperationDefinitionNode } from 'graphql/language';
2
+ import type { LuvioOperationDefinitionNode } from '../../ast';
3
3
  export interface TransformState {
4
4
  variablesUsed: Record<string, true>;
5
5
  }
@@ -1,3 +1,3 @@
1
- import { TypeNode } from 'graphql/language';
2
- import { LuvioTypeNode } from './ast';
1
+ import type { TypeNode } from 'graphql/language';
2
+ import type { LuvioTypeNode } from './ast';
3
3
  export declare function transform(node: TypeNode): LuvioTypeNode;
@@ -1,4 +1,4 @@
1
- import { ValueNode } from 'graphql/language';
2
- import { LuvioValueNode } from './ast';
3
- import { TransformState } from './operation/query';
1
+ import type { ValueNode } from 'graphql/language';
2
+ import type { LuvioValueNode } from './ast';
3
+ import type { TransformState } from './operation/query';
4
4
  export declare function transform(node: ValueNode, transformState: TransformState): LuvioValueNode;
@@ -1,4 +1,4 @@
1
- import { VariableDefinitionNode } from 'graphql/language';
2
- import { LuvioVariableDefinitionNode } from './ast';
3
- import { TransformState } from './operation/query';
1
+ import type { VariableDefinitionNode } from 'graphql/language';
2
+ import type { LuvioVariableDefinitionNode } from './ast';
3
+ import type { TransformState } from './operation/query';
4
4
  export declare function transform(variableDefinitions: VariableDefinitionNode, transformState: TransformState): LuvioVariableDefinitionNode;
package/dist/visitor.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ASTNode } from 'graphql/language';
2
- import { LuvioSelectionNode } from './ast';
3
- import { TransformState } from './operation/query';
1
+ import type { ASTNode } from 'graphql/language';
2
+ import type { LuvioSelectionNode } from './ast';
3
+ import type { TransformState } from './operation/query';
4
4
  export declare function selectionSetVisitor(ast: ASTNode, luvioSelectionPath: LuvioSelectionNode[], transformState: TransformState): void;
package/package.json CHANGED
@@ -1,17 +1,22 @@
1
1
  {
2
2
  "name": "@luvio/graphql-parser",
3
- "version": "0.73.5",
3
+ "version": "0.74.0",
4
4
  "description": "GraphQL parser for Luvio GraphQL adapter support",
5
- "main": "dist/luvioGraphqlParser.js",
6
- "module": "dist/luvioGraphqlParser.js",
5
+ "main": "./dist/luvioGraphqlParser.js",
6
+ "module": "./dist/luvioGraphqlParser.mjs",
7
7
  "types": "dist/main.d.ts",
8
8
  "license": "MIT",
9
+ "exports": {
10
+ "require": "./dist/luvioGraphqlParser.js",
11
+ "import": "./dist/luvioGraphqlParser.mjs"
12
+ },
9
13
  "scripts": {
10
14
  "clean": "rm -rf dist",
11
15
  "build": "rollup --config rollup.config.js",
12
16
  "parse": "node ./scripts/cli.mjs",
13
17
  "test:unit": "jest",
14
- "test:debug": "node --inspect-brk ../../node_modules/.bin/jest --runInBand"
18
+ "test:debug": "node --inspect-brk ../../node_modules/.bin/jest --runInBand",
19
+ "test:size": "bundlesize"
15
20
  },
16
21
  "nx": {
17
22
  "targets": {
@@ -27,5 +32,12 @@
27
32
  },
28
33
  "publishConfig": {
29
34
  "access": "public"
30
- }
35
+ },
36
+ "bundlesize": [
37
+ {
38
+ "path": "./dist/luvioGraphqlParser.js",
39
+ "maxSize": "58 kB",
40
+ "compression": "brotli"
41
+ }
42
+ ]
31
43
  }
package/rollup.config.js CHANGED
@@ -3,11 +3,16 @@ import typescript from 'rollup-plugin-typescript2';
3
3
 
4
4
  const luvioGraphqlParserRollupConfig = {
5
5
  input: './src/main.ts',
6
- output: {
7
- file: 'dist/luvioGraphqlParser.js',
8
- format: 'esm',
9
- },
10
-
6
+ output: [
7
+ {
8
+ file: 'dist/luvioGraphqlParser.js',
9
+ format: 'commonjs',
10
+ },
11
+ {
12
+ file: 'dist/luvioGraphqlParser.mjs',
13
+ format: 'esm',
14
+ },
15
+ ],
11
16
  plugins: [
12
17
  resolve(),
13
18
  typescript({
@@ -1,6 +1,6 @@
1
- import { ArgumentNode } from 'graphql/language';
2
- import { LuvioArgumentNode } from './ast';
3
- import { TransformState } from './operation/query';
1
+ import type { ArgumentNode } from 'graphql/language';
2
+ import type { LuvioArgumentNode } from './ast';
3
+ import type { TransformState } from './operation/query';
4
4
  import { transform as transformValueNode } from './value-node';
5
5
 
6
6
  export function transform(node: ArgumentNode, transformState: TransformState): LuvioArgumentNode {
package/src/ast.ts CHANGED
@@ -1,4 +1,4 @@
1
- import {
1
+ import type {
2
2
  DocumentNode,
3
3
  OperationDefinitionNode,
4
4
  FieldNode,
@@ -1,8 +1,8 @@
1
- import { DirectiveNode } from 'graphql/language';
2
- import { LuvioArgumentNode, LuvioDirectiveNode } from './ast';
1
+ import type { DirectiveNode } from 'graphql/language';
2
+ import type { LuvioArgumentNode, LuvioDirectiveNode } from './ast';
3
3
  import { transform as transformArgumentNode } from './argument-node';
4
4
  import { CUSTOM_DIRECTIVE_CONNECTION, CUSTOM_DIRECTIVE_RESOURCE } from './constants';
5
- import { TransformState } from './operation/query';
5
+ import type { TransformState } from './operation/query';
6
6
 
7
7
  export function transform(node: DirectiveNode, transformState: TransformState): LuvioDirectiveNode {
8
8
  const {
package/src/document.ts CHANGED
@@ -1,10 +1,6 @@
1
- import { DocumentNode } from 'graphql/language';
2
- import {
3
- LuvioDocumentNode,
4
- LuvioDefinitionNode,
5
- isOperationDefinitionNode,
6
- isFragmentDefinitionNode,
7
- } from './ast';
1
+ import type { DocumentNode } from 'graphql/language';
2
+ import type { LuvioDocumentNode, LuvioDefinitionNode } from './ast';
3
+ import { isOperationDefinitionNode, isFragmentDefinitionNode } from './ast';
8
4
  import { transform as operationDefinitionTransform } from './operation';
9
5
  import { transform as fragmentDefinitionTransform } from './fragment';
10
6
 
package/src/field-node.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { FieldNode, StringValueNode } from 'graphql/language';
1
+ import type { FieldNode, StringValueNode } from 'graphql/language';
2
2
  import { transform as transformArgumentNode } from './argument-node';
3
- import { LuvioArgumentNode, LuvioFieldNode } from './ast';
3
+ import type { LuvioArgumentNode, LuvioFieldNode } from './ast';
4
4
  import {
5
5
  CUSTOM_DIRECTIVE_CONNECTION,
6
6
  CUSTOM_DIRECTIVE_RESOURCE,
@@ -10,7 +10,7 @@ import {
10
10
  NODE_TYPE_CONNECTION,
11
11
  } from './constants';
12
12
  import { isCustomDirective, transform as transformDirectiveNode } from './directive-node';
13
- import { TransformState } from './operation/query';
13
+ import type { TransformState } from './operation/query';
14
14
 
15
15
  export function transform(node: FieldNode, transformState: TransformState): LuvioFieldNode {
16
16
  const { name, alias, arguments: fieldArgs, selectionSet, directives } = node;
@@ -1,7 +1,7 @@
1
- import { FragmentSpreadNode } from 'graphql/language';
2
- import { LuvioFragmentSpreadNode } from './ast';
1
+ import type { FragmentSpreadNode } from 'graphql/language';
2
+ import type { LuvioFragmentSpreadNode } from './ast';
3
3
  import { transform as transformDirectiveNode } from './directive-node';
4
- import { TransformState } from './operation/query';
4
+ import type { TransformState } from './operation/query';
5
5
 
6
6
  export function transform(
7
7
  node: FragmentSpreadNode,
package/src/fragment.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { FragmentDefinitionNode } from 'graphql/language';
2
- import { LuvioFieldNode, LuvioFragmentDefinitionNode, LuvioSelectionNode } from './ast';
1
+ import type { FragmentDefinitionNode } from 'graphql/language';
2
+ import type { LuvioFieldNode, LuvioFragmentDefinitionNode, LuvioSelectionNode } from './ast';
3
3
  import { selectionSetVisitor } from './visitor';
4
4
  import { transform as transformDirectiveNode } from './directive-node';
5
5
  import { NODE_KIND_OBJECT_FIELD_SELECTION } from './constants';
@@ -1,7 +1,7 @@
1
- import { InlineFragmentNode } from 'graphql/language';
2
- import { LuvioInlineFragmentNode } from './ast';
1
+ import type { InlineFragmentNode } from 'graphql/language';
2
+ import type { LuvioInlineFragmentNode } from './ast';
3
3
  import { transform as transformDirectiveNode } from './directive-node';
4
- import { TransformState } from './operation/query';
4
+ import type { TransformState } from './operation/query';
5
5
 
6
6
  export function transform(
7
7
  node: InlineFragmentNode,
@@ -1,4 +1,4 @@
1
- import { GraphQLSchema } from 'graphql';
1
+ import type { GraphQLSchema } from 'graphql';
2
2
 
3
3
  interface LuvioGraphQLSchemaParams {
4
4
  schema: GraphQLSchema;
@@ -16,3 +16,7 @@ export class LuvioGraphQLSchema {
16
16
  this.schema = luvioSchemaParams.schema;
17
17
  }
18
18
  }
19
+
20
+ export interface LuvioGraphQLTypeExtensions {
21
+ typeToTtlMap: Record<string, number>;
22
+ }
package/src/main.ts CHANGED
@@ -27,10 +27,10 @@ import {
27
27
  LuvioTypeNode,
28
28
  } from './ast';
29
29
  import { transform } from './document';
30
- import { LuvioGraphQLSchema } from './luvio-schema';
30
+ import { LuvioGraphQLSchema, LuvioGraphQLTypeExtensions } from './luvio-schema';
31
31
 
32
32
  /*
33
- Deprecated - Remove after existing usages are removed.
33
+ Deprecated - Remove after existing usages are removed.
34
34
  */
35
35
  export function parseAndVisit(source: string): LuvioDocumentNode {
36
36
  const ast = parse(source);
@@ -45,9 +45,11 @@ export function parseLuvioSchema(source: string, schemaName: string): LuvioGraph
45
45
  });
46
46
  }
47
47
 
48
- /*
49
- Deprecated - Schema-backed adapters will use standard graphql types re-exported from @luvio/graphql
50
- */
48
+ export { LuvioGraphQLSchema, LuvioGraphQLTypeExtensions };
49
+
50
+ /**
51
+ * @deprecated - Schema-backed adapters will use standard graphql types re-exported from @luvio/graphql
52
+ */
51
53
  export {
52
54
  BooleanValueNode,
53
55
  FloatValueNode,
@@ -1,5 +1,5 @@
1
- import { OperationDefinitionNode } from 'graphql/language';
2
- import { LuvioOperationDefinitionNode } from '../ast';
1
+ import type { OperationDefinitionNode } from 'graphql/language';
2
+ import type { LuvioOperationDefinitionNode } from '../ast';
3
3
  import { transform as QueryTransform } from './query';
4
4
 
5
5
  export function transform(node: OperationDefinitionNode): LuvioOperationDefinitionNode {
@@ -1,5 +1,5 @@
1
- import { OperationDefinitionNode, VariableDefinitionNode } from 'graphql/language';
2
- import { LuvioFieldNode, LuvioOperationDefinitionNode, LuvioSelectionNode } from '../../ast';
1
+ import type { OperationDefinitionNode, VariableDefinitionNode } from 'graphql/language';
2
+ import type { LuvioFieldNode, LuvioOperationDefinitionNode, LuvioSelectionNode } from '../../ast';
3
3
  import { selectionSetVisitor } from '../../visitor';
4
4
  import { transform as transformVariableDefinition } from '../../variable-definition';
5
5
  import { transform as transformDirectiveNode } from '../../directive-node';
package/src/type-node.ts CHANGED
@@ -1,5 +1,6 @@
1
- import { TypeNode } from 'graphql/language';
2
- import { isListTypeNode, isNamedTypeNode, isNonNullTypeNode, LuvioTypeNode } from './ast';
1
+ import type { TypeNode } from 'graphql/language';
2
+ import type { LuvioTypeNode } from './ast';
3
+ import { isListTypeNode, isNamedTypeNode, isNonNullTypeNode } from './ast';
3
4
  import { NODE_KIND_NAMED_TYPE, NODE_KIND_LIST_TYPE, NODE_KIND_NON_NULL_TYPE } from './constants';
4
5
 
5
6
  export function transform(node: TypeNode): LuvioTypeNode {
package/src/value-node.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { ValueNode } from 'graphql/language';
2
- import { LuvioValueNode } from './ast';
3
- import { TransformState } from './operation/query';
1
+ import type { ValueNode } from 'graphql/language';
2
+ import type { LuvioValueNode } from './ast';
3
+ import type { TransformState } from './operation/query';
4
4
 
5
5
  export function transform(node: ValueNode, transformState: TransformState): LuvioValueNode {
6
6
  switch (node.kind) {
@@ -1,6 +1,6 @@
1
- import { VariableDefinitionNode } from 'graphql/language';
2
- import { LuvioVariableDefinitionNode } from './ast';
3
- import { TransformState } from './operation/query';
1
+ import type { VariableDefinitionNode } from 'graphql/language';
2
+ import type { LuvioVariableDefinitionNode } from './ast';
3
+ import type { TransformState } from './operation/query';
4
4
  import { transform as transformTypeNode } from './type-node';
5
5
  import { transform as transformValueNode } from './value-node';
6
6
 
package/src/visitor.ts CHANGED
@@ -1,5 +1,6 @@
1
- import { ASTNode, ASTVisitor, visit } from 'graphql/language';
2
- import { LuvioSelectionNode } from './ast';
1
+ import type { ASTNode, ASTVisitor } from 'graphql/language';
2
+ import { visit } from 'graphql/language';
3
+ import type { LuvioSelectionNode } from './ast';
3
4
  import {
4
5
  NODE_KIND_CUSTOM_FIELD_SELECTION,
5
6
  NODE_KIND_FIELD,
@@ -10,7 +11,7 @@ import {
10
11
  import { transform as transformFieldNode } from './field-node';
11
12
  import { transform as transformFragmentSpreadNode } from './fragment-spread-node';
12
13
  import { transform as transformInlineFragmentNode } from './inline-fragment-node';
13
- import { TransformState } from './operation/query';
14
+ import type { TransformState } from './operation/query';
14
15
 
15
16
  export function selectionSetVisitor(
16
17
  ast: ASTNode,