graphile-export
1.0.0-rc.6
Patch Changes
- #2990
5d408bd
Thanks @benjie! - No code changes. Updates the
release process, cleans up package.json, uses fixed identifiers for peer
dependencies (unless they're explicit dependencies also). Hopefully move to
trusted publishing.
1.0.0-rc.5
Patch Changes
-
#2963
9c417ca
Thanks @benjaie! - Graphile Export now optimizes
the code further by detecting the parameters of functions that are always
called with the same values and eliminating them. Further optimizations have
also been applied: Graphile Export now requires fewer passes to achieve the
same results and more optimizations to the exported code are now applied. -
#2966
82ef520
Thanks @benjie! - Fix omission in Graphile Export
where exporting a frozen/sealed object or array would not result in a
frozen/sealed object being restored. -
#2960
5e9082b
Thanks @benjie! - Implement deduplication of
equivalentEXPORTABLE(...)expressions (shrink export size). -
#2959
53d5daf
Thanks @benjie! - Improve compatibility with Node
ESM -
#2965
d15e1c2
Thanks @benjie! - Make EXPORTABLE's scope a
readonly array for greater compatibility. -
#2959
3fca6a7
Thanks @benjie! - Improve optimization pass to
eliminate more redundant logic. -
#2967
dbdc8d8
Thanks @benjie! - Further optimize theoptimize
step in Graphile Export -
#2962
b73416b
Thanks @benjaie! - Improve export optimization
to remove redundant repeated identifier arguments from local helper function
calls, resulting in smaller and more straight-forward exports and easier
optimizations for third-party plugins whereimports are discouraged. -
Updated dependencies
[b793077,
57dfa70]:- grafast@1.0.0-rc.8
1.0.0-rc.4
Patch Changes
a3722d6
Thanks @benjie! - Refactor to enable TypeScript
options rewriteRelativeImportExtensions and erasableSyntaxOnly (including
using .ts extensions in source code)- Updated dependencies
[9eb3829,
a3722d6,
5fc379e]:- grafast@1.0.0-rc.5
- pg-sql2@5.0.0-rc.4
1.0.0-rc.3
Patch Changes
-
#2877
1e45a3d
Thanks @benjie! - Safety - use null prototype
objects in more places. -
#2873
0772086
Thanks @benjie! - Update TypeScript configuration
to support Node 22 minimum -
#2888
1a56db2
Thanks @benjaie! - Node v22+ is required for
this module. -
Updated dependencies
[44555c7,
1e45a3d,
0772086,
a565503,
d9ccc82,
1a56db2,
eafa3f0,
b27c562,
f23f0cf,
afe31f0,
d3a1be9]:- grafast@1.0.0-rc.4
- pg-sql2@5.0.0-rc.3
1.0.0-rc.2
Patch Changes
1.0.0-rc.1
Patch Changes
-
Updated dependencies
[abb623d,
31b388c,
930240a,
7b86454,
42a0785,
d196d60,
c6cbe61,
d4ac603,
8a5a7c5,
ea0135f,
b6821f5]:- grafast@1.0.0-rc.1
- pg-sql2@5.0.0-rc.1
0.0.2-beta.31
Patch Changes
-
#2730
4c3cf22
Thanks @benjie! - Updategraphqlversion range -
#2142
ab96e5f
Thanks @benjie! - Support for@deferand
@streamno longer requiresgraphql@16.1.0-experimental-stream-defer.6.
graphql@^16.9.0should now work, since we ponyfill everything we need. -
Updated dependencies
[4c3cf22,
71e0af2,
ab96e5f,
278b4d3,
eaa771b,
d0c15cc,
bffbb77,
c48ca48]:- grafast@0.1.1-beta.27
0.0.2-beta.30
Patch Changes
- #2692
3d5c464
Thanks @benjie! - Allow forbidding certain
objects/functions from being exported, and raise error as early as possible. - Updated dependencies
[c3f9c38,
13513dd,
bc2b188,
c13813e,
4a9072b,
6dafac1,
34efed0,
185d449]:- grafast@0.1.1-beta.26
0.0.2-beta.29
Patch Changes
-
Updated dependencies
[0c6b1f1]:- grafast@0.1.1-beta.23
0.0.2-beta.28
Patch Changes
-
#2576
8dd9bb3701b8d01ece4349161e7ce065c21487a6
Thanks @benjie! - Provide option to allow
disabling optimize (to reduce memory pressure). -
#2574
ec25997a6a2557cde9aaa9e27eb202ad945b6015
Thanks @benjie! - Fix dependency ranges to allow
ESLint 9
0.0.2-beta.27
Patch Changes
-
#2535
fae2629f7bdd39b62ca7f8a911306a0dda3232b5
Thanks @benjie! - Graphile Export now exports in
the new typeDefs/objects/interfaces/unions/... format, and further sorts the
types and fields (but not the SDL!) for easier lookup. -
#2482
459e1869a2ec58925b2bac5458af487c52a8ca37
Thanks @benjie! - Minimum version of Node.js
bumped to Node 22 (the latest LTS). -
#2446
a1d17ca2a18f3e733ca728e29645781c7789ebab
Thanks @nckswt! - graphile-export now uses ES2022
syntax for ESLint check on exported schema, fixing compatibility with
@graphile/pg-aggregates. -
#2497
d0be66bcbcb497c06fc992a11d80b220fb6ac168
Thanks @benjie! - Fix detection of SQL when
pg-sql2isn't available at runtime, and improve misleading error around
class instances -
Updated dependencies
[0e36cb9077c76710d2e407830323f86c5038126e,
5a26196eff8fd1956d73e0b8fdf5cfcb7f01b7d3,
c0c3f48fa9f60cb9a4436ea135979b779ecc71ec,
cef9a37f846b4af105ac20960530d65c9f44afa9,
56ce94a847c6a4094643665cbf5d3712f56140b6,
192a27e08763ea26607344a2ea6c7f5c595cc2a3,
6ef6abce15936a896156d5316020df55cf7d18e3,
0239c2d519300a72f545e0db7c371adae4ade2a9,
0ea439d33ccef7f8d01ac5f54893ab2bbf1cbd4d,
8034614d1078b1bd177b6e7fcc949420614e3245,
459e1869a2ec58925b2bac5458af487c52a8ca37,
c350e49e372ec12a4cbf04fb6b4260e01832d12b,
3176ea3e57d626b39613a73117ef97627370ec83,
46a42f5547c041289aa98657ebc6815f4b6c8539,
a87bbd76f1a8b60fd86de65922746d830cc160b4,
be3f174c5aae8fe78a240e1bc4e1de7f18644b43,
576fb8bad56cb940ab444574d752e914d462018a,
9f459101fa4428aa4bac71531e75f99e33da8e17,
921665df8babe2651ab3b5886ab68bb518f2125b,
78bb1a615754d772a5fda000e96073c91fa9eba7,
c9cd0cc72a4db4b02b2bdf770161c9346cb4b174,
ab0bcda5fc3c136eea09493a7d9ed4542975858e,
455f4811d37ad8fff91183c7a88621bcf9d79acf,
45adaff886e7cd72b864150927be6c0cb4a7dfe8]:- grafast@0.1.1-beta.22
- pg-sql2@5.0.0-beta.9
0.0.2-beta.26
Patch Changes
-
#2356
eb34f24cbbddd3553e2bd00176193ca998f35fb4
Thanks @benjie! - No longer outputs 'undefined'
properties for arguments that have no extensions/etc. -
#2356
4b49dbd2df3b339a2ba3f1e9ff400fa1a125298b
Thanks @benjie! - 🚨 makeGrafastSchema and schema
export now export extensions directly rather than extensions.grafast - applies
to fields and arguments. All previous exports cannot be (safely) executed with
latest makeGrafastSchema - please regenerate exports. -
#2424
bff9ad1af9a4ef33ab3f7684bf384a069343d5ff
Thanks @benjie! - Implement a large number of
optimizations against the exported code and update to the latest
makeGrafastSchema format. -
#2377
7c38cdeffe034c9b4f5cdd03a8f7f446bd52dcb7
Thanks @benjie! - SinceModifierStepand
BaseStepare no more;ExecutableStepcan be renamed to simplyStep. The
old name (ExecutableStep) is now deprecated. -
#2376
da6f3c04efe3d8634c0bc3fcf93ac2518de85322
Thanks @benjie! - Overhaul Grafast to remove more
input planning - inputs should be evaluated at runtime - and remove more
plan-time step evaluation.FieldArgs.getis no more; useFieldArgs.getRawor usebakedInput()
(TODO: document) to get the "baked" version of a raw input value.Input object fields no longer have
applyPlan/inputPlan, instead having the
runtime equivalentsapply()andbaked().FieldArgsis no longer
available on input object fields, since these fields are no longer called at
plantime; instead, the actual value is passed.FieldArgsgains.typeAt(path)method that details the GraphQL input type
at the given path.Field arguments are no longer passed
FieldArgs, instead they're passed a
(similar)FieldArgobject representing the argument value itself.autoApplyAfterParentPlanis no more - instead if an argument hasapplyPlan
it will be called automatically unless it was called during the field plan
resolver itself.autoApplyAfterParentSubscribePlanis no more - instead if an argument has
applySubscribePlanit will be called automatically unless it was called
during the field plan resolver itself.Field arguments no longer support
inputPlan- usebakedInput()if you need
that.Input fields no longer support
inputPlan,applyPlan,
autoApplyAfterParentInputPlannorautoApplyAfterParentApplyPlan. Instead,
apply()(which is called byapplyStep()at runtime) has been added.sqlValueWithCodec(value, codec)can be used at runtime in places where
$step.placeholder($value, codec)would have been used previously.
placeholderhas been removed from all places that are now runtime - namely
the list of modifiers below...The following
ModifierStepclasses have all dropped theirStepsuffix,
theseModifierclasses now all run at runtime, and are thus no longer steps;
they're invoked as part of the newapplyInput()(TODO: document) step:ModifierStep⇒ModifierPgBooleanFilterStep⇒PgBooleanFilterPgClassFilterStep⇒PgClassFilterPgConditionCapableParentStep⇒PgConditionCapableParentPgConditionLikeStep⇒PgConditionLikePgConditionStepMode⇒PgConditionModePgConditionStep⇒PgConditionPgManyFilterStep⇒PgManyFilterPgOrFilterStep⇒PgOrFilterPgTempTableStep⇒PgTempTableSetterCapableStep⇒SetterCapableSetterStep⇒Setter
(Interestingly, other than the removal of
placeholderand the fact they deal
with runtime values rather than steps now, they're very similar to what they
were before.)The deprecated forms of the above have been removed.
Methods that rely on these modifier plans have been removed:
PgUnionAllStep.wherePlan- use
fieldArg.apply($unionAll, qb => qb.whereBuilder())insteadPgUnionAllStep.havingPlan- use
fieldArg.apply($unionAll, qb => qb.havingBuilder())instead- Same for PgSelectStep
The following gain query builders:
PgInsertSinglePgUpdateSinglePgDeleteSingle
Query builders gain
meta, an object that can be augmented with metadata
about the operation (typically this relates to cursors and similar
functionality). This is now used to implementclientMutationId.Extends query builders with additional functionality.
Many of the types have had their generics changed, TypeScript should guide you
if you have issues here.NodeIdHandlernow requires agetIdentifiersmethod that runs at runtime
and returns the identifiers from a decoded NodeId string.Types around GraphQL Global Object Identification (i.e.
Node/id) have
changed. -
Updated dependencies
[d34014a9a3c469154cc796086ba13719954731e5,
98516379ac355a0833a64e002f3717cc3a1d6473,
f8602d05eed3247c90b87c55d7af580d1698effc,
65df25534fa3f787ba2ab7fd9547d295ff2b1288,
1b3c76efd27df73eab3a5a1d221ce13de4cd6b1a,
e10c372dafbe0d6014b1e946349b22f40aa87ef9,
3c0a925f26f10cae627a23c49c75ccd8d76b60c8,
fcaeb48844156e258a037f420ea1505edb50c52a,
68926abc31c32ce527327ffbb1ede4b0b7be446b,
4b49dbd2df3b339a2ba3f1e9ff400fa1a125298b,
d7950e8e28ec6106a4ce2f7fe5e35d88b10eac48,
c8f1971ea4198633ec97f72f82abf65089f71a88,
dd3d22eab73a8554715bf1111e30586251f69a88,
a120a8e43b24dfc174950cdbb69e481272a0b45e,
3b0f5082b2272997ce33ce8823a4752513d19e28,
84f06eafa051e907a3050237ac6ee5aefb184652,
4a3aeaa77c8b8d2e39c1a9d05581d0c613b812cf,
3789326b2e2fdb86519acc75e606c752ddefe590,
0fc2db95d90df918cf5c59ef85f22ac78d8000d3,
90e81a5deeae554a8be2dd55dcd01489860e96e6,
c59132eb7a93bc82493d2f1ca050db8aaea9f4d1,
7c38cdeffe034c9b4f5cdd03a8f7f446bd52dcb7,
728888b28fcd2a6fc481e0ccdfe20d41181a091f,
f4f39092d7a51517668384945895d3b450237cce,
5cf3dc9d158891eaf324b2cd4f485d1d4bbb6b5e,
83d3b533e702cc875b46ba2ca02bf3642b421be8,
7001138c38e09822ad13db1018c62d2cac37941e,
e9e7e33665e22ec397e9ead054d2e4aad3eadc8c,
bb6ec8d834e3e630e28316196246f514114a2296,
2b1918d053f590cdc534c8cb81f7e74e96c1bbe6,
d1ecb39693a341f85762b27012ec4ea013857b0c,
042ebafe11fcf7e2ecac9b131265a55dddd42a6d,
fa005eb0783c58a2476add984fbdd462e0e91dbe,
df0e5a0f968cf6f9ae97b68745a9a2f391324bf5,
ef4cf75acd80e6b9c700c2b5a7ace899e565ef7f,
c041fd250372c57601188b65a6411c8f440afab6,
629b45aab49151810f6efc18ac18f7d735626433,
6d19724330d50d076aab9442660fa8abddd095cb,
ca5bc1a834df7b894088fb8602a12f9fcff55b38,
da6f3c04efe3d8634c0bc3fcf93ac2518de85322,
412b92a0b1e03ad962521f630b57a996d8620cf6,
f0bc64b71914dfdd3612f4b65370401fd85b97bc]:- grafast@0.1.1-beta.21
- pg-sql2@5.0.0-beta.8
0.0.2-beta.25
Patch Changes
0.0.2-beta.24
Patch Changes
- Updated dependencies []:
- grafast@0.1.1-beta.19
0.0.2-beta.23
Patch Changes
- Updated dependencies
[b336a5829]:- grafast@0.1.1-beta.18
0.0.2-beta.22
Patch Changes
0.0.2-beta.21
Patch Changes
- Updated dependencies
[76c7340b7]:- grafast@0.1.1-beta.16
0.0.2-beta.20
Patch Changes
-
#2175
c69b2fdec
Thanks @benjie! - Fix 'Container is falsy' error
message the latest Babel patch release would cause. -
#2180
4a4daf5ec
Thanks @nckswt! - Fix bug in graphile-export
handing modules where default export (import mod from 'mod') differed from
wildcard export (import * as mod from 'mod'). -
Updated dependencies
[d5834def1,
42b982463,
884a4b429,
38835313a,
b0865d169]:- grafast@0.1.1-beta.15
0.0.2-beta.19
Patch Changes
0.0.2-beta.18
Patch Changes
- Updated dependencies
[807650035]:- grafast@0.1.1-beta.13
0.0.2-beta.17
Patch Changes
-
#2094
d2d9b1965
Thanks @benjie! - Output location in more error
messages. -
Updated dependencies
[1bd50b61e,
4e102b1a1,
7bb1573ba,
18addb385,
6ed615e55,
b25cc539c,
867f33136,
cf535c210,
acf99b190,
4967a197f,
1908e1ba1,
084d80be6]:- grafast@0.1.1-beta.12
0.0.2-beta.16
Patch Changes
- Updated dependencies
[582bd768f]:- grafast@0.1.1-beta.11
0.0.2-beta.15
Patch Changes
0.0.2-beta.14
Patch Changes
- Updated dependencies
[437570f97]:- grafast@0.1.1-beta.9
0.0.2-beta.13
Patch Changes
- Updated dependencies
[bd5a908a4]:- grafast@0.1.1-beta.8
0.0.2-beta.12
Patch Changes
-
#2050
a4d4de334
Thanks @benjie! - Graphile Export now
auto-detects that a function has additional properties set, and makes sure
these properties are exported too. (Typically this isfn.isSyncAndSafe=true
for Grafast optimization.) -
#2050
de24f1d14
Thanks @benjie! - Fix exporting input object
inputPlan in typeDefs mode. -
#1993
fdc440eb3
Thanks @benjie! - Ability to export values from
graphile-export (e.g. the registry) -
#2050
0dbfbb687
Thanks @benjie! - Don't pass filePath to lintText
to avoid ESLint ignoring the file. -
Updated dependencies
[357d475f5,
3551725e7,
80836471e,
a5c20fefb,
1ce08980e,
ab08cbf9c,
dff4f2535,
a287a57c2,
2fe56f9a6,
fed603d71,
ed6e0d278,
e82e4911e,
94a05064e,
42ece5aa6,
e0d69e518,
6699388ec,
966203504,
c1645b249,
ed8bbaa3c,
a0e82b9c5,
14e2412ee,
57ab0e1e7,
8442242e4,
64ce7b765,
cba842357,
2fa77d0f2]:- grafast@0.1.1-beta.7
- pg-sql2@5.0.0-beta.6
0.0.2-beta.11
Patch Changes
-
#1958
8315e8d01
Thanks @benjie! - EXPORTABLE now accepts a third
argument,nameHint, which is used to hint what variable name to use for the
given value. Used this ingraphile-exportalong with some fixes and
optimizations to improve the exports further. -
#1946
9d53dde72
Thanks @benjie! - Exporting a schema now performs
ESLint 'no-use-before-define' check to catch even more invalid export
conditions. FixregisterNodeIdCodeccalls caught by this. -
Updated dependencies
[9f85c614d,
6c6be29f1,
8315e8d01]:- grafast@0.1.1-beta.6
0.0.2-beta.10
Patch Changes
-
#1934
9ac0ddc01
Thanks @benjie! - Automatically detect when a
graphile-exportexport is invalid, and throw an error indicating which
method needs to haveEXPORTABLEadded around it. -
#1935
8ea67f891
Thanks @benjie! - Fix lots of things related to
exporting a schema withgraphile-export. -
Updated dependencies
[63dd7ea99,
d801c9778,
ef44c29b2]:- grafast@0.1.1-beta.5
- pg-sql2@5.0.0-beta.5
0.0.2-beta.9
Patch Changes
0.0.2-beta.8
Patch Changes
- Updated dependencies []:
- grafast@0.1.1-beta.3
0.0.2-beta.7
Patch Changes
0.0.2-beta.6
Patch Changes
- Updated dependencies
[49fcb0d58]:- grafast@0.1.1-beta.1
0.0.2-beta.5
Patch Changes
0.0.2-beta.4
Patch Changes
-
#514
c9848f693
Thanks @benjie! - Update package.json repository
information -
Updated dependencies
[c9848f693,
ede1092fe,
566983fbd,
409bf6071]:- grafast@0.0.1-beta.8
- pg-sql2@5.0.0-beta.3
0.0.2-beta.3
Patch Changes
-
#496
c9bfd9892
Thanks @benjie! - Update dependencies (sometimes
through major versions). -
Updated dependencies
[c9bfd9892,
e613b476d]:- grafast@0.0.1-beta.6
- pg-sql2@5.0.0-beta.2
0.0.2-beta.2
Patch Changes
- #454
89400d5c2
Thanks @benjie! - Apply a different patch to the
babel traverse issue we've been facing when optimizing.
0.0.2-beta.1
Patch Changes
-
Updated dependencies
[cbd987385]:- grafast@0.0.1-beta.1
- pg-sql2@5.0.0-beta.1
0.0.2-alpha.8
Patch Changes
-
#428
9695c65f8
Thanks @benjie! - Optimize away some unnecessary
content from graphile-exported schema -
Updated dependencies
[ea003ca3a,
57d88b5fa,
9f87a26b1]:- grafast@0.0.1-alpha.15
0.0.2-alpha.7
Patch Changes
- #418
9ab2adba2
Thanks @benjie! - Overhaul peerDependencies and
dependencies to try and eliminate duplicate modules error. - Updated dependencies
[620f9e07e,
1882e0185,
881672305,
e5012f9a1,
9ab2adba2,
47f6f018b,
ff4395bfc,
502b23340]:- grafast@0.0.1-alpha.13
0.0.2-alpha.6
Patch Changes
-
#406
ecd7598f1
Thanks @benjie! - More docs for graphile-export -
Updated dependencies
[9281a2d88,
675b7abb9]:- grafast@0.0.1-alpha.12
0.0.2-alpha.5
Patch Changes
-
#372
ae1a248eb
Thanks @benjie! - Optimize away even more IIFEs -
#383
2c8586b36
Thanks @benjie! - Change
'objectType.extensions.grafast.Step' to
'objectType.extensions.grafast.assertStep', accept it via object spec,
deprecate registerObjectType form that accepts it (pass via object spec
instead), improve typings around it. -
Updated dependencies
[409581534,
b7533bd4d,
9feb769c2,
7573bf374,
2c8586b36,
c43802d74,
b118b8f6d,
9008c4f87,
e8c81cd20]:- grafast@0.0.1-alpha.10
0.0.2-alpha.4
Patch Changes
- #366
6878c589c
Thanks @benjie! - Fix typeDefs export, and
makeGrafastSchema support for arg and input field plans. - Updated dependencies
[339fe20d0,
56237691b,
ed1982f31,
1fe47a2b0,
6878c589c,
2ac706f18]:- pg-sql2@5.0.0-alpha.3
- grafast@0.0.1-alpha.9
0.0.2-alpha.3
Patch Changes
0.0.2-alpha.2
Patch Changes
-
21e95326d
Thanks @benjie! - Fix the name of some exported
variables (Step -> Plan) -
7f857950a
Thanks @benjie! - Upgrade to the latest
TypeScript/tslib -
Updated dependencies
[2389f47ec,
82cc01152,
e91ee201d,
865bec590,
7f857950a,
d39a5d409]:- grafast@0.0.1-alpha.3
- pg-sql2@5.0.0-alpha.2
0.0.2-alpha.1
Patch Changes
-
759ad403d
Thanks @benjie! - Alpha release - see
https://postgraphile.org/news/2023-04-26-version-5-alpha -
Updated dependencies
[759ad403d]:- grafast@0.0.1-alpha.1
- pg-sql2@5.0.0-alpha.1
0.0.2-1.1
Patch Changes
-
#260
d5312e6b9
Thanks @benjie! - TypeScript v5 is now required -
Updated dependencies
[ae304b33c,
d5312e6b9,
22ec50e36,
0f4709356,
f93c79b94,
53e164cbc,
395b4a2dd]:- grafast@0.0.1-1.1
- pg-sql2@5.0.0-1.1
0.0.2-0.4
Patch Changes
-
768f32681- Fix peerDependencies ranges -
Updated dependencies [
768f32681]:- grafast@0.0.1-0.4
0.0.2-0.3
Patch Changes
-
d11c1911c- Fix dependencies -
Updated dependencies [
d11c1911c]:- grafast@0.0.1-0.3
0.0.2-0.2
Patch Changes
- Updated dependencies [
25037fc15]:- grafast@0.0.1-0.2
0.0.2-0.1
Patch Changes
- Updated dependencies [
55f15cf35]:- grafast@0.0.1-0.1