@tinacms/app 0.0.0-e0ddb8c-20241004065742 → 0.0.0-ea204c9-20250318044256

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 CHANGED
@@ -1,12 +1,138 @@
1
1
  # @tinacms/app
2
2
 
3
- ## 0.0.0-e0ddb8c-20241004065742
3
+ ## 0.0.0-ea204c9-20250318044256
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - Updated dependencies [[`a5ed11f`](https://github.com/tinacms/tinacms/commit/a5ed11f4b636938a79385e0c3a56b5e3e38b5f28), [`31513bb`](https://github.com/tinacms/tinacms/commit/31513bb473cd1d349a3711ef7c5075cf9d03f121), [`3b2aba8`](https://github.com/tinacms/tinacms/commit/3b2aba80ac14a512592f67a04f9e1792667db9dd)]:
8
- - tinacms@0.0.0-e0ddb8c-20241004065742
9
- - @tinacms/mdx@0.0.0-e0ddb8c-20241004065742
7
+ - Updated dependencies [[`ea204c9`](https://github.com/tinacms/tinacms/commit/ea204c9045451f3ebea04f503e6158d2016613e4)]:
8
+ - tinacms@0.0.0-ea204c9-20250318044256
9
+
10
+ ## 2.2.3
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [[`991db1f`](https://github.com/tinacms/tinacms/commit/991db1f10c1f9cf9211d7e82bd56658cdcce24c7)]:
15
+ - tinacms@2.7.3
16
+
17
+ ## 2.2.2
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies [[`619e601`](https://github.com/tinacms/tinacms/commit/619e6010d6f95d893e980952bef64f747808c956), [`602b4d0`](https://github.com/tinacms/tinacms/commit/602b4d07f94de4c10d5bb059a5edc49546a2031c)]:
22
+ - tinacms@2.7.2
23
+ - @tinacms/mdx@1.6.1
24
+
25
+ ## 2.2.1
26
+
27
+ ### Patch Changes
28
+
29
+ - Updated dependencies [[`74513b3`](https://github.com/tinacms/tinacms/commit/74513b357aa27165aa86f7b3218c697c663539e8), [`06c1716`](https://github.com/tinacms/tinacms/commit/06c17163b558a96275b0ef66c746b005a6f90d13)]:
30
+ - tinacms@2.7.1
31
+
32
+ ## 2.2.0
33
+
34
+ ### Minor Changes
35
+
36
+ - [#5503](https://github.com/tinacms/tinacms/pull/5503) [`99bb59f`](https://github.com/tinacms/tinacms/commit/99bb59ff7b9f3cf27a1382b91826eb81831ecb95) Thanks [@JackDevAU](https://github.com/JackDevAU)! - feat: add experimental user form select to the useTina hook
37
+
38
+ ### Patch Changes
39
+
40
+ - [#5486](https://github.com/tinacms/tinacms/pull/5486) [`d7c5ec1`](https://github.com/tinacms/tinacms/commit/d7c5ec1b174419dcc6ddba3cfb3684dd469da571) Thanks [@JackDevAU](https://github.com/JackDevAU)! - Update dependencies across packages
41
+
42
+ - Updated dependencies [[`3974aa7`](https://github.com/tinacms/tinacms/commit/3974aa759192713140733b99ee0254a1a056e124), [`7541614`](https://github.com/tinacms/tinacms/commit/7541614527a02268ea453b23ce84637f978dcf2d), [`d7c5ec1`](https://github.com/tinacms/tinacms/commit/d7c5ec1b174419dcc6ddba3cfb3684dd469da571), [`99bb59f`](https://github.com/tinacms/tinacms/commit/99bb59ff7b9f3cf27a1382b91826eb81831ecb95)]:
43
+ - tinacms@2.7.0
44
+ - @tinacms/mdx@1.6.0
45
+
46
+ ## 2.1.19
47
+
48
+ ### Patch Changes
49
+
50
+ - Updated dependencies []:
51
+ - tinacms@2.6.4
52
+
53
+ ## 2.1.18
54
+
55
+ ### Patch Changes
56
+
57
+ - Updated dependencies [[`05ba069`](https://github.com/tinacms/tinacms/commit/05ba0692a7e990fbb671177829562869d517e7c1), [`42daaf7`](https://github.com/tinacms/tinacms/commit/42daaf7af125da265d2c5998168e9c7345dc0a59), [`bc986dd`](https://github.com/tinacms/tinacms/commit/bc986dd48f9a7da264281b55926ec51ce1068bb7), [`3af2354`](https://github.com/tinacms/tinacms/commit/3af23542b984c10e138d0cf10a165d50b99bb0e9)]:
58
+ - tinacms@2.6.3
59
+
60
+ ## 2.1.17
61
+
62
+ ### Patch Changes
63
+
64
+ - Updated dependencies []:
65
+ - tinacms@2.6.2
66
+
67
+ ## 2.1.16
68
+
69
+ ### Patch Changes
70
+
71
+ - Updated dependencies [[`61c45f4`](https://github.com/tinacms/tinacms/commit/61c45f49a2abe82336b661dedbbe2a15d0f3da05)]:
72
+ - tinacms@2.6.1
73
+
74
+ ## 2.1.15
75
+
76
+ ### Patch Changes
77
+
78
+ - Updated dependencies [[`9931d5a`](https://github.com/tinacms/tinacms/commit/9931d5a0d7e5e9e5165170047cf5653041bddd7a), [`4aadf3e`](https://github.com/tinacms/tinacms/commit/4aadf3ee0b5e7ba6614baee9507a3b51abc92053), [`92b683b`](https://github.com/tinacms/tinacms/commit/92b683bd3d73b47271eee5b8ff648ed4dcde51e3), [`82b0039`](https://github.com/tinacms/tinacms/commit/82b00393da8bbcc2cf357fbbb546904f07e8d89c), [`877699d`](https://github.com/tinacms/tinacms/commit/877699d08b3e2c2470742a3acf25d02a95e440b3)]:
79
+ - tinacms@2.6.0
80
+ - @tinacms/mdx@1.5.4
81
+
82
+ ## 2.1.14
83
+
84
+ ### Patch Changes
85
+
86
+ - Updated dependencies [[`b54b303`](https://github.com/tinacms/tinacms/commit/b54b303a8290528230dc83d8fb1b7535df7199f6), [`0345852`](https://github.com/tinacms/tinacms/commit/0345852e3a7568b61a1417cd037715ab0d0dca01)]:
87
+ - tinacms@2.5.2
88
+ - @tinacms/mdx@1.5.3
89
+
90
+ ## 2.1.13
91
+
92
+ ### Patch Changes
93
+
94
+ - Updated dependencies [[`bbfd415`](https://github.com/tinacms/tinacms/commit/bbfd415762a8b2c62b7653b497b94d67aaa8501a), [`83a25cf`](https://github.com/tinacms/tinacms/commit/83a25cf61b736e1867d37bee37f7514d349e4427)]:
95
+ - tinacms@2.5.1
96
+
97
+ ## 2.1.12
98
+
99
+ ### Patch Changes
100
+
101
+ - [#5276](https://github.com/tinacms/tinacms/pull/5276) [`f90ef4d`](https://github.com/tinacms/tinacms/commit/f90ef4d92ae7b21c8c610d14af9510354a3969c6) Thanks [@Ben0189](https://github.com/Ben0189)! - Updates minor and patch dependencies
102
+
103
+ - [#5218](https://github.com/tinacms/tinacms/pull/5218) [`03bb823`](https://github.com/tinacms/tinacms/commit/03bb8237df87dab9da503818b839d44209263a48) Thanks [@kldavis4](https://github.com/kldavis4)! - Adds referential integrity for renaming and deleting referenced documents.
104
+
105
+ When a document is renamed, any documents which reference the document will be updated with the new document name. When a document is deleted, the user will be warned and any references to the document will be deleted.
106
+
107
+ - Updated dependencies [[`f90ef4d`](https://github.com/tinacms/tinacms/commit/f90ef4d92ae7b21c8c610d14af9510354a3969c6), [`03bb823`](https://github.com/tinacms/tinacms/commit/03bb8237df87dab9da503818b839d44209263a48), [`60fb710`](https://github.com/tinacms/tinacms/commit/60fb710addd539860eb7ba39196e02f3bb5f08c1), [`f3aa146`](https://github.com/tinacms/tinacms/commit/f3aa1465423101520bd05939249228c8d8b2a0df)]:
108
+ - @tinacms/mdx@1.5.2
109
+ - tinacms@2.5.0
110
+
111
+ ## 2.1.11
112
+
113
+ ### Patch Changes
114
+
115
+ - Updated dependencies [[`9bb408f`](https://github.com/tinacms/tinacms/commit/9bb408f1c45ecb1fd8e39faac652c4b342f74967), [`bbf2f81`](https://github.com/tinacms/tinacms/commit/bbf2f81143eb400faf8aa4dff33b8a58fa5059c8), [`bc59a81`](https://github.com/tinacms/tinacms/commit/bc59a819e1e68e48de027c4fac72551ca109185d)]:
116
+ - tinacms@2.4.0
117
+ - @tinacms/mdx@1.5.1
118
+
119
+ ## 2.1.10
120
+
121
+ ### Patch Changes
122
+
123
+ - [#5004](https://github.com/tinacms/tinacms/pull/5004) [`74014ed`](https://github.com/tinacms/tinacms/commit/74014ed2df67e96e1a5fb2950e973528322671a3) Thanks [@Ben0189](https://github.com/Ben0189)! - Fix toolbar floating icon show up in different screen size
124
+
125
+ - Updated dependencies [[`c5dad82`](https://github.com/tinacms/tinacms/commit/c5dad82a3f1fc4f7686f1503a7894dfacffa8c36), [`ecea7ac`](https://github.com/tinacms/tinacms/commit/ecea7ac5e1c087954eaaf873df3a563ca08f3e47), [`eb519f2`](https://github.com/tinacms/tinacms/commit/eb519f27a4c0fe1b05c361db2c1fe2337e6c4e12), [`00f6525`](https://github.com/tinacms/tinacms/commit/00f6525871c7c6bd40091424337df72c7bfcf783)]:
126
+ - @tinacms/mdx@1.5.0
127
+ - tinacms@2.3.0
128
+
129
+ ## 2.1.9
130
+
131
+ ### Patch Changes
132
+
133
+ - Updated dependencies [[`31513bb`](https://github.com/tinacms/tinacms/commit/31513bb473cd1d349a3711ef7c5075cf9d03f121), [`3b2aba8`](https://github.com/tinacms/tinacms/commit/3b2aba80ac14a512592f67a04f9e1792667db9dd)]:
134
+ - tinacms@2.2.9
135
+ - @tinacms/mdx@1.4.5
10
136
 
11
137
  ## 2.1.8
12
138
 
@@ -665,7 +791,7 @@
665
791
  > NOTE: Relative paths are fine to use here, but make sure it's relative to the `.tina/config` file
666
792
 
667
793
  ```ts
668
- localContentPath: process.env.REMOTE_ROOT_PATH // eg. '../../my-content-repo'
794
+ localContentPath: process.env.REMOTE_ROOT_PATH; // eg. '../../my-content-repo'
669
795
  ```
670
796
 
671
797
  ### Production workflow
@@ -709,18 +835,18 @@
709
835
  EX:
710
836
 
711
837
  ```ts
712
- import { defineConfig } from 'tinacms'
838
+ import { defineConfig } from "tinacms";
713
839
 
714
840
  export default defineConfig({
715
841
  admin: {
716
842
  auth: {
717
843
  onLogin: () => {
718
- console.log('On Log in!')
844
+ console.log("On Log in!");
719
845
  },
720
846
  },
721
847
  },
722
848
  /// ...
723
- })
849
+ });
724
850
  ```
725
851
 
726
852
  - 9d4943a82: Fix issue resolving alias fields when passing through the `useTina` hook
@@ -943,13 +1069,13 @@
943
1069
 
944
1070
  ```ts
945
1071
  // .tina/config.ts
946
- import schema from './schema'
1072
+ import schema from "./schema";
947
1073
 
948
1074
  export default defineConfig({
949
1075
  schema: schema,
950
1076
  //.. Everything from define config in `schema.ts`
951
1077
  //.. Everything from `schema.config`
952
- })
1078
+ });
953
1079
  ```
954
1080
 
955
1081
  2. Add Build config
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@tinacms/app",
3
- "version": "0.0.0-e0ddb8c-20241004065742",
3
+ "version": "0.0.0-ea204c9-20250318044256",
4
4
  "main": "src/main.tsx",
5
5
  "license": "Apache-2.0",
6
6
  "devDependencies": {
7
- "@types/react": "^18.3.10",
8
- "@types/react-dom": "^18.3.0",
9
- "typescript": "^5.6.2"
7
+ "@types/react": "^18.3.18",
8
+ "@types/react-dom": "^18.3.5",
9
+ "typescript": "^5.7.3"
10
10
  },
11
11
  "dependencies": {
12
12
  "@graphiql/toolkit": "0.8.4",
@@ -20,9 +20,9 @@
20
20
  "react": "^18.3.1",
21
21
  "react-dom": "^18.3.1",
22
22
  "react-router-dom": "6.3.0",
23
- "typescript": "^5.6.2",
24
- "zod": "^3.23.8",
25
- "@tinacms/mdx": "0.0.0-e0ddb8c-20241004065742",
26
- "tinacms": "0.0.0-e0ddb8c-20241004065742"
23
+ "typescript": "^5.7.3",
24
+ "zod": "^3.24.2",
25
+ "@tinacms/mdx": "1.6.1",
26
+ "tinacms": "0.0.0-ea204c9-20250318044256"
27
27
  }
28
28
  }
package/src/App.tsx CHANGED
@@ -1,20 +1,20 @@
1
- import React, { Suspense } from 'react'
2
- import TinaCMS, { TinaAdmin, useCMS, MdxFieldPluginExtendible } from 'tinacms'
3
- import { Preview } from './preview'
4
- import Playground from './Playground'
1
+ import React, { Suspense } from 'react';
2
+ import TinaCMS, { TinaAdmin, useCMS, MdxFieldPluginExtendible } from 'tinacms';
3
+ import { Preview } from './preview';
4
+ import Playground from './Playground';
5
5
 
6
6
  // TODO: Resolve this to local file in tsconfig.json
7
7
  // @ts-expect-error
8
- import config from 'TINA_IMPORT'
8
+ import config from 'TINA_IMPORT';
9
9
  // @ts-expect-error
10
- import schemaJson from 'SCHEMA_IMPORT'
10
+ import schemaJson from 'SCHEMA_IMPORT';
11
11
  // @ts-expect-error
12
- import staticMedia from 'STATIC_MEDIA_IMPORT'
12
+ import staticMedia from 'STATIC_MEDIA_IMPORT';
13
13
 
14
- const RawEditor = React.lazy(() => import('./fields/rich-text'))
14
+ const RawEditor = React.lazy(() => import('./fields/rich-text'));
15
15
 
16
16
  const Editor = (props) => {
17
- const [rawMode, setRawMode] = React.useState(false)
17
+ const [rawMode, setRawMode] = React.useState(false);
18
18
  return (
19
19
  <MdxFieldPluginExtendible.Component
20
20
  rawMode={rawMode}
@@ -26,32 +26,32 @@ const Editor = (props) => {
26
26
  </Suspense>
27
27
  }
28
28
  />
29
- )
30
- }
29
+ );
30
+ };
31
31
 
32
32
  const SetPreview = () => {
33
- const cms = useCMS()
33
+ const cms = useCMS();
34
34
  React.useEffect(() => {
35
35
  // Override original 'rich-text' field with one that has raw mode support
36
36
  cms.fields.add({
37
37
  ...MdxFieldPluginExtendible,
38
38
  Component: Editor,
39
- })
40
- const basePath = __BASE_PATH__.replace(/^\/|\/$/g, '')
41
- cms.flags.set('tina-basepath', basePath)
39
+ });
40
+ const basePath = __BASE_PATH__.replace(/^\/|\/$/g, '');
41
+ cms.flags.set('tina-basepath', basePath);
42
42
  cms.flags.set(
43
43
  'tina-preview',
44
44
  `${basePath ? `${basePath}/` : ''}${config.build.outputFolder.replace(
45
45
  /^\/|\/$/g,
46
46
  ''
47
47
  )}`
48
- )
49
- }, [])
50
- return null
51
- }
48
+ );
49
+ }, []);
50
+ return null;
51
+ };
52
52
 
53
53
  export const TinaAdminWrapper = () => {
54
- const schema = { ...config?.schema, config }
54
+ const schema = { ...config?.schema, config };
55
55
  return (
56
56
  // @ts-ignore JSX element type 'TinaCMS' does not have any construct or call signatures.ts(2604)
57
57
  <TinaCMS
@@ -70,10 +70,10 @@ export const TinaAdminWrapper = () => {
70
70
  schemaJson={schemaJson}
71
71
  />
72
72
  </TinaCMS>
73
- )
74
- }
73
+ );
74
+ };
75
75
 
76
76
  function App() {
77
- return <TinaAdminWrapper />
77
+ return <TinaAdminWrapper />;
78
78
  }
79
- export default App
79
+ export default App;
@@ -1,28 +1,28 @@
1
- import { createGraphiQLFetcher } from '@graphiql/toolkit'
2
- import { GraphiQL } from 'graphiql'
3
- import { parse, print } from 'graphql'
4
- import React from 'react'
5
- import { useCMS } from 'tinacms'
6
- import { FolderIcon } from '@heroicons/react/outline'
7
- import { queries } from 'CLIENT_IMPORT'
1
+ import { createGraphiQLFetcher } from '@graphiql/toolkit';
2
+ import { GraphiQL } from 'graphiql';
3
+ import { parse, print } from 'graphql';
4
+ import React from 'react';
5
+ import { useCMS } from 'tinacms';
6
+ import { FolderIcon } from '@heroicons/react/outline';
7
+ import { queries } from 'CLIENT_IMPORT';
8
8
 
9
- import 'graphiql/graphiql.min.css'
9
+ import 'graphiql/graphiql.min.css';
10
10
 
11
11
  const Playground = () => {
12
- const cms = useCMS()
13
- const [query, setQuery] = React.useState('')
14
- const [variables, setVariables] = React.useState('')
15
- const [autoQueries, setAutoQueries] = React.useState()
12
+ const cms = useCMS();
13
+ const [query, setQuery] = React.useState('');
14
+ const [variables, setVariables] = React.useState('');
15
+ const [autoQueries, setAutoQueries] = React.useState();
16
16
  const [collectionInfo, setCollectionInfo] = React.useState<{
17
17
  collections: {
18
- name: string
19
- documents: { edges: { node: { _sys: { relativePath: string } } }[] }
20
- }[]
21
- }>()
18
+ name: string;
19
+ documents: { edges: { node: { _sys: { relativePath: string } } }[] };
20
+ }[];
21
+ }>();
22
22
  React.useEffect(() => {
23
23
  const run = async () => {
24
24
  if (queries) {
25
- const q = queries({ request: async () => query })
25
+ const q = queries({ request: async () => query });
26
26
  setCollectionInfo(
27
27
  await cms.api.tina.request(
28
28
  `
@@ -45,52 +45,52 @@ const Playground = () => {
45
45
  `,
46
46
  { variables: {} }
47
47
  )
48
- )
49
- setAutoQueries(q)
48
+ );
49
+ setAutoQueries(q);
50
50
  } else {
51
- setAutoQueries({})
51
+ setAutoQueries({});
52
52
  }
53
- }
54
- run()
55
- }, [])
53
+ };
54
+ run();
55
+ }, []);
56
56
 
57
- const ref = React.useRef()
57
+ const ref = React.useRef();
58
58
 
59
59
  const getToken = () => {
60
- return JSON.parse(localStorage.getItem('tinacms-auth') || '{}')?.id_token
61
- }
60
+ return JSON.parse(localStorage.getItem('tinacms-auth') || '{}')?.id_token;
61
+ };
62
62
 
63
63
  if (!autoQueries) {
64
- return null
64
+ return null;
65
65
  }
66
66
 
67
67
  const Plugin = () => {
68
- const noAutoQueries = Object.keys(autoQueries).length === 0
68
+ const noAutoQueries = Object.keys(autoQueries).length === 0;
69
69
  return (
70
70
  <div>
71
- <div className="graphiql-doc-explorer-title">Queries</div>
72
- <div className="graphiql-doc-explorer-content">
73
- <div className="graphiql-markdown-description">
71
+ <div className='graphiql-doc-explorer-title'>Queries</div>
72
+ <div className='graphiql-doc-explorer-content'>
73
+ <div className='graphiql-markdown-description'>
74
74
  {noAutoQueries
75
75
  ? 'No auto-generated queries found, the Tina config is likely set to client.skip = true'
76
76
  : "Tina's auto-generated queries can be found here as well as any queries you may have defined yourself."}{' '}
77
- <a href="https://tina.io/docs/data-fetching/custom-queries/">
77
+ <a href='https://tina.io/docs/data-fetching/custom-queries/'>
78
78
  Learn more here
79
79
  </a>
80
80
  </div>
81
- <nav className="space-y-1" aria-label="Sidebar">
81
+ <nav className='space-y-1' aria-label='Sidebar'>
82
82
  <ul>
83
83
  {Object.entries(autoQueries).map(([key, value]) => {
84
84
  const collection = collectionInfo?.collections.find(
85
85
  ({ name }) => name === key
86
- )
87
- let variables = ''
88
- let relativePath = ''
86
+ );
87
+ let variables = '';
88
+ let relativePath = '';
89
89
  if (collection) {
90
90
  relativePath =
91
91
  collection?.documents?.edges[0]?.node?._sys.relativePath ||
92
- ''
93
- variables = JSON.stringify({ relativePath }, null, 2)
92
+ '';
93
+ variables = JSON.stringify({ relativePath }, null, 2);
94
94
  }
95
95
  return (
96
96
  <li>
@@ -104,31 +104,31 @@ const Playground = () => {
104
104
  )}
105
105
  onClick={async () => {
106
106
  if (typeof value === 'function') {
107
- const v = await value({})
108
- const ast = parse(v.query)
109
- setVariables(variables)
110
- setQuery(print(ast))
107
+ const v = await value({});
108
+ const ast = parse(v.query);
109
+ setVariables(variables);
110
+ setQuery(print(ast));
111
111
  }
112
112
  }}
113
113
  >
114
- <span className="truncate">
114
+ <span className='truncate'>
115
115
  {key}{' '}
116
116
  {relativePath && (
117
- <span className="pl-2 text-sm text-gray-300">
117
+ <span className='pl-2 text-sm text-gray-300'>
118
118
  ({relativePath})
119
119
  </span>
120
120
  )}{' '}
121
121
  </span>
122
122
  </button>
123
123
  </li>
124
- )
124
+ );
125
125
  })}
126
126
  </ul>
127
127
  </nav>
128
128
  </div>
129
129
  </div>
130
- )
131
- }
130
+ );
131
+ };
132
132
  return (
133
133
  <div style={{ height: '100vh' }}>
134
134
  <GraphiQL
@@ -136,11 +136,11 @@ const Playground = () => {
136
136
  const fetcher = createGraphiQLFetcher({
137
137
  url: __API_URL__,
138
138
  headers: { Authorization: `Bearer ${getToken()}` },
139
- })
140
- return fetcher(params, options)
139
+ });
140
+ return fetcher(params, options);
141
141
  }}
142
142
  query={query}
143
- defaultEditorToolsVisibility="variables"
143
+ defaultEditorToolsVisibility='variables'
144
144
  isHeadersEditorEnabled={false}
145
145
  defaultTabs={[]}
146
146
  plugins={[
@@ -153,11 +153,11 @@ const Playground = () => {
153
153
  variables={variables}
154
154
  ></GraphiQL>
155
155
  </div>
156
- )
157
- }
156
+ );
157
+ };
158
158
 
159
- export default Playground
159
+ export default Playground;
160
160
 
161
161
  function classNames(...classes: string[]) {
162
- return classes.filter(Boolean).join(' ')
162
+ return classes.filter(Boolean).join(' ');
163
163
  }
@@ -1 +1 @@
1
- export const queries = false
1
+ export const queries = false;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
 
3
3
  */
4
- import RawEditor from './monaco'
4
+ import RawEditor from './monaco';
5
5
 
6
- export default RawEditor
6
+ export default RawEditor;