Skip to content

Commit d509376

Browse files
committed
Merge branch 'development' into fix/subscribe-gql-tag
# Conflicts: # .gitignore # CHANGELOG.md # package.json # tests/cra-test/test-cra.sh # yarn.lock
2 parents 48f52fd + 1b1e3fa commit d509376

32 files changed

+1013
-539
lines changed

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ tmp_schema.json
8484
.parcel-cache
8585

8686
# create-react-app test folder
87-
tests/cra-test/cra-tmp
87+
tests/vite-app-test/cra-tmp
8888

8989
# IntelliJ IDEA project files
9090
.idea

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# CHANGELOG
22

3+
## 0.17.2
4+
5+
- Fix tests, upgrade minor versions of mobx, mobx-state-tree
6+
37
## 0.17.1
48

59
- Use [Pinst](https://www.npmjs.com/package/pinst) to fix `postinstall` scripts running when installing mst-gql

examples/1-getting-started/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@
1515
"arg": "^5.0.2",
1616
"cors": "^2.8.5",
1717
"express": "^4.17.1",
18-
"graphql": "^16.5.0",
18+
"graphql": "15.8.0",
1919
"graphql-playground-middleware-express": "^1.7.21",
2020
"graphql-tag": "^2.12.6",
2121
"isomorphic-fetch": "^2.2.1",
2222
"jest": "^27.0.6",
23-
"mobx": "^6.6.0",
23+
"mobx": "^6.10.2",
2424
"mobx-react": "^7.5.0",
25-
"mobx-state-tree": "^5.1.5",
25+
"mobx-state-tree": "^5.3.0",
2626
"mst-gql": "portal:../../",
2727
"react": "^18.2.0",
2828
"react-dom": "^18.2.0"

examples/1-getting-started/src/app/models/RootStore.base.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { todoModelPrimitives, TodoModelSelector } from "./TodoModel.base"
1313
export type CreateTodoInput = {
1414
id: string
1515
text: string
16-
complete?: boolean
16+
complete?: (boolean | null)
1717
}
1818
/* The TypeScript type that explicits the refs to other models in order to prevent a circular refs issue */
1919
type Refs = {
@@ -45,20 +45,20 @@ export const RootStoreBase = withTypedRefs<Refs>()(MSTGQLStore
4545
})
4646
.actions(self => ({
4747
queryTodos(variables?: { }, resultSelector: string | ((qb: TodoModelSelector) => TodoModelSelector) = todoModelPrimitives.toString(), options: QueryOptions = {}) {
48-
return self.query<{ todos: TodoModelType[]}>(`query todos { todos {
48+
return self.query<{ todos: TodoModelType[] }>(`query todos { todos {
4949
${typeof resultSelector === "function" ? resultSelector(new TodoModelSelector()).toString() : resultSelector}
5050
} }`, variables, options)
5151
},
52-
queryStringFromServer(variables: { string?: string }, options: QueryOptions = {}) {
52+
queryStringFromServer(variables: { string?: (string | null) }, options: QueryOptions = {}) {
5353
return self.query<{ stringFromServer: string }>(`query stringFromServer($string: String) { stringFromServer(string: $string) }`, variables, options)
5454
},
5555
mutateToggleTodo(variables: { id: string }, resultSelector: string | ((qb: TodoModelSelector) => TodoModelSelector) = todoModelPrimitives.toString(), optimisticUpdate?: () => void) {
56-
return self.mutate<{ toggleTodo: TodoModelType}>(`mutation toggleTodo($id: ID!) { toggleTodo(id: $id) {
56+
return self.mutate<{ toggleTodo: TodoModelType }>(`mutation toggleTodo($id: ID!) { toggleTodo(id: $id) {
5757
${typeof resultSelector === "function" ? resultSelector(new TodoModelSelector()).toString() : resultSelector}
5858
} }`, variables, optimisticUpdate)
5959
},
6060
mutateCreateTodo(variables: { todo: CreateTodoInput }, resultSelector: string | ((qb: TodoModelSelector) => TodoModelSelector) = todoModelPrimitives.toString(), optimisticUpdate?: () => void) {
61-
return self.mutate<{ createTodo: TodoModelType}>(`mutation createTodo($todo: CreateTodoInput!) { createTodo(todo: $todo) {
61+
return self.mutate<{ createTodo: TodoModelType }>(`mutation createTodo($todo: CreateTodoInput!) { createTodo(todo: $todo) {
6262
${typeof resultSelector === "function" ? resultSelector(new TodoModelSelector()).toString() : resultSelector}
6363
} }`, variables, optimisticUpdate)
6464
},

examples/2-scaffolding/package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@
77
"start": "yarn scaffold && yarn build"
88
},
99
"dependencies": {
10+
"graphql": "^16.5.0",
1011
"graphql-request": "^4.3.0",
11-
"mobx": "^6.6.0",
12-
"mobx-state-tree": "^5.1.5",
12+
"mobx": "^6.10.2",
13+
"mobx-state-tree": "^5.3.0",
1314
"mst-gql": "portal:../../"
1415
},
1516
"devDependencies": {

examples/2-scaffolding/src/models/RootStore.base.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ export const RootStoreBase = withTypedRefs<Refs>()(MSTGQLStore
4646
})
4747
.actions(self => ({
4848
queryPokemons(variables: { first: number }, resultSelector: string | ((qb: PokemonModelSelector) => PokemonModelSelector) = pokemonModelPrimitives.toString(), options: QueryOptions = {}) {
49-
return self.query<{ pokemons: PokemonModelType[]}>(`query pokemons($first: Int!) { pokemons(first: $first) {
49+
return self.query<{ pokemons: PokemonModelType[] }>(`query pokemons($first: Int!) { pokemons(first: $first) {
5050
${typeof resultSelector === "function" ? resultSelector(new PokemonModelSelector()).toString() : resultSelector}
5151
} }`, variables, options)
5252
},
5353
queryPokemon(variables: { id?: (string | null), name?: (string | null) }, resultSelector: string | ((qb: PokemonModelSelector) => PokemonModelSelector) = pokemonModelPrimitives.toString(), options: QueryOptions = {}) {
54-
return self.query<{ pokemon: PokemonModelType}>(`query pokemon($id: String, $name: String) { pokemon(id: $id, name: $name) {
54+
return self.query<{ pokemon: PokemonModelType }>(`query pokemon($id: String, $name: String) { pokemon(id: $id, name: $name) {
5555
${typeof resultSelector === "function" ? resultSelector(new PokemonModelSelector()).toString() : resultSelector}
5656
} }`, variables, options)
5757
},

examples/3-twitter-clone/package.json

+5-3
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@
1616
"cors": "^2.8.5",
1717
"express": "^4.17.1",
1818
"fakergem": "^1.0.3",
19+
"graphql": "15.8.0",
1920
"graphql-playground-middleware-express": "^1.7.21",
2021
"isomorphic-fetch": "^2.2.1",
21-
"mobx": "^6.6.0",
22-
"mobx-react-lite": "^1.4.1",
23-
"mobx-state-tree": "^5.1.5",
22+
"mobx": "^6.10.2",
23+
"mobx-react": "^7.5.0",
24+
"mobx-react-lite": "^4.0.5",
25+
"mobx-state-tree": "^5.3.0",
2426
"mst-gql": "portal:../../",
2527
"node-uuid": "^1.4.8",
2628
"react": "^18.2.0",

examples/3-twitter-clone/public/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99

1010
<body>
1111
<div id="root"></div>
12-
<script type="text/javascript" src="../src/app/index.tsx"></script>
12+
<script type="module" src="../src/app/index.tsx"></script>
1313
</body>
1414
</html>

examples/3-twitter-clone/src/app/components/Message.tsx

+8-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,14 @@ import { MessageModelType } from "../models/"
66
import { Replies } from "./Replies"
77

88
// @ts-ignore
9-
import images from "../avatars/*.jpg"
9+
import chuck from "../avatars/chuck.jpg"
10+
// @ts-ignore
11+
import michel from "../avatars/michel.jpg"
12+
13+
const images = {
14+
michel,
15+
chuck
16+
}
1017

1118
export const Message = observer(
1219
({ message, asChild }: { message: MessageModelType; asChild?: boolean }) => {

examples/3-twitter-clone/src/app/models/MessageModel.base.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ export class MessageModelSelector extends QueryBuilder {
4444
get id() { return this.__attr(`id`) }
4545
get timestamp() { return this.__attr(`timestamp`) }
4646
get text() { return this.__attr(`text`) }
47-
user(builder?: string | UserModelSelector | ((selector: UserModelSelector) => UserModelSelector)) { return this.__child(`user`, UserModelSelector, builder) }
48-
likes(builder?: string | UserModelSelector | ((selector: UserModelSelector) => UserModelSelector)) { return this.__child(`likes`, UserModelSelector, builder) }
49-
replyTo(builder?: string | MessageModelSelector | ((selector: MessageModelSelector) => MessageModelSelector)) { return this.__child(`replyTo`, MessageModelSelector, builder) }
47+
user(builder: string | UserModelSelector | ((selector: UserModelSelector) => UserModelSelector) | undefined) { return this.__child(`user`, UserModelSelector, builder) }
48+
likes(builder: string | UserModelSelector | ((selector: UserModelSelector) => UserModelSelector) | undefined) { return this.__child(`likes`, UserModelSelector, builder) }
49+
replyTo(builder: string | MessageModelSelector | ((selector: MessageModelSelector) => MessageModelSelector) | undefined) { return this.__child(`replyTo`, MessageModelSelector, builder) }
5050
}
5151
export function selectFromMessage() {
5252
return new MessageModelSelector()

examples/3-twitter-clone/src/app/models/RootStore.base.ts

+10-10
Original file line numberDiff line numberDiff line change
@@ -47,42 +47,42 @@ export const RootStoreBase = withTypedRefs<Refs>()(MSTGQLStore
4747
})
4848
.actions(self => ({
4949
querySearch(variables: { searchText: string }, resultSelector: string | ((qb: SearchResultModelSelector) => SearchResultModelSelector) = searchResultModelPrimitives.toString(), options: QueryOptions = {}) {
50-
return self.query<{ search: SearchResultUnion[]}>(`query search($searchText: String!) { search(searchText: $searchText) {
50+
return self.query<{ search: SearchResultUnion[] }>(`query search($searchText: String!) { search(searchText: $searchText) {
5151
${typeof resultSelector === "function" ? resultSelector(new SearchResultModelSelector()).toString() : resultSelector}
5252
} }`, variables, options)
5353
},
54-
queryMessages(variables: { offset?: string, count?: number, replyTo?: string }, resultSelector: string | ((qb: MessageModelSelector) => MessageModelSelector) = messageModelPrimitives.toString(), options: QueryOptions = {}) {
55-
return self.query<{ messages: MessageModelType[]}>(`query messages($offset: ID, $count: Int, $replyTo: ID) { messages(offset: $offset, count: $count, replyTo: $replyTo) {
54+
queryMessages(variables: { offset?: (string | null), count?: (number | null), replyTo?: (string | null) }, resultSelector: string | ((qb: MessageModelSelector) => MessageModelSelector) = messageModelPrimitives.toString(), options: QueryOptions = {}) {
55+
return self.query<{ messages: MessageModelType[] }>(`query messages($offset: ID, $count: Int, $replyTo: ID) { messages(offset: $offset, count: $count, replyTo: $replyTo) {
5656
${typeof resultSelector === "function" ? resultSelector(new MessageModelSelector()).toString() : resultSelector}
5757
} }`, variables, options)
5858
},
5959
queryMessage(variables: { id: string }, resultSelector: string | ((qb: MessageModelSelector) => MessageModelSelector) = messageModelPrimitives.toString(), options: QueryOptions = {}) {
60-
return self.query<{ message: MessageModelType}>(`query message($id: ID!) { message(id: $id) {
60+
return self.query<{ message: MessageModelType }>(`query message($id: ID!) { message(id: $id) {
6161
${typeof resultSelector === "function" ? resultSelector(new MessageModelSelector()).toString() : resultSelector}
6262
} }`, variables, options)
6363
},
6464
queryMe(variables?: { }, resultSelector: string | ((qb: UserModelSelector) => UserModelSelector) = userModelPrimitives.toString(), options: QueryOptions = {}) {
65-
return self.query<{ me: UserModelType}>(`query me { me {
65+
return self.query<{ me: UserModelType }>(`query me { me {
6666
${typeof resultSelector === "function" ? resultSelector(new UserModelSelector()).toString() : resultSelector}
6767
} }`, variables, options)
6868
},
6969
mutateChangeName(variables: { id: string, name: string }, resultSelector: string | ((qb: UserModelSelector) => UserModelSelector) = userModelPrimitives.toString(), optimisticUpdate?: () => void) {
70-
return self.mutate<{ changeName: UserModelType}>(`mutation changeName($id: ID!, $name: String!) { changeName(id: $id, name: $name) {
70+
return self.mutate<{ changeName: UserModelType }>(`mutation changeName($id: ID!, $name: String!) { changeName(id: $id, name: $name) {
7171
${typeof resultSelector === "function" ? resultSelector(new UserModelSelector()).toString() : resultSelector}
7272
} }`, variables, optimisticUpdate)
7373
},
7474
mutateLike(variables: { msg: string, user: string }, resultSelector: string | ((qb: MessageModelSelector) => MessageModelSelector) = messageModelPrimitives.toString(), optimisticUpdate?: () => void) {
75-
return self.mutate<{ like: MessageModelType}>(`mutation like($msg: ID!, $user: ID!) { like(msg: $msg, user: $user) {
75+
return self.mutate<{ like: MessageModelType }>(`mutation like($msg: ID!, $user: ID!) { like(msg: $msg, user: $user) {
7676
${typeof resultSelector === "function" ? resultSelector(new MessageModelSelector()).toString() : resultSelector}
7777
} }`, variables, optimisticUpdate)
7878
},
79-
mutatePostTweet(variables: { text: string, user: string, replyTo?: string }, resultSelector: string | ((qb: MessageModelSelector) => MessageModelSelector) = messageModelPrimitives.toString(), optimisticUpdate?: () => void) {
80-
return self.mutate<{ postTweet: MessageModelType}>(`mutation postTweet($text: String!, $user: ID!, $replyTo: ID) { postTweet(text: $text, user: $user, replyTo: $replyTo) {
79+
mutatePostTweet(variables: { text: string, user: string, replyTo?: (string | null) }, resultSelector: string | ((qb: MessageModelSelector) => MessageModelSelector) = messageModelPrimitives.toString(), optimisticUpdate?: () => void) {
80+
return self.mutate<{ postTweet: MessageModelType }>(`mutation postTweet($text: String!, $user: ID!, $replyTo: ID) { postTweet(text: $text, user: $user, replyTo: $replyTo) {
8181
${typeof resultSelector === "function" ? resultSelector(new MessageModelSelector()).toString() : resultSelector}
8282
} }`, variables, optimisticUpdate)
8383
},
8484
subscribeNewMessages(variables?: { }, resultSelector: string | ((qb: MessageModelSelector) => MessageModelSelector) = messageModelPrimitives.toString(), onData?: (item: any) => void, onError?: (error: Error) => void) {
85-
return self.subscribe<{ newMessages: MessageModelType}>(`subscription newMessages { newMessages {
85+
return self.subscribe<{ newMessages: MessageModelType }>(`subscription newMessages { newMessages {
8686
${typeof resultSelector === "function" ? resultSelector(new MessageModelSelector()).toString() : resultSelector}
8787
} }`, variables, onData, onError)
8888
},

examples/3-twitter-clone/src/app/models/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
/* eslint-disable */
33
/* tslint:disable */
44

5-
export * from "./SearchResultModelSelector"
65
export * from "./UserModel"
76
export * from "./MessageModel"
7+
export * from "./SearchResultModelSelector"
88
export * from "./RootStore"
99
export * from "./reactUtils"

examples/3-twitter-clone/src/app/tsconfig.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"compilerOptions": {
3-
"target": "es5",
4-
"rootDir": "./src/app",
5-
"baseUrl": "./src/app",
3+
"target": "es6",
4+
"rootDir": "./",
5+
// "baseUrl": "./src/app",
66
"strict": false,
77
"lib": ["dom", "es2018", "esnext.asynciterable", "esnext.array"],
88
"jsx": "react",

examples/4-apollo-tutorial/client/package.json

+4-2
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,12 @@
1919
"react-scripts": "^5.0.1"
2020
},
2121
"devDependencies": {
22+
"graphql": "^16.8.1",
23+
"graphql-request": "^6.1.0",
2224
"jest-dom": "^3.0.0",
23-
"mobx": "^6.6.0",
25+
"mobx": "^6.10.2",
2426
"mobx-react": "^7.5.0",
25-
"mobx-state-tree": "^5.1.5",
27+
"mobx-state-tree": "^5.3.0",
2628
"react-testing-library": "^5.4.4",
2729
"wait-port": "^0.2.9"
2830
},

examples/4-apollo-tutorial/server/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
"apollo-server": "^2.9.4",
1616
"apollo-server-testing": "^2.9.4",
1717
"dotenv": "^6.1.0",
18-
"graphql": "^16.5.0",
18+
"graphql": "15.8.0",
1919
"isemail": "^3.1.3",
2020
"nodemon": "^1.19.2",
21-
"sequelize": "^5.15.1",
21+
"sequelize": "^6.29.0",
2222
"sqlite3": "^4.0.9"
2323
},
2424
"devDependencies": {
0 Bytes
Binary file not shown.

examples/5-nextjs/next-env.d.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
/// <reference types="next" />
2-
/// <reference types="next/types/global" />
2+
/// <reference types="next/image-types/global" />
3+
4+
// NOTE: This file should not be edited
5+
// see https://nextjs.org/docs/basic-features/typescript for more information.

examples/5-nextjs/package.json

+4-6
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@
1010
"apollo-server-express": "^2.18.0",
1111
"cross-env": "^5.2.1",
1212
"express": "^4.17.1",
13-
"mobx": "^6.6.0",
13+
"graphql": "15.8.0",
14+
"mobx": "^6.10.2",
1415
"mobx-react": "^7.5.0",
15-
"mobx-state-tree": "^5.1.5",
16+
"mobx-state-tree": "^5.3.0",
1617
"mst-gql": "portal:../../",
17-
"next": "^12.2.2"
18+
"next": "^13.5.0"
1819
},
1920
"devDependencies": {
2021
"@types/react": "^18.0.15",
@@ -23,8 +24,5 @@
2324
"react": "^18.2.0",
2425
"react-dom": "^18.2.0",
2526
"typescript": "^4.7.3"
26-
},
27-
"resolutions": {
28-
"graphql": "^16.5.0"
2927
}
3028
}

examples/5-nextjs/tsconfig.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"forceConsistentCasingInFileNames": true,
1515
"moduleResolution": "node",
1616
"resolveJsonModule": true,
17-
"isolatedModules": true
17+
"isolatedModules": true,
18+
"incremental": true
1819
},
1920
"exclude": ["node_modules"],
2021
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"]

examples/6-scaffolding-ts-hasura/package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
"start": "yarn scaffold && yarn build"
77
},
88
"dependencies": {
9+
"graphql": "^16.8.1",
910
"graphql-request": "^4.3.0",
10-
"mobx": "^6.6.0",
11-
"mobx-state-tree": "^5.1.5",
11+
"mobx": "^6.10.2",
12+
"mobx-state-tree": "^5.3.0",
1213
"mst-gql": "portal:../../"
1314
},
1415
"devDependencies": {

examples/6-scaffolding-ts-hasura/src/models/PollsModel.base.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ export class PollsModelSelector extends QueryBuilder {
5656
get question() { return this.__attr(`question`) }
5757
get updated_at() { return this.__attr(`updated_at`) }
5858
get updated_by() { return this.__attr(`updated_by`) }
59-
choices(builder: string | ChoicesModelSelector | ((selector: ChoicesModelSelector) => ChoicesModelSelector) | undefined, args?: { distinctOn?: ChoicesSelectColumn[], limit?: (number | null), offset?: (number | null), orderBy?: ChoicesOrderBy[], where?: (ChoicesBoolExp | null) }) { return this.__child(`choices`+ (args ? '('+['distinctOn', 'limit', 'offset', 'orderBy', 'where'].map((argName) => ((args as any)[argName] ? `${argName}: ${JSON.stringify((args as any)[argName])}` : null) ).filter((v) => v!=null).join(', ') + ')': ''), ChoicesModelSelector, builder) }
60-
choices_aggregate(builder: string | ChoicesAggregateModelSelector | ((selector: ChoicesAggregateModelSelector) => ChoicesAggregateModelSelector) | undefined, args?: { distinctOn?: ChoicesSelectColumn[], limit?: (number | null), offset?: (number | null), orderBy?: ChoicesOrderBy[], where?: (ChoicesBoolExp | null) }) { return this.__child(`choices_aggregate`+ (args ? '('+['distinctOn', 'limit', 'offset', 'orderBy', 'where'].map((argName) => ((args as any)[argName] ? `${argName}: ${JSON.stringify((args as any)[argName])}` : null) ).filter((v) => v!=null).join(', ') + ')': ''), ChoicesAggregateModelSelector, builder) }
59+
choices(builder: string | ChoicesModelSelector | ((selector: ChoicesModelSelector) => ChoicesModelSelector) | undefined, args?: { distinctOn?: ChoicesSelectColumn[] | null, limit?: (number | null), offset?: (number | null), orderBy?: ChoicesOrderBy[] | null, where?: (ChoicesBoolExp | null) }) { return this.__child(`choices`+ (args ? '('+['distinctOn', 'limit', 'offset', 'orderBy', 'where'].map((argName) => ((args as any)[argName] ? `${argName}: ${JSON.stringify((args as any)[argName])}` : null) ).filter((v) => v!=null).join(', ') + ')': ''), ChoicesModelSelector, builder) }
60+
choices_aggregate(builder: string | ChoicesAggregateModelSelector | ((selector: ChoicesAggregateModelSelector) => ChoicesAggregateModelSelector) | undefined, args?: { distinctOn?: ChoicesSelectColumn[] | null, limit?: (number | null), offset?: (number | null), orderBy?: ChoicesOrderBy[] | null, where?: (ChoicesBoolExp | null) }) { return this.__child(`choices_aggregate`+ (args ? '('+['distinctOn', 'limit', 'offset', 'orderBy', 'where'].map((argName) => ((args as any)[argName] ? `${argName}: ${JSON.stringify((args as any)[argName])}` : null) ).filter((v) => v!=null).join(', ') + ')': ''), ChoicesAggregateModelSelector, builder) }
6161
}
6262
export function selectFromPolls() {
6363
return new PollsModelSelector()

0 commit comments

Comments
 (0)