@graphprotocol/graph-cli 0.37.3 → 0.37.4-alpha-20230117095424-b5750b1
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/CHANGELOG.md +8 -0
- package/dist/bin.js +6 -0
- package/dist/cli.js +26 -0
- package/dist/codegen/schema.js +244 -0
- package/dist/codegen/schema.test.js +455 -0
- package/dist/codegen/template.js +66 -0
- package/dist/codegen/types/conversions.js +335 -0
- package/dist/codegen/types/index.js +71 -0
- package/dist/codegen/types/index.test.js +563 -0
- package/dist/codegen/typescript.js +200 -0
- package/dist/codegen/util.js +40 -0
- package/dist/codegen/util.test.js +93 -0
- package/dist/command-helpers/abi.js +76 -0
- package/dist/command-helpers/auth.js +76 -0
- package/dist/command-helpers/compiler.js +66 -0
- package/dist/command-helpers/data-sources.js +29 -0
- package/dist/command-helpers/fs.js +9 -0
- package/dist/command-helpers/gluegun.js +48 -0
- package/dist/command-helpers/ipfs.js +5 -0
- package/dist/command-helpers/jsonrpc.js +27 -0
- package/dist/command-helpers/network.js +90 -0
- package/dist/command-helpers/network.test.js +86 -0
- package/dist/command-helpers/node.js +40 -0
- package/dist/command-helpers/scaffold.js +110 -0
- package/dist/command-helpers/spinner.js +80 -0
- package/dist/command-helpers/studio.js +14 -0
- package/dist/command-helpers/studio.test.js +41 -0
- package/dist/command-helpers/subgraph.js +22 -0
- package/dist/command-helpers/version.js +66 -0
- package/dist/command-helpers/version.test.js +186 -0
- package/dist/commands/add.js +187 -0
- package/dist/commands/auth.js +122 -0
- package/dist/commands/build.js +136 -0
- package/dist/commands/codegen.js +128 -0
- package/dist/commands/create.js +94 -0
- package/dist/commands/deploy.js +335 -0
- package/dist/commands/init.js +800 -0
- package/dist/commands/local.js +380 -0
- package/dist/commands/remove.js +95 -0
- package/dist/commands/test.js +293 -0
- package/dist/compiler/asc.js +83 -0
- package/dist/compiler/index.js +466 -0
- package/dist/debug.js +16 -0
- package/dist/migrations/mapping_api_version_0_0_1.js +83 -0
- package/dist/migrations/mapping_api_version_0_0_2.js +83 -0
- package/dist/migrations/mapping_api_version_0_0_3.js +83 -0
- package/dist/migrations/mapping_api_version_0_0_4.js +85 -0
- package/dist/migrations/mapping_api_version_0_0_5.js +85 -0
- package/dist/migrations/spec_version_0_0_2.js +45 -0
- package/dist/migrations/spec_version_0_0_3.js +50 -0
- package/dist/migrations/util/load-manifest.js +16 -0
- package/dist/migrations/util/versions.js +28 -0
- package/dist/migrations.js +54 -0
- package/{src → dist}/protocols/arweave/manifest.graphql +0 -0
- package/{src/protocols/arweave/scaffold/manifest.ts → dist/protocols/arweave/scaffold/manifest.js} +7 -3
- package/{src/protocols/arweave/scaffold/mapping.ts → dist/protocols/arweave/scaffold/mapping.js} +5 -2
- package/dist/protocols/arweave/subgraph.js +23 -0
- package/dist/protocols/contract.js +2 -0
- package/{src → dist}/protocols/cosmos/manifest.graphql +0 -0
- package/dist/protocols/cosmos/scaffold/manifest.js +15 -0
- package/{src/protocols/cosmos/scaffold/mapping.ts → dist/protocols/cosmos/scaffold/mapping.js} +5 -2
- package/dist/protocols/cosmos/subgraph.js +28 -0
- package/dist/protocols/ethereum/abi.js +138 -0
- package/dist/protocols/ethereum/codegen/abi.js +474 -0
- package/dist/protocols/ethereum/codegen/abi.test.js +325 -0
- package/dist/protocols/ethereum/codegen/template.js +52 -0
- package/dist/protocols/ethereum/contract.js +22 -0
- package/{src → dist}/protocols/ethereum/manifest.graphql +0 -0
- package/dist/protocols/ethereum/scaffold/manifest.js +32 -0
- package/{src/protocols/ethereum/scaffold/mapping.ts → dist/protocols/ethereum/scaffold/mapping.js} +18 -29
- package/dist/protocols/ethereum/subgraph.js +172 -0
- package/dist/protocols/ethereum/type-generator.js +123 -0
- package/dist/protocols/index.js +266 -0
- package/dist/protocols/ipfs/codegen/file_template.js +53 -0
- package/dist/protocols/near/contract.js +41 -0
- package/{src → dist}/protocols/near/manifest.graphql +0 -0
- package/dist/protocols/near/scaffold/manifest.js +16 -0
- package/{src/protocols/near/scaffold/mapping.ts → dist/protocols/near/scaffold/mapping.js} +5 -2
- package/dist/protocols/near/subgraph.js +23 -0
- package/dist/protocols/subgraph.js +2 -0
- package/{src → dist}/protocols/substreams/manifest.graphql +0 -0
- package/dist/protocols/substreams/scaffold/manifest.js +12 -0
- package/dist/protocols/substreams/subgraph.js +23 -0
- package/{src/scaffold/cosmos.test.ts → dist/scaffold/cosmos.test.js} +21 -22
- package/{src/scaffold/ethereum.test.ts → dist/scaffold/ethereum.test.js} +85 -101
- package/dist/scaffold/index.js +133 -0
- package/dist/scaffold/mapping.js +57 -0
- package/{src/scaffold/near.test.ts → dist/scaffold/near.test.js} +22 -23
- package/dist/scaffold/schema.js +86 -0
- package/dist/scaffold/tests.js +179 -0
- package/dist/schema.js +54 -0
- package/dist/subgraph.js +243 -0
- package/dist/type-generator.js +225 -0
- package/dist/validation/contract.js +44 -0
- package/dist/validation/index.js +10 -0
- package/dist/validation/manifest.js +266 -0
- package/dist/validation/schema.js +768 -0
- package/dist/validation/schema.test.js +35 -0
- package/dist/watcher.js +79 -0
- package/package.json +5 -1
- package/babel.config.js +0 -3
- package/jest.config.js +0 -175
- package/src/bin.ts +0 -6
- package/src/cli.ts +0 -30
- package/src/codegen/schema.test.ts +0 -460
- package/src/codegen/schema.ts +0 -299
- package/src/codegen/template.ts +0 -45
- package/src/codegen/types/conversions.ts +0 -358
- package/src/codegen/types/index.test.ts +0 -715
- package/src/codegen/types/index.ts +0 -111
- package/src/codegen/typescript.ts +0 -224
- package/src/codegen/util.test.ts +0 -112
- package/src/codegen/util.ts +0 -54
- package/src/command-helpers/abi.ts +0 -99
- package/src/command-helpers/auth.ts +0 -46
- package/src/command-helpers/compiler.ts +0 -60
- package/src/command-helpers/data-sources.ts +0 -36
- package/src/command-helpers/fs.ts +0 -5
- package/src/command-helpers/gluegun.ts +0 -52
- package/src/command-helpers/ipfs-http-client.d.ts +0 -1
- package/src/command-helpers/ipfs.ts +0 -3
- package/src/command-helpers/jsonrpc.ts +0 -22
- package/src/command-helpers/network.test.ts +0 -85
- package/src/command-helpers/network.ts +0 -133
- package/src/command-helpers/node.ts +0 -46
- package/src/command-helpers/scaffold.ts +0 -174
- package/src/command-helpers/spinner.ts +0 -60
- package/src/command-helpers/studio.test.ts +0 -84
- package/src/command-helpers/studio.ts +0 -25
- package/src/command-helpers/subgraph.ts +0 -21
- package/src/command-helpers/version.test.ts +0 -241
- package/src/command-helpers/version.ts +0 -53
- package/src/commands/add.ts +0 -220
- package/src/commands/auth.ts +0 -138
- package/src/commands/binary-install-raw.d.ts +0 -1
- package/src/commands/build.ts +0 -147
- package/src/commands/codegen.ts +0 -123
- package/src/commands/create.ts +0 -109
- package/src/commands/deploy.ts +0 -388
- package/src/commands/init.ts +0 -1060
- package/src/commands/local.ts +0 -539
- package/src/commands/remove.ts +0 -110
- package/src/commands/test.ts +0 -369
- package/src/compiler/asc.ts +0 -77
- package/src/compiler/index.ts +0 -677
- package/src/debug.ts +0 -15
- package/src/migrations/mapping_api_version_0_0_1.ts +0 -75
- package/src/migrations/mapping_api_version_0_0_2.ts +0 -75
- package/src/migrations/mapping_api_version_0_0_3.ts +0 -75
- package/src/migrations/mapping_api_version_0_0_4.ts +0 -77
- package/src/migrations/mapping_api_version_0_0_5.ts +0 -77
- package/src/migrations/spec_version_0_0_2.ts +0 -24
- package/src/migrations/spec_version_0_0_3.ts +0 -29
- package/src/migrations/util/load-manifest.ts +0 -10
- package/src/migrations/util/versions.ts +0 -27
- package/src/migrations.ts +0 -33
- package/src/protocols/arweave/subgraph.ts +0 -22
- package/src/protocols/contract.ts +0 -9
- package/src/protocols/cosmos/scaffold/manifest.ts +0 -11
- package/src/protocols/cosmos/subgraph.ts +0 -27
- package/src/protocols/ethereum/abi.ts +0 -153
- package/src/protocols/ethereum/codegen/abi.test.ts +0 -330
- package/src/protocols/ethereum/codegen/abi.ts +0 -719
- package/src/protocols/ethereum/codegen/template.ts +0 -41
- package/src/protocols/ethereum/contract.ts +0 -24
- package/src/protocols/ethereum/scaffold/manifest.ts +0 -28
- package/src/protocols/ethereum/subgraph.ts +0 -189
- package/src/protocols/ethereum/type-generator.ts +0 -191
- package/src/protocols/index.ts +0 -287
- package/src/protocols/ipfs/codegen/file_template.ts +0 -43
- package/src/protocols/near/contract.ts +0 -47
- package/src/protocols/near/scaffold/manifest.ts +0 -13
- package/src/protocols/near/subgraph.ts +0 -22
- package/src/protocols/subgraph.ts +0 -12
- package/src/protocols/substreams/scaffold/manifest.ts +0 -8
- package/src/protocols/substreams/subgraph.ts +0 -22
- package/src/scaffold/index.ts +0 -172
- package/src/scaffold/mapping.ts +0 -44
- package/src/scaffold/schema.ts +0 -89
- package/src/scaffold/tests.ts +0 -217
- package/src/schema.ts +0 -26
- package/src/subgraph.ts +0 -302
- package/src/type-generator.ts +0 -266
- package/src/validation/contract.ts +0 -51
- package/src/validation/index.ts +0 -5
- package/src/validation/manifest.ts +0 -360
- package/src/validation/schema.test.ts +0 -38
- package/src/validation/schema.ts +0 -957
- package/src/watcher.ts +0 -96
- package/tests/cli/globalSetup.ts +0 -8
- package/tests/cli/globalTeardown.ts +0 -8
- package/tests/cli/init/ethereum/abis/Marketplace.json +0 -408
- package/tests/cli/init/ethereum/abis/OverloadedElements.json +0 -91
- package/tests/cli/init/ethereum/abis/SoloMargin.json +0 -2729
- package/tests/cli/init/ethereum/from-contract-with-abi-and-structs.stderr +0 -14
- package/tests/cli/init/ethereum/from-contract-with-abi-and-structs.stdout +0 -12
- package/tests/cli/init/ethereum/from-contract-with-abi.stderr +0 -14
- package/tests/cli/init/ethereum/from-contract-with-abi.stdout +0 -12
- package/tests/cli/init/ethereum/from-contract-with-overloaded-elements.stderr +0 -14
- package/tests/cli/init/ethereum/from-contract-with-overloaded-elements.stdout +0 -12
- package/tests/cli/init/ethereum/from-contract.stderr +0 -16
- package/tests/cli/init/ethereum/from-contract.stdout +0 -12
- package/tests/cli/init/ethereum/from-example.stderr +0 -12
- package/tests/cli/init/ethereum/from-example.stdout +0 -12
- package/tests/cli/init/near/from-contract.stderr +0 -14
- package/tests/cli/init/near/from-contract.stdout +0 -12
- package/tests/cli/init.test.ts +0 -157
- package/tests/cli/spawn-command.d.ts +0 -7
- package/tests/cli/util.ts +0 -132
- package/tests/cli/validation/abi-not-found/Abi.json +0 -7
- package/tests/cli/validation/abi-not-found/mapping.ts +0 -0
- package/tests/cli/validation/abi-not-found/schema.graphql +0 -3
- package/tests/cli/validation/abi-not-found/subgraph.yaml +0 -42
- package/tests/cli/validation/abi-not-found copy.stderr +0 -13
- package/tests/cli/validation/big-decimal-is-valid/Abi.json +0 -7
- package/tests/cli/validation/big-decimal-is-valid/mapping.ts +0 -0
- package/tests/cli/validation/big-decimal-is-valid/schema.graphql +0 -4
- package/tests/cli/validation/big-decimal-is-valid/subgraph.yaml +0 -23
- package/tests/cli/validation/call-function-not-found/Abi.json +0 -57
- package/tests/cli/validation/call-function-not-found/mapping.ts +0 -0
- package/tests/cli/validation/call-function-not-found/schema.graphql +0 -3
- package/tests/cli/validation/call-function-not-found/subgraph.yaml +0 -22
- package/tests/cli/validation/call-function-not-found.stderr +0 -10
- package/tests/cli/validation/call-handler-with-tuple/Abi.json +0 -24
- package/tests/cli/validation/call-handler-with-tuple/generated/schema.ts +0 -44
- package/tests/cli/validation/call-handler-with-tuple/mapping.ts +0 -0
- package/tests/cli/validation/call-handler-with-tuple/schema.graphql +0 -3
- package/tests/cli/validation/call-handler-with-tuple/subgraph.yaml +0 -22
- package/tests/cli/validation/call-handler-with-tuple.stderr +0 -24
- package/tests/cli/validation/conflicting-network-names/Abi.json +0 -7
- package/tests/cli/validation/conflicting-network-names/mapping.ts +0 -0
- package/tests/cli/validation/conflicting-network-names/schema.graphql +0 -3
- package/tests/cli/validation/conflicting-network-names/subgraph.yaml +0 -41
- package/tests/cli/validation/conflicting-network-names.stderr +0 -10
- package/tests/cli/validation/conflicting-protocol-names/Abi.json +0 -7
- package/tests/cli/validation/conflicting-protocol-names/mapping.ts +0 -0
- package/tests/cli/validation/conflicting-protocol-names/schema.graphql +0 -3
- package/tests/cli/validation/conflicting-protocol-names/subgraph.yaml +0 -41
- package/tests/cli/validation/conflicting-protocol-names.stderr +0 -10
- package/tests/cli/validation/derived-from-target-type-missing/Abi.json +0 -6
- package/tests/cli/validation/derived-from-target-type-missing/mapping.ts +0 -0
- package/tests/cli/validation/derived-from-target-type-missing/schema.graphql +0 -4
- package/tests/cli/validation/derived-from-target-type-missing/subgraph.yaml +0 -22
- package/tests/cli/validation/derived-from-target-type-missing.stderr +0 -5
- package/tests/cli/validation/derived-from-with-interface/Gravity.json +0 -1
- package/tests/cli/validation/derived-from-with-interface/mapping.ts +0 -22
- package/tests/cli/validation/derived-from-with-interface/schema.graphql +0 -19
- package/tests/cli/validation/derived-from-with-interface/subgraph.yaml +0 -25
- package/tests/cli/validation/duplicate-data-source-name/Abi.json +0 -7
- package/tests/cli/validation/duplicate-data-source-name/mapping.ts +0 -0
- package/tests/cli/validation/duplicate-data-source-name/schema.graphql +0 -4
- package/tests/cli/validation/duplicate-data-source-name/subgraph.yaml +0 -40
- package/tests/cli/validation/duplicate-data-source-name.stderr +0 -5
- package/tests/cli/validation/duplicate-template-name/Abi.json +0 -7
- package/tests/cli/validation/duplicate-template-name/mapping.ts +0 -0
- package/tests/cli/validation/duplicate-template-name/schema.graphql +0 -4
- package/tests/cli/validation/duplicate-template-name/subgraph.yaml +0 -59
- package/tests/cli/validation/duplicate-template-name.stderr +0 -5
- package/tests/cli/validation/entity-field-args/Abi.json +0 -7
- package/tests/cli/validation/entity-field-args/mapping.ts +0 -0
- package/tests/cli/validation/entity-field-args/schema.graphql +0 -4
- package/tests/cli/validation/entity-field-args/subgraph.yaml +0 -22
- package/tests/cli/validation/entity-field-args.stderr +0 -5
- package/tests/cli/validation/ethereum-contract-without-handlers/Abi.json +0 -7
- package/tests/cli/validation/ethereum-contract-without-handlers/mapping.ts +0 -0
- package/tests/cli/validation/ethereum-contract-without-handlers/schema.graphql +0 -3
- package/tests/cli/validation/ethereum-contract-without-handlers/subgraph.yaml +0 -19
- package/tests/cli/validation/ethereum-contract-without-handlers.stderr +0 -6
- package/tests/cli/validation/event-not-found/Abi.json +0 -7
- package/tests/cli/validation/event-not-found/mapping.ts +0 -0
- package/tests/cli/validation/event-not-found/schema.graphql +0 -3
- package/tests/cli/validation/event-not-found/subgraph.yaml +0 -40
- package/tests/cli/validation/event-not-found.stderr +0 -12
- package/tests/cli/validation/example-values-found/Abi.json +0 -7
- package/tests/cli/validation/example-values-found/generated/ExampleSubgraph/ExampleContract.ts +0 -35
- package/tests/cli/validation/example-values-found/generated/schema.ts +0 -44
- package/tests/cli/validation/example-values-found/mapping.ts +0 -0
- package/tests/cli/validation/example-values-found/schema.graphql +0 -3
- package/tests/cli/validation/example-values-found/subgraph.yaml +0 -24
- package/tests/cli/validation/example-values-found.stderr +0 -34
- package/tests/cli/validation/invalid-abis/InvalidAbi.json +0 -1
- package/tests/cli/validation/invalid-abis/mapping.ts +0 -0
- package/tests/cli/validation/invalid-abis/schema.graphql +0 -3
- package/tests/cli/validation/invalid-abis/subgraph.yaml +0 -22
- package/tests/cli/validation/invalid-abis.stderr +0 -5
- package/tests/cli/validation/invalid-contract-addresses/Abi.json +0 -7
- package/tests/cli/validation/invalid-contract-addresses/mapping.ts +0 -0
- package/tests/cli/validation/invalid-contract-addresses/schema.graphql +0 -3
- package/tests/cli/validation/invalid-contract-addresses/subgraph.yaml +0 -58
- package/tests/cli/validation/invalid-contract-addresses.stderr +0 -14
- package/tests/cli/validation/invalid-data-source-template/mapping.ts +0 -0
- package/tests/cli/validation/invalid-data-source-template/schema.graphql +0 -3
- package/tests/cli/validation/invalid-data-source-template/subgraph.yaml +0 -32
- package/tests/cli/validation/invalid-data-source-template.stderr +0 -30
- package/tests/cli/validation/invalid-entity-field-types/Abi.json +0 -7
- package/tests/cli/validation/invalid-entity-field-types/mapping.ts +0 -0
- package/tests/cli/validation/invalid-entity-field-types/schema.graphql +0 -157
- package/tests/cli/validation/invalid-entity-field-types/subgraph.yaml +0 -22
- package/tests/cli/validation/invalid-entity-field-types.stderr +0 -148
- package/tests/cli/validation/invalid-fulltext-directive/Abi.json +0 -7
- package/tests/cli/validation/invalid-fulltext-directive/mapping.ts +0 -0
- package/tests/cli/validation/invalid-fulltext-directive/schema.graphql +0 -140
- package/tests/cli/validation/invalid-fulltext-directive/subgraph.yaml +0 -22
- package/tests/cli/validation/invalid-fulltext-directive.stderr +0 -32
- package/tests/cli/validation/invalid-graphql-schema/Abi.json +0 -7
- package/tests/cli/validation/invalid-graphql-schema/mapping.ts +0 -0
- package/tests/cli/validation/invalid-graphql-schema/schema.graphql +0 -8
- package/tests/cli/validation/invalid-graphql-schema/subgraph.yaml +0 -22
- package/tests/cli/validation/invalid-graphql-schema.stderr +0 -25
- package/tests/cli/validation/invalid-manifest/subgraph.yaml +0 -13
- package/tests/cli/validation/invalid-manifest-cannot-infer-protocol/subgraph.yaml +0 -12
- package/tests/cli/validation/invalid-manifest-cannot-infer-protocol.stderr +0 -5
- package/tests/cli/validation/invalid-manifest.stderr +0 -28
- package/tests/cli/validation/missing-entity-id/Abi.json +0 -7
- package/tests/cli/validation/missing-entity-id/mapping.ts +0 -0
- package/tests/cli/validation/missing-entity-id/schema.graphql +0 -3
- package/tests/cli/validation/missing-entity-id/subgraph.yaml +0 -22
- package/tests/cli/validation/missing-entity-id/types/ExampleSubgraph/ExampleContract.ts +0 -35
- package/tests/cli/validation/missing-entity-id/types/schema.ts +0 -27
- package/tests/cli/validation/missing-entity-id.stderr +0 -5
- package/tests/cli/validation/missing-or-invalid-derived-from-fields/Abi.json +0 -7
- package/tests/cli/validation/missing-or-invalid-derived-from-fields/mapping.ts +0 -0
- package/tests/cli/validation/missing-or-invalid-derived-from-fields/schema.graphql +0 -40
- package/tests/cli/validation/missing-or-invalid-derived-from-fields/subgraph.yaml +0 -22
- package/tests/cli/validation/missing-or-invalid-derived-from-fields.stderr +0 -10
- package/tests/cli/validation/missing-or-invalid-derived-from-fields.stdout +0 -0
- package/tests/cli/validation/near-is-valid/mapping.ts +0 -0
- package/tests/cli/validation/near-is-valid/schema.graphql +0 -8
- package/tests/cli/validation/near-is-valid/subgraph.yaml +0 -30
- package/tests/cli/validation/nested-template-nice-error/Abi.json +0 -7
- package/tests/cli/validation/nested-template-nice-error/mapping.ts +0 -0
- package/tests/cli/validation/nested-template-nice-error/schema.graphql +0 -3
- package/tests/cli/validation/nested-template-nice-error/subgraph.yaml +0 -35
- package/tests/cli/validation/nested-template-nice-error.stderr +0 -5
- package/tests/cli/validation/no-network-names/Abi.json +0 -7
- package/tests/cli/validation/no-network-names/mapping.ts +0 -0
- package/tests/cli/validation/no-network-names/schema.graphql +0 -3
- package/tests/cli/validation/no-network-names/subgraph.yaml +0 -40
- package/tests/cli/validation/no-network-names.stderr +0 -34
- package/tests/cli/validation/source-without-address-is-valid/Abi.json +0 -7
- package/tests/cli/validation/source-without-address-is-valid/generated/ExampleSubgraph/ExampleContract.ts +0 -35
- package/tests/cli/validation/source-without-address-is-valid/mapping.ts +0 -0
- package/tests/cli/validation/source-without-address-is-valid/schema.graphql +0 -3
- package/tests/cli/validation/source-without-address-is-valid/subgraph.yaml +0 -23
- package/tests/cli/validation/source-without-address-is-valid.stderr +0 -24
- package/tests/cli/validation/topic0-is-valid/Abi.json +0 -7
- package/tests/cli/validation/topic0-is-valid/mapping.ts +0 -0
- package/tests/cli/validation/topic0-is-valid/schema.graphql +0 -4
- package/tests/cli/validation/topic0-is-valid/subgraph.yaml +0 -24
- package/tests/cli/validation.test.ts +0 -226
- package/tsconfig.build.json +0 -4
- package/tsconfig.json +0 -19
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
import * as toolbox from 'gluegun';
|
|
4
|
-
import semver from 'semver';
|
|
5
|
-
import { loadManifest } from './util/load-manifest';
|
|
6
|
-
import { getGraphTsVersion } from './util/versions';
|
|
7
|
-
|
|
8
|
-
// If any of the manifest apiVersions are 0.0.1, replace them with 0.0.2
|
|
9
|
-
export default {
|
|
10
|
-
name: 'Bump mapping apiVersion from 0.0.1 to 0.0.2',
|
|
11
|
-
predicate: async ({ sourceDir, manifestFile }: { sourceDir: string; manifestFile: string }) => {
|
|
12
|
-
// Obtain the graph-ts version, if possible
|
|
13
|
-
let graphTsVersion;
|
|
14
|
-
try {
|
|
15
|
-
graphTsVersion = await getGraphTsVersion(sourceDir);
|
|
16
|
-
} catch (_) {
|
|
17
|
-
// If we cannot obtain the version, return a hint that the graph-ts
|
|
18
|
-
// hasn't been installed yet
|
|
19
|
-
return 'graph-ts dependency not installed yet';
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const manifest = await loadManifest(manifestFile);
|
|
23
|
-
return (
|
|
24
|
-
// Only migrate if the graph-ts version is > 0.5.1...
|
|
25
|
-
semver.gt(graphTsVersion, '0.5.1') &&
|
|
26
|
-
// ...and we have a manifest with mapping > apiVersion = 0.0.1
|
|
27
|
-
manifest &&
|
|
28
|
-
typeof manifest === 'object' &&
|
|
29
|
-
Array.isArray(manifest.dataSources) &&
|
|
30
|
-
(manifest.dataSources.reduce(
|
|
31
|
-
(hasOldMappings: boolean, dataSource: any) =>
|
|
32
|
-
hasOldMappings ||
|
|
33
|
-
(typeof dataSource === 'object' &&
|
|
34
|
-
dataSource.mapping &&
|
|
35
|
-
typeof dataSource.mapping === 'object' &&
|
|
36
|
-
dataSource.mapping.apiVersion === '0.0.1'),
|
|
37
|
-
false,
|
|
38
|
-
) ||
|
|
39
|
-
(Array.isArray(manifest.templates) &&
|
|
40
|
-
manifest.templates.reduce(
|
|
41
|
-
(hasOldMappings: boolean, template: any) =>
|
|
42
|
-
hasOldMappings ||
|
|
43
|
-
(typeof template === 'object' &&
|
|
44
|
-
template.mapping &&
|
|
45
|
-
typeof template.mapping === 'object' &&
|
|
46
|
-
template.mapping.apiVersion === '0.0.1'),
|
|
47
|
-
false,
|
|
48
|
-
)))
|
|
49
|
-
);
|
|
50
|
-
},
|
|
51
|
-
apply: async ({ manifestFile }: { manifestFile: string }) => {
|
|
52
|
-
// Make sure we catch all variants; we could load the manifest
|
|
53
|
-
// and replace the values in the data structures here; unfortunately
|
|
54
|
-
// writing that back to the file messes with the formatting more than
|
|
55
|
-
// we'd like; that's why for now, we use a simple patching approach
|
|
56
|
-
await toolbox.patching.replace(
|
|
57
|
-
manifestFile,
|
|
58
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
59
|
-
new RegExp('apiVersion: 0.0.1', 'g'),
|
|
60
|
-
'apiVersion: 0.0.2',
|
|
61
|
-
);
|
|
62
|
-
await toolbox.patching.replace(
|
|
63
|
-
manifestFile,
|
|
64
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
65
|
-
new RegExp("apiVersion: '0.0.1'", 'g'),
|
|
66
|
-
"apiVersion: '0.0.2'",
|
|
67
|
-
);
|
|
68
|
-
await toolbox.patching.replace(
|
|
69
|
-
manifestFile,
|
|
70
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
71
|
-
new RegExp('apiVersion: "0.0.1"', 'g'),
|
|
72
|
-
'apiVersion: "0.0.2"',
|
|
73
|
-
);
|
|
74
|
-
},
|
|
75
|
-
};
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
import * as toolbox from 'gluegun';
|
|
4
|
-
import semver from 'semver';
|
|
5
|
-
import { loadManifest } from './util/load-manifest';
|
|
6
|
-
import { getGraphTsVersion } from './util/versions';
|
|
7
|
-
|
|
8
|
-
// If any of the manifest apiVersions are 0.0.2, replace them with 0.0.3
|
|
9
|
-
export default {
|
|
10
|
-
name: 'Bump mapping apiVersion from 0.0.2 to 0.0.3',
|
|
11
|
-
predicate: async ({ sourceDir, manifestFile }: { sourceDir: string; manifestFile: string }) => {
|
|
12
|
-
// Obtain the graph-ts version, if possible
|
|
13
|
-
let graphTsVersion;
|
|
14
|
-
try {
|
|
15
|
-
graphTsVersion = await getGraphTsVersion(sourceDir);
|
|
16
|
-
} catch (_) {
|
|
17
|
-
// If we cannot obtain the version, return a hint that the graph-ts
|
|
18
|
-
// hasn't been installed yet
|
|
19
|
-
return 'graph-ts dependency not installed yet';
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const manifest = await loadManifest(manifestFile);
|
|
23
|
-
return (
|
|
24
|
-
// Only migrate if the graph-ts version is > 0.12.0...
|
|
25
|
-
semver.gt(graphTsVersion, '0.12.0') &&
|
|
26
|
-
// ...and we have a manifest with mapping > apiVersion = 0.0.2
|
|
27
|
-
manifest &&
|
|
28
|
-
typeof manifest === 'object' &&
|
|
29
|
-
Array.isArray(manifest.dataSources) &&
|
|
30
|
-
(manifest.dataSources.reduce(
|
|
31
|
-
(hasOldMappings: boolean, dataSource: any) =>
|
|
32
|
-
hasOldMappings ||
|
|
33
|
-
(typeof dataSource === 'object' &&
|
|
34
|
-
dataSource.mapping &&
|
|
35
|
-
typeof dataSource.mapping === 'object' &&
|
|
36
|
-
dataSource.mapping.apiVersion === '0.0.2'),
|
|
37
|
-
false,
|
|
38
|
-
) ||
|
|
39
|
-
(Array.isArray(manifest.templates) &&
|
|
40
|
-
manifest.templates.reduce(
|
|
41
|
-
(hasOldMappings: boolean, template: any) =>
|
|
42
|
-
hasOldMappings ||
|
|
43
|
-
(typeof template === 'object' &&
|
|
44
|
-
template.mapping &&
|
|
45
|
-
typeof template.mapping === 'object' &&
|
|
46
|
-
template.mapping.apiVersion === '0.0.2'),
|
|
47
|
-
false,
|
|
48
|
-
)))
|
|
49
|
-
);
|
|
50
|
-
},
|
|
51
|
-
apply: async ({ manifestFile }: { manifestFile: string }) => {
|
|
52
|
-
// Make sure we catch all variants; we could load the manifest
|
|
53
|
-
// and replace the values in the data structures here; unfortunately
|
|
54
|
-
// writing that back to the file messes with the formatting more than
|
|
55
|
-
// we'd like; that's why for now, we use a simple patching approach
|
|
56
|
-
await toolbox.patching.replace(
|
|
57
|
-
manifestFile,
|
|
58
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
59
|
-
new RegExp('apiVersion: 0.0.2', 'g'),
|
|
60
|
-
'apiVersion: 0.0.3',
|
|
61
|
-
);
|
|
62
|
-
await toolbox.patching.replace(
|
|
63
|
-
manifestFile,
|
|
64
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
65
|
-
new RegExp("apiVersion: '0.0.2'", 'g'),
|
|
66
|
-
"apiVersion: '0.0.3'",
|
|
67
|
-
);
|
|
68
|
-
await toolbox.patching.replace(
|
|
69
|
-
manifestFile,
|
|
70
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
71
|
-
new RegExp('apiVersion: "0.0.2"', 'g'),
|
|
72
|
-
'apiVersion: "0.0.3"',
|
|
73
|
-
);
|
|
74
|
-
},
|
|
75
|
-
};
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
import * as toolbox from 'gluegun';
|
|
4
|
-
import semver from 'semver';
|
|
5
|
-
import { loadManifest } from './util/load-manifest';
|
|
6
|
-
import { getGraphTsVersion } from './util/versions';
|
|
7
|
-
|
|
8
|
-
// If any of the manifest apiVersions are 0.0.3, replace them with 0.0.4
|
|
9
|
-
export default {
|
|
10
|
-
name: 'Bump mapping apiVersion from 0.0.3 to 0.0.4',
|
|
11
|
-
predicate: async ({ sourceDir, manifestFile }: { sourceDir: string; manifestFile: string }) => {
|
|
12
|
-
// Obtain the graph-ts version, if possible
|
|
13
|
-
let graphTsVersion;
|
|
14
|
-
try {
|
|
15
|
-
graphTsVersion = await getGraphTsVersion(sourceDir);
|
|
16
|
-
} catch (_) {
|
|
17
|
-
// If we cannot obtain the version, return a hint that the graph-ts
|
|
18
|
-
// hasn't been installed yet
|
|
19
|
-
return 'graph-ts dependency not installed yet';
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const manifest = await loadManifest(manifestFile);
|
|
23
|
-
return (
|
|
24
|
-
// Only migrate if the graph-ts version is > 0.17.0...
|
|
25
|
-
semver.gt(graphTsVersion, '0.17.0') &&
|
|
26
|
-
// ...and we have a manifest with mapping > apiVersion = 0.0.3
|
|
27
|
-
manifest &&
|
|
28
|
-
typeof manifest === 'object' &&
|
|
29
|
-
Array.isArray(manifest.dataSources) &&
|
|
30
|
-
(manifest.dataSources.reduce(
|
|
31
|
-
(hasOldMappings: boolean, dataSource: any) =>
|
|
32
|
-
hasOldMappings ||
|
|
33
|
-
(typeof dataSource === 'object' &&
|
|
34
|
-
dataSource.mapping &&
|
|
35
|
-
typeof dataSource.mapping === 'object' &&
|
|
36
|
-
dataSource.mapping.apiVersion === '0.0.3'),
|
|
37
|
-
false,
|
|
38
|
-
) ||
|
|
39
|
-
(Array.isArray(manifest.templates) &&
|
|
40
|
-
manifest.templates.reduce(
|
|
41
|
-
(hasOldMappings: boolean, template: any) =>
|
|
42
|
-
hasOldMappings ||
|
|
43
|
-
(typeof template === 'object' &&
|
|
44
|
-
template.mapping &&
|
|
45
|
-
typeof template.mapping === 'object' &&
|
|
46
|
-
template.mapping.apiVersion === '0.0.3'),
|
|
47
|
-
false,
|
|
48
|
-
)))
|
|
49
|
-
);
|
|
50
|
-
},
|
|
51
|
-
apply: async ({ manifestFile }: { manifestFile: string }) => {
|
|
52
|
-
// Make sure we catch all variants; we could load the manifest
|
|
53
|
-
// and replace the values in the data structures here; unfortunately
|
|
54
|
-
// writing that back to the file messes with the formatting more than
|
|
55
|
-
// we'd like; that's why for now, we use a simple patching approach
|
|
56
|
-
await toolbox.patching.replace(
|
|
57
|
-
manifestFile,
|
|
58
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
59
|
-
new RegExp('apiVersion: 0.0.3', 'g'),
|
|
60
|
-
'apiVersion: 0.0.4',
|
|
61
|
-
);
|
|
62
|
-
await toolbox.patching.replace(
|
|
63
|
-
manifestFile,
|
|
64
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
65
|
-
new RegExp("apiVersion: '0.0.3'", 'g'),
|
|
66
|
-
"apiVersion: '0.0.4'",
|
|
67
|
-
);
|
|
68
|
-
await toolbox.patching.replace(
|
|
69
|
-
manifestFile,
|
|
70
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
71
|
-
new RegExp('apiVersion: "0.0.3"', 'g'),
|
|
72
|
-
'apiVersion: "0.0.4"',
|
|
73
|
-
);
|
|
74
|
-
},
|
|
75
|
-
};
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
import * as toolbox from 'gluegun';
|
|
4
|
-
import semver from 'semver';
|
|
5
|
-
import { loadManifest } from './util/load-manifest';
|
|
6
|
-
import { getGraphTsVersion } from './util/versions';
|
|
7
|
-
|
|
8
|
-
// If any of the manifest apiVersions are 0.0.4, replace them with 0.0.5
|
|
9
|
-
export default {
|
|
10
|
-
name: 'Bump mapping apiVersion from 0.0.4 to 0.0.5',
|
|
11
|
-
predicate: async ({ sourceDir, manifestFile }: { sourceDir: string; manifestFile: string }) => {
|
|
12
|
-
// Obtain the graph-ts version, if possible
|
|
13
|
-
let graphTsVersion;
|
|
14
|
-
try {
|
|
15
|
-
graphTsVersion = await getGraphTsVersion(sourceDir);
|
|
16
|
-
} catch (_) {
|
|
17
|
-
// If we cannot obtain the version, return a hint that the graph-ts
|
|
18
|
-
// hasn't been installed yet
|
|
19
|
-
return 'graph-ts dependency not installed yet';
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const manifest = await loadManifest(manifestFile);
|
|
23
|
-
return (
|
|
24
|
-
// Only migrate if the graph-ts version is >= 0.22.0...
|
|
25
|
-
// Coerce needed because we may be dealing with an alpha version
|
|
26
|
-
// and in the `semver` library this would not return true on equality.
|
|
27
|
-
semver.gte(semver.coerce(graphTsVersion)!, '0.22.0') &&
|
|
28
|
-
// ...and we have a manifest with mapping > apiVersion = 0.0.4
|
|
29
|
-
manifest &&
|
|
30
|
-
typeof manifest === 'object' &&
|
|
31
|
-
Array.isArray(manifest.dataSources) &&
|
|
32
|
-
(manifest.dataSources.reduce(
|
|
33
|
-
(hasOldMappings: boolean, dataSource: any) =>
|
|
34
|
-
hasOldMappings ||
|
|
35
|
-
(typeof dataSource === 'object' &&
|
|
36
|
-
dataSource.mapping &&
|
|
37
|
-
typeof dataSource.mapping === 'object' &&
|
|
38
|
-
dataSource.mapping.apiVersion === '0.0.4'),
|
|
39
|
-
false,
|
|
40
|
-
) ||
|
|
41
|
-
(Array.isArray(manifest.templates) &&
|
|
42
|
-
manifest.templates.reduce(
|
|
43
|
-
(hasOldMappings: boolean, template: any) =>
|
|
44
|
-
hasOldMappings ||
|
|
45
|
-
(typeof template === 'object' &&
|
|
46
|
-
template.mapping &&
|
|
47
|
-
typeof template.mapping === 'object' &&
|
|
48
|
-
template.mapping.apiVersion === '0.0.4'),
|
|
49
|
-
false,
|
|
50
|
-
)))
|
|
51
|
-
);
|
|
52
|
-
},
|
|
53
|
-
apply: async ({ manifestFile }: { manifestFile: string }) => {
|
|
54
|
-
// Make sure we catch all variants; we could load the manifest
|
|
55
|
-
// and replace the values in the data structures here; unfortunately
|
|
56
|
-
// writing that back to the file messes with the formatting more than
|
|
57
|
-
// we'd like; that's why for now, we use a simple patching approach
|
|
58
|
-
await toolbox.patching.replace(
|
|
59
|
-
manifestFile,
|
|
60
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
61
|
-
new RegExp('apiVersion: 0.0.4', 'g'),
|
|
62
|
-
'apiVersion: 0.0.5',
|
|
63
|
-
);
|
|
64
|
-
await toolbox.patching.replace(
|
|
65
|
-
manifestFile,
|
|
66
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
67
|
-
new RegExp("apiVersion: '0.0.4'", 'g'),
|
|
68
|
-
"apiVersion: '0.0.5'",
|
|
69
|
-
);
|
|
70
|
-
await toolbox.patching.replace(
|
|
71
|
-
manifestFile,
|
|
72
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
73
|
-
new RegExp('apiVersion: "0.0.4"', 'g'),
|
|
74
|
-
'apiVersion: "0.0.5"',
|
|
75
|
-
);
|
|
76
|
-
},
|
|
77
|
-
};
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
import * as toolbox from 'gluegun';
|
|
4
|
-
import semver from 'semver';
|
|
5
|
-
import { loadManifest } from './util/load-manifest';
|
|
6
|
-
import { getGraphTsVersion } from './util/versions';
|
|
7
|
-
|
|
8
|
-
// If any of the manifest apiVersions are 0.0.5, replace them with 0.0.6
|
|
9
|
-
export default {
|
|
10
|
-
name: 'Bump mapping apiVersion from 0.0.5 to 0.0.6',
|
|
11
|
-
predicate: async ({ sourceDir, manifestFile }: { sourceDir: string; manifestFile: string }) => {
|
|
12
|
-
// Obtain the graph-ts version, if possible
|
|
13
|
-
let graphTsVersion;
|
|
14
|
-
try {
|
|
15
|
-
graphTsVersion = await getGraphTsVersion(sourceDir);
|
|
16
|
-
} catch (_) {
|
|
17
|
-
// If we cannot obtain the version, return a hint that the graph-ts
|
|
18
|
-
// hasn't been installed yet
|
|
19
|
-
return 'graph-ts dependency not installed yet';
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const manifest = await loadManifest(manifestFile);
|
|
23
|
-
return (
|
|
24
|
-
// Only migrate if the graph-ts version is >= 0.24.0...
|
|
25
|
-
// Coerce needed because we may be dealing with an alpha version
|
|
26
|
-
// and in the `semver` library this would not return true on equality.
|
|
27
|
-
semver.gte(semver.coerce(graphTsVersion)!, '0.24.0') &&
|
|
28
|
-
// ...and we have a manifest with mapping > apiVersion = 0.0.5
|
|
29
|
-
manifest &&
|
|
30
|
-
typeof manifest === 'object' &&
|
|
31
|
-
Array.isArray(manifest.dataSources) &&
|
|
32
|
-
(manifest.dataSources.reduce(
|
|
33
|
-
(hasOldMappings: boolean, dataSource: any) =>
|
|
34
|
-
hasOldMappings ||
|
|
35
|
-
(typeof dataSource === 'object' &&
|
|
36
|
-
dataSource.mapping &&
|
|
37
|
-
typeof dataSource.mapping === 'object' &&
|
|
38
|
-
dataSource.mapping.apiVersion === '0.0.5'),
|
|
39
|
-
false,
|
|
40
|
-
) ||
|
|
41
|
-
(Array.isArray(manifest.templates) &&
|
|
42
|
-
manifest.templates.reduce(
|
|
43
|
-
(hasOldMappings: boolean, template: any) =>
|
|
44
|
-
hasOldMappings ||
|
|
45
|
-
(typeof template === 'object' &&
|
|
46
|
-
template.mapping &&
|
|
47
|
-
typeof template.mapping === 'object' &&
|
|
48
|
-
template.mapping.apiVersion === '0.0.5'),
|
|
49
|
-
false,
|
|
50
|
-
)))
|
|
51
|
-
);
|
|
52
|
-
},
|
|
53
|
-
apply: async ({ manifestFile }: { manifestFile: string }) => {
|
|
54
|
-
// Make sure we catch all variants; we could load the manifest
|
|
55
|
-
// and replace the values in the data structures here; unfortunately
|
|
56
|
-
// writing that back to the file messes with the formatting more than
|
|
57
|
-
// we'd like; that's why for now, we use a simple patching approach
|
|
58
|
-
await toolbox.patching.replace(
|
|
59
|
-
manifestFile,
|
|
60
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
61
|
-
new RegExp('apiVersion: 0.0.5', 'g'),
|
|
62
|
-
'apiVersion: 0.0.6',
|
|
63
|
-
);
|
|
64
|
-
await toolbox.patching.replace(
|
|
65
|
-
manifestFile,
|
|
66
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
67
|
-
new RegExp("apiVersion: '0.0.5'", 'g'),
|
|
68
|
-
"apiVersion: '0.0.6'",
|
|
69
|
-
);
|
|
70
|
-
await toolbox.patching.replace(
|
|
71
|
-
manifestFile,
|
|
72
|
-
// @ts-expect-error toolbox patching seems to accept RegExp
|
|
73
|
-
new RegExp('apiVersion: "0.0.5"', 'g'),
|
|
74
|
-
'apiVersion: "0.0.6"',
|
|
75
|
-
);
|
|
76
|
-
},
|
|
77
|
-
};
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
import * as toolbox from 'gluegun';
|
|
4
|
-
import { loadManifest } from './util/load-manifest';
|
|
5
|
-
|
|
6
|
-
// Spec version to 0.0.2 uses top level templates. graph-cli no longer supports
|
|
7
|
-
// 0.0.1 which used nested templates.
|
|
8
|
-
export default {
|
|
9
|
-
name: 'Bump manifest specVersion from 0.0.1 to 0.0.2',
|
|
10
|
-
predicate: async ({ manifestFile }: { manifestFile: string }) => {
|
|
11
|
-
const manifest = await loadManifest(manifestFile);
|
|
12
|
-
return (
|
|
13
|
-
manifest &&
|
|
14
|
-
typeof manifest === 'object' &&
|
|
15
|
-
manifest.specVersion &&
|
|
16
|
-
manifest.specVersion === '0.0.1'
|
|
17
|
-
);
|
|
18
|
-
},
|
|
19
|
-
apply: async ({ manifestFile }: { manifestFile: string }) => {
|
|
20
|
-
await toolbox.patching.replace(manifestFile, 'specVersion: 0.0.1', 'specVersion: 0.0.2');
|
|
21
|
-
await toolbox.patching.replace(manifestFile, "specVersion: '0.0.1'", "specVersion: '0.0.2'");
|
|
22
|
-
await toolbox.patching.replace(manifestFile, 'specVersion: "0.0.1"', 'specVersion: "0.0.2"');
|
|
23
|
-
},
|
|
24
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
|
|
3
|
-
import * as toolbox from 'gluegun';
|
|
4
|
-
import { loadManifest } from './util/load-manifest';
|
|
5
|
-
|
|
6
|
-
// Spec version 0.0.4 uses feature management, but features are
|
|
7
|
-
// detected and validated by the graph-node instance during subgraph
|
|
8
|
-
// deployment.
|
|
9
|
-
//
|
|
10
|
-
// Also, we skip spec version 0.0.3, which is considered invalid and
|
|
11
|
-
// non-canonical.
|
|
12
|
-
export default {
|
|
13
|
-
name: 'Bump manifest specVersion from 0.0.2 to 0.0.4',
|
|
14
|
-
predicate: async ({ manifestFile }: { manifestFile: string }) => {
|
|
15
|
-
const manifest = await loadManifest(manifestFile);
|
|
16
|
-
return (
|
|
17
|
-
manifest &&
|
|
18
|
-
typeof manifest === 'object' &&
|
|
19
|
-
manifest.specVersion &&
|
|
20
|
-
(manifest.specVersion === '0.0.2' || manifest.specVersion === '0.0.3')
|
|
21
|
-
);
|
|
22
|
-
},
|
|
23
|
-
apply: async ({ manifestFile }: { manifestFile: string }) => {
|
|
24
|
-
await toolbox.patching.patch(manifestFile, {
|
|
25
|
-
insert: 'specVersion: 0.0.4',
|
|
26
|
-
replace: new RegExp(`specVersion: ['"]?0.0.[23]['"]?`),
|
|
27
|
-
});
|
|
28
|
-
},
|
|
29
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import fs from 'fs-extra';
|
|
3
|
-
import yaml from 'js-yaml';
|
|
4
|
-
|
|
5
|
-
export async function loadManifest(manifestFile: string) {
|
|
6
|
-
if (manifestFile.match(/.js$/)) {
|
|
7
|
-
return require(path.resolve(manifestFile));
|
|
8
|
-
}
|
|
9
|
-
return yaml.safeLoad(await fs.readFile(manifestFile, 'utf-8'));
|
|
10
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import fs from 'fs-extra';
|
|
3
|
-
|
|
4
|
-
export async function getGraphTsVersion(sourceDir: string) {
|
|
5
|
-
let graphTsPath!: string;
|
|
6
|
-
|
|
7
|
-
for (
|
|
8
|
-
let dir: string | undefined = path.resolve(sourceDir);
|
|
9
|
-
// Terminate after the root dir or when we have found node_modules
|
|
10
|
-
dir !== undefined;
|
|
11
|
-
// Continue with the parent directory, terminate after the root dir
|
|
12
|
-
dir = path.dirname(dir) === dir ? undefined : path.dirname(dir)
|
|
13
|
-
) {
|
|
14
|
-
const graphTsNodeModulesPath = path.join(dir, 'node_modules', '@graphprotocol', 'graph-ts');
|
|
15
|
-
|
|
16
|
-
if (fs.existsSync(graphTsNodeModulesPath)) {
|
|
17
|
-
graphTsPath = graphTsNodeModulesPath;
|
|
18
|
-
// Loop until we find the first occurrence of graph-ts in node_modules
|
|
19
|
-
break;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const pkgJsonFile = path.join(graphTsPath, 'package.json');
|
|
24
|
-
const data = await fs.readFile(pkgJsonFile);
|
|
25
|
-
const jsonData = JSON.parse(data.toString());
|
|
26
|
-
return jsonData.version;
|
|
27
|
-
}
|
package/src/migrations.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { step, withSpinner } from './command-helpers/spinner';
|
|
2
|
-
|
|
3
|
-
const MIGRATIONS = [
|
|
4
|
-
import('./migrations/mapping_api_version_0_0_1'),
|
|
5
|
-
import('./migrations/mapping_api_version_0_0_2'),
|
|
6
|
-
import('./migrations/mapping_api_version_0_0_3'),
|
|
7
|
-
import('./migrations/mapping_api_version_0_0_4'),
|
|
8
|
-
import('./migrations/mapping_api_version_0_0_5'),
|
|
9
|
-
import('./migrations/spec_version_0_0_2'),
|
|
10
|
-
import('./migrations/spec_version_0_0_3'),
|
|
11
|
-
];
|
|
12
|
-
|
|
13
|
-
export const applyMigrations = async (options: { sourceDir: string; manifestFile: string }) =>
|
|
14
|
-
await withSpinner(
|
|
15
|
-
`Apply migrations`,
|
|
16
|
-
`Failed to apply migrations`,
|
|
17
|
-
`Warnings while applying migraitons`,
|
|
18
|
-
async spinner => {
|
|
19
|
-
await MIGRATIONS.reduce(async (previousPromise, migrationImport) => {
|
|
20
|
-
await previousPromise;
|
|
21
|
-
const { default: migration } = await migrationImport;
|
|
22
|
-
const skipHint = await migration.predicate(options);
|
|
23
|
-
if (typeof skipHint !== 'string' && skipHint) {
|
|
24
|
-
step(spinner, 'Apply migration:', migration.name);
|
|
25
|
-
await migration.apply(options);
|
|
26
|
-
} else if (typeof skipHint === 'string') {
|
|
27
|
-
step(spinner, 'Skip migration:', `${migration.name} (${skipHint})`);
|
|
28
|
-
} else {
|
|
29
|
-
step(spinner, 'Skip migration:', String(migration.name));
|
|
30
|
-
}
|
|
31
|
-
}, Promise.resolve());
|
|
32
|
-
},
|
|
33
|
-
);
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import immutable from 'immutable';
|
|
2
|
-
import { Subgraph, SubgraphOptions } from '../subgraph';
|
|
3
|
-
|
|
4
|
-
export default class ArweaveSubgraph implements Subgraph {
|
|
5
|
-
manifest: SubgraphOptions['manifest'];
|
|
6
|
-
resolveFile: SubgraphOptions['resolveFile'];
|
|
7
|
-
protocol: SubgraphOptions['protocol'];
|
|
8
|
-
|
|
9
|
-
constructor(options: SubgraphOptions) {
|
|
10
|
-
this.manifest = options.manifest;
|
|
11
|
-
this.resolveFile = options.resolveFile;
|
|
12
|
-
this.protocol = options.protocol;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
validateManifest() {
|
|
16
|
-
return immutable.List();
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
handlerTypes() {
|
|
20
|
-
return immutable.List(['blockHandlers', 'transactionHandlers']);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import immutable from 'immutable';
|
|
2
|
-
import { Subgraph, SubgraphOptions } from '../subgraph';
|
|
3
|
-
|
|
4
|
-
export default class CosmosSubgraph implements Subgraph {
|
|
5
|
-
manifest: SubgraphOptions['manifest'];
|
|
6
|
-
resolveFile: SubgraphOptions['resolveFile'];
|
|
7
|
-
protocol: SubgraphOptions['protocol'];
|
|
8
|
-
|
|
9
|
-
constructor(options: SubgraphOptions) {
|
|
10
|
-
this.manifest = options.manifest;
|
|
11
|
-
this.resolveFile = options.resolveFile;
|
|
12
|
-
this.protocol = options.protocol;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
validateManifest() {
|
|
16
|
-
return immutable.List();
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
handlerTypes() {
|
|
20
|
-
return immutable.List([
|
|
21
|
-
'blockHandlers',
|
|
22
|
-
'eventHandlers',
|
|
23
|
-
'transactionHandlers',
|
|
24
|
-
'messageHandlers',
|
|
25
|
-
]);
|
|
26
|
-
}
|
|
27
|
-
}
|