create-chayns-app 1.1.28 → 1.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/index.cjs +126 -0
  2. package/package.json +23 -15
  3. package/templates/api-v5/page/src/components/AppWrapper.jsx +7 -9
  4. package/templates/api-v5/page/src/index.html +1 -1
  5. package/templates/api-v5/page/src/index.jsx +1 -1
  6. package/templates/api-v5/page-module/src/components/App.jsx +19 -16
  7. package/templates/api-v5/page-module/src/components/AppWrapper.jsx +10 -12
  8. package/templates/api-v5/page-module-redux/src/components/App.jsx +20 -14
  9. package/templates/api-v5/page-module-redux/src/components/AppWrapper.jsx +7 -7
  10. package/templates/api-v5/page-redux/src/components/AppWrapper.jsx +9 -11
  11. package/templates/api-v5/page-redux/src/index.html +1 -1
  12. package/templates/api-v5/page-redux/src/index.jsx +1 -1
  13. package/templates/api-v5/page-ts/src/components/AppWrapper.tsx +7 -9
  14. package/templates/api-v5/page-ts/src/index.html +1 -1
  15. package/templates/api-v5/page-ts/src/index.tsx +1 -1
  16. package/templates/api-v5/page-ts-module/src/components/App.tsx +17 -14
  17. package/templates/api-v5/page-ts-module/src/components/AppWrapper.tsx +7 -7
  18. package/templates/api-v5/page-ts-module-redux/src/components/App.tsx +21 -14
  19. package/templates/api-v5/page-ts-module-redux/src/components/AppWrapper.tsx +13 -9
  20. package/templates/api-v5/page-ts-redux/src/components/AppWrapper.tsx +9 -11
  21. package/templates/api-v5/page-ts-redux/src/index.html +1 -1
  22. package/templates/api-v5/page-ts-redux/src/index.tsx +0 -1
  23. package/templates/api-v5/shared/.env.development.local +0 -2
  24. package/templates/api-v5/shared/js/src/constants/server-urls.js +0 -1
  25. package/templates/api-v5/shared/js/src/redux-modules/index.js +1 -1
  26. package/templates/api-v5/shared/toolkit.config-module.js +4 -2
  27. package/templates/api-v5/shared/toolkit.config.js +3 -3
  28. package/templates/api-v5/shared/ts/src/constants/server-urls.ts +0 -1
  29. package/templates/api-v5/shared/ts/src/redux-modules/index.ts +1 -1
  30. package/templates/api-v5/shared/ts/src/types/environment.d.ts +2 -2
  31. package/templates/api-v5/shared/ts/src/types/global.d.ts +5 -0
  32. package/templates/api-v5/shared/ts/tsconfig.json +17 -19
  33. package/templates/page/README.md +5 -8
  34. package/templates/page/src/index.html +1 -1
  35. package/templates/shared/README.md +5 -8
  36. package/templates/shared/tests/setup.js +9 -0
  37. package/templates/shared/vitest.config.mjs +18 -0
  38. package/.github/workflows/publish.yml +0 -21
  39. package/dist/index.js +0 -40
  40. package/templates/api-v5/shared/js/template-package-redux.json +0 -40
  41. package/templates/api-v5/shared/js/template-package.json +0 -38
  42. package/templates/api-v5/shared/ts/template-package-redux.json +0 -39
  43. package/templates/api-v5/shared/ts/template-package.json +0 -37
  44. package/templates/page/template-package.json +0 -33
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-chayns-app",
3
- "version": "1.1.28",
3
+ "version": "1.2.0-beta.0",
4
4
  "private": false,
5
5
  "description": "Create a new chayns® development project in one command.",
6
6
  "keywords": [
@@ -25,28 +25,36 @@
25
25
  },
26
26
  "main": "index.js",
27
27
  "bin": {
28
- "create-chayns-app": "dist/index.js"
28
+ "create-chayns-app": "dist/index.cjs"
29
+ },
30
+ "type": "module",
31
+ "files": [
32
+ "dist",
33
+ "templates"
34
+ ],
35
+ "engines": {
36
+ "node": ">=18"
29
37
  },
30
38
  "scripts": {
31
- "build": "ncc build src/index.js -o dist -m",
39
+ "build": "node ./scripts/build.js",
40
+ "watch": "node ./scripts/watch.js",
32
41
  "format": "prettier . --ignore-path .gitignore --write",
33
42
  "prepublishOnly": "npm run build",
34
43
  "start": "node src/index.js"
35
44
  },
36
45
  "devDependencies": {
37
- "@vercel/ncc": "^0.38.2",
38
- "chalk": "4.1.2",
39
- "commander": "12.1.0",
46
+ "@eslint/js": "^9.19.0",
47
+ "chalk": "^5.4.1",
48
+ "commander": "^13.1.0",
40
49
  "enquirer": "^2.4.1",
41
- "eslint": "^9.14.0",
42
- "execa": "5.1.1",
43
- "fast-glob": "^3.3.2",
44
- "is-npm": "6.0.0",
45
- "mkdirp": "1.0.4",
46
- "ora": "5.4.1",
47
- "prettier": "^3.3.3",
48
- "prettier-plugin-packagejson": "^2.5.3",
49
- "react-redux": "^9.1.2",
50
+ "esbuild": "^0.24.2",
51
+ "eslint": "^9.19.0",
52
+ "execa": "^8.0.1",
53
+ "fast-glob": "^3.3.3",
54
+ "is-npm": "^6.0.0",
55
+ "ora": "^8.1.1",
56
+ "prettier": "^3.4.2",
57
+ "prettier-plugin-packagejson": "^2.5.8",
50
58
  "validate-npm-package-name": "^6.0.0"
51
59
  },
52
60
  "publishConfig": {
@@ -3,14 +3,12 @@ import { ChaynsProvider } from 'chayns-api';
3
3
  import { PageProvider } from '@chayns-components/core';
4
4
  import App from './App';
5
5
 
6
- const AppWrapper = () => {
7
- return (
8
- <ChaynsProvider>
9
- <PageProvider>
10
- <App/>
11
- </PageProvider>
12
- </ChaynsProvider>
13
- )
14
- }
6
+ const AppWrapper = () => (
7
+ <ChaynsProvider>
8
+ <PageProvider>
9
+ <App />
10
+ </PageProvider>
11
+ </ChaynsProvider>
12
+ );
15
13
 
16
14
  export default AppWrapper;
@@ -9,6 +9,6 @@
9
9
  <title>{{ readable-package-name }}</title>
10
10
  </head>
11
11
  <body>
12
- <div id="root" {{ tapp-style }}></div>
12
+ <div id="root"{{ tapp-style }}></div>
13
13
  </body>
14
14
  </html>
@@ -4,7 +4,7 @@ import AppWrapper from './components/AppWrapper';
4
4
 
5
5
  try {
6
6
  const root = createRoot(document.querySelector('#root'));
7
- root.render(<AppWrapper/>);
7
+ root.render(<AppWrapper />);
8
8
  } catch (e) {
9
9
  console.error('Encountered error at `ReactDOM.render`: ', e);
10
10
  }
@@ -1,29 +1,32 @@
1
- import React from 'react';
1
+ import React, { useState } from 'react';
2
2
  import { WaitUntil } from 'chayns-api';
3
3
  import { SmallWaitCursor } from '@chayns-components/core';
4
4
  import './app.scss';
5
5
 
6
6
  const App = () => {
7
-
8
- const taskList = [
9
- // tasks in first level are executed one after another
10
- () => new Promise((resolve) => {setTimeout(resolve, 1000)}), // Add your initial Requests, textstrings here
7
+ const [taskList] = useState(() => [
8
+ // first level tasks are executed one after the other
9
+ () =>
10
+ new Promise((resolve) => {
11
+ setTimeout(resolve, 1000);
12
+ }), // Add your initial Requests, textstrings here
11
13
  [
12
- // tasks on second level are executed parallel
13
- ]
14
- ]
14
+ // second level tasks are executed in parallel
15
+ ],
16
+ ]);
15
17
 
16
- return (<div className="{{ package-name-underscore }}">
18
+ return (
17
19
  <WaitUntil
18
20
  tasks={taskList}
19
- loadingComponent={(
20
- <div style={{ textAlign: 'center' }}>
21
- <SmallWaitCursor/>
21
+ loadingComponent={
22
+ <div style={{ display: 'flex', justifyContent: 'center' }}>
23
+ <SmallWaitCursor />
22
24
  </div>
23
- )}
24
- >
25
- <h1>Hi! Welcome to your newly created chayns application!</h1>
26
- </WaitUntil></div>);
25
+ }
26
+ >
27
+ <h1>Hi! Welcome to your newly created chayns application!</h1>
28
+ </WaitUntil>
29
+ );
27
30
  };
28
31
 
29
32
  export default App;
@@ -3,17 +3,15 @@ import { ChaynsProvider, withCompatMode } from 'chayns-api';
3
3
  import { PageProvider } from '@chayns-components/core';
4
4
  import App from './App';
5
5
 
6
- const AppWrapper = ({ ...props }) => {
7
- return (
8
- <div className="tapp">
9
- {/* eslint-disable-next-line react/jsx-props-no-spreading */}
10
- <ChaynsProvider {...props}>
11
- <PageProvider>
12
- <App/>
13
- </PageProvider>
14
- </ChaynsProvider>
15
- </div>
16
- )
17
- }
6
+ const AppWrapper = (props) => (
7
+ <div className="{{ package-name-underscore }}">
8
+ {/* eslint-disable-next-line react/jsx-props-no-spreading */}
9
+ <ChaynsProvider {...props}>
10
+ <PageProvider>
11
+ <App />
12
+ </PageProvider>
13
+ </ChaynsProvider>
14
+ </div>
15
+ );
18
16
 
19
17
  export default withCompatMode(AppWrapper);
@@ -1,31 +1,37 @@
1
- import React from 'react';
1
+ import React, { useState } from 'react';
2
2
  import { WaitUntil } from 'chayns-api';
3
3
  import { SmallWaitCursor } from '@chayns-components/core';
4
4
  import { useSelector } from 'react-redux';
5
5
  import { selectCount } from '../redux-modules/counter/counterSelectors';
6
+ import './app.scss';
6
7
 
7
8
  const App = () => {
8
9
  const counter = useSelector(selectCount);
9
10
 
10
- const taskList = [
11
- // tasks on first level are executed parallel
12
- () => new Promise((resolve) => {setTimeout(resolve, 1000)}), // Add your initial Requests, textstrings here
11
+ const [taskList] = useState(() => [
12
+ // first level tasks are executed one after the other
13
+ () =>
14
+ new Promise((resolve) => {
15
+ setTimeout(resolve, 1000);
16
+ }), // Add your initial Requests, textstrings here
13
17
  [
14
- // tasks in second level are executed one after another
15
- ]
16
- ]
18
+ // second level tasks are executed in parallel
19
+ ],
20
+ ]);
17
21
 
18
- return (<div className="{{ package-name-underscore }}">
22
+ return (
19
23
  <WaitUntil
20
24
  tasks={taskList}
21
- loadingComponent={(
22
- <div style={{ textAlign: 'center' }}>
23
- <SmallWaitCursor/>
25
+ loadingComponent={
26
+ <div style={{ display: 'flex', justifyContent: 'center' }}>
27
+ <SmallWaitCursor />
24
28
  </div>
25
- )}
29
+ }
26
30
  >
27
- <h1>Hi! Welcome to your newly created chayns application! {counter}</h1>
28
- </WaitUntil></div>);
31
+ <h1>Hi! Welcome to your newly created chayns application!</h1>
32
+ <p>Count: {counter}</p>
33
+ </WaitUntil>
34
+ );
29
35
  };
30
36
 
31
37
  export default App;
@@ -1,21 +1,21 @@
1
1
  import React from 'react';
2
+ import { Provider } from 'react-redux';
2
3
  import { ChaynsProvider, withCompatMode } from 'chayns-api';
3
4
  import { PageProvider } from '@chayns-components/core';
4
5
  import App from './App';
5
6
  import store from '../redux-modules';
6
- import { Provider } from 'react-redux';
7
7
 
8
- const AppWrapper = ({ ...props }) => {
9
- return (
10
- /* eslint-disable-next-line react/jsx-props-no-spreading */
8
+ const AppWrapper = (props) => (
9
+ <div className="{{ package-name-underscore }}">
10
+ {/* eslint-disable-next-line react/jsx-props-no-spreading */}
11
11
  <ChaynsProvider {...props}>
12
12
  <Provider store={store}>
13
13
  <PageProvider>
14
- <App/>
14
+ <App />
15
15
  </PageProvider>
16
16
  </Provider>
17
17
  </ChaynsProvider>
18
- )
19
- }
18
+ </div>
19
+ );
20
20
 
21
21
  export default withCompatMode(AppWrapper);
@@ -5,16 +5,14 @@ import { PageProvider } from '@chayns-components/core';
5
5
  import store from '../redux-modules';
6
6
  import App from './App';
7
7
 
8
- const AppWrapper = () => {
9
- return (
10
- <ChaynsProvider>
11
- <Provider store={store}>
12
- <PageProvider>
13
- <App />
14
- </PageProvider>
15
- </Provider>
16
- </ChaynsProvider>
17
- )
18
- }
8
+ const AppWrapper = () => (
9
+ <ChaynsProvider>
10
+ <Provider store={store}>
11
+ <PageProvider>
12
+ <App />
13
+ </PageProvider>
14
+ </Provider>
15
+ </ChaynsProvider>
16
+ );
19
17
 
20
18
  export default AppWrapper;
@@ -9,6 +9,6 @@
9
9
  <title>{{ readable-package-name }}</title>
10
10
  </head>
11
11
  <body>
12
- <div id="root" {{ tapp-style }}></div>
12
+ <div id="root"{{ tapp-style }}></div>
13
13
  </body>
14
14
  </html>
@@ -4,7 +4,7 @@ import AppWrapper from './components/AppWrapper';
4
4
 
5
5
  try {
6
6
  const root = createRoot(document.querySelector('#root'));
7
- root.render(<AppWrapper/>);
7
+ root.render(<AppWrapper />);
8
8
  } catch (e) {
9
9
  console.error('Encountered error at `ReactDOM.render`: ', e);
10
10
  }
@@ -3,14 +3,12 @@ import { ChaynsProvider } from 'chayns-api';
3
3
  import { PageProvider } from '@chayns-components/core';
4
4
  import App from './App';
5
5
 
6
- const AppWrapper = () => {
7
- return (
8
- <ChaynsProvider>
9
- <PageProvider>
10
- <App/>
11
- </PageProvider>
12
- </ChaynsProvider>
13
- );
14
- }
6
+ const AppWrapper = () => (
7
+ <ChaynsProvider>
8
+ <PageProvider>
9
+ <App />
10
+ </PageProvider>
11
+ </ChaynsProvider>
12
+ );
15
13
 
16
14
  export default AppWrapper;
@@ -9,6 +9,6 @@
9
9
  <title>{{ readable-package-name }}</title>
10
10
  </head>
11
11
  <body>
12
- <div id="root" {{ tapp-style }}></div>
12
+ <div id="root"{{ tapp-style }}></div>
13
13
  </body>
14
14
  </html>
@@ -4,7 +4,7 @@ import AppWrapper from './components/AppWrapper';
4
4
 
5
5
  try {
6
6
  const root = createRoot(document.querySelector('#root') as Element);
7
- root.render(<AppWrapper/>);
7
+ root.render(<AppWrapper />);
8
8
  } catch (e) {
9
9
  console.error('Encountered error at `ReactDOM.render`: ', e);
10
10
  }
@@ -1,29 +1,32 @@
1
- import React from 'react';
1
+ import React, { useState } from 'react';
2
2
  import { WaitUntil } from 'chayns-api';
3
3
  import { SmallWaitCursor } from '@chayns-components/core';
4
4
  import './app.scss';
5
5
 
6
6
  const App = () => {
7
-
8
- const taskList = [
9
- // tasks on first level are executed parallel
10
- () => new Promise((resolve) => {setTimeout(resolve, 1000)}), // Add your initial Requests, textstrings here
7
+ const [taskList] = useState(() => [
8
+ // first level tasks are executed one after the other
9
+ () =>
10
+ new Promise((resolve) => {
11
+ setTimeout(resolve, 1000);
12
+ }), // Add your initial Requests, textstrings here
11
13
  [
12
- // tasks in second level are executed one after another
13
- ]
14
- ]
14
+ // second level tasks are executed in parallel
15
+ ],
16
+ ]);
15
17
 
16
- return (<div className="{{ package-name-underscore }}">
18
+ return (
17
19
  <WaitUntil
18
20
  tasks={taskList}
19
- loadingComponent={(
20
- <div style={{ textAlign: 'center' }}>
21
- <SmallWaitCursor/>
21
+ loadingComponent={
22
+ <div style={{ display: 'flex', justifyContent: 'center' }}>
23
+ <SmallWaitCursor />
22
24
  </div>
23
- )}
25
+ }
24
26
  >
25
27
  <h1>Hi! Welcome to your newly created chayns application!</h1>
26
- </WaitUntil></div>);
28
+ </WaitUntil>
29
+ );
27
30
  };
28
31
 
29
32
  export default App;
@@ -1,17 +1,17 @@
1
- import React from 'react';
1
+ import React, { FC, ComponentProps } from 'react';
2
2
  import { ChaynsProvider, withCompatMode } from 'chayns-api';
3
3
  import { PageProvider } from '@chayns-components/core';
4
4
  import App from './App';
5
5
 
6
- const AppWrapper = ({ ...props }) => {
7
- return (
8
- /* eslint-disable-next-line react/jsx-props-no-spreading */
6
+ const AppWrapper: FC<ComponentProps<typeof ChaynsProvider>> = (props) => (
7
+ <div className="{{ package-name-underscore }}">
8
+ {/* eslint-disable-next-line react/jsx-props-no-spreading */}
9
9
  <ChaynsProvider {...props}>
10
10
  <PageProvider>
11
- <App/>
11
+ <App />
12
12
  </PageProvider>
13
13
  </ChaynsProvider>
14
- )
15
- }
14
+ </div>
15
+ );
16
16
 
17
17
  export default withCompatMode(AppWrapper);
@@ -1,30 +1,37 @@
1
- import React from 'react';
1
+ import React, { useState } from 'react';
2
2
  import { WaitUntil } from 'chayns-api';
3
3
  import { SmallWaitCursor } from '@chayns-components/core';
4
-
4
+ import { useSelector } from 'react-redux';
5
+ import { selectCount } from '../redux-modules/counter/counterSelectors';
5
6
  import './app.scss';
6
7
 
7
8
  const App = () => {
9
+ const counter = useSelector(selectCount);
8
10
 
9
- const taskList = [
10
- // tasks on first level are executed parallel
11
- () => new Promise((resolve) => {setTimeout(resolve, 1000)}), // Add your initial Requests, textstrings here
11
+ const [taskList] = useState(() => [
12
+ // first level tasks are executed one after the other
13
+ () =>
14
+ new Promise((resolve) => {
15
+ setTimeout(resolve, 1000);
16
+ }), // Add your initial Requests, textstrings here
12
17
  [
13
- // tasks in second level are executed one after another
14
- ]
15
- ]
18
+ // second level tasks are executed in parallel
19
+ ],
20
+ ]);
16
21
 
17
- return (<div className="{{ package-name-underscore }}">
22
+ return (
18
23
  <WaitUntil
19
24
  tasks={taskList}
20
- loadingComponent={(
21
- <div style={{ textAlign: 'center' }}>
22
- <SmallWaitCursor/>
25
+ loadingComponent={
26
+ <div style={{ display: 'flex', justifyContent: 'center' }}>
27
+ <SmallWaitCursor />
23
28
  </div>
24
- )}
29
+ }
25
30
  >
26
31
  <h1>Hi! Welcome to your newly created chayns application!</h1>
27
- </WaitUntil></div>);
32
+ <p>Count: {counter}</p>
33
+ </WaitUntil>
34
+ );
28
35
  };
29
36
 
30
37
  export default App;
@@ -1,17 +1,21 @@
1
- import React from 'react';
1
+ import React, { FC, ComponentProps } from 'react';
2
+ import { Provider } from 'react-redux';
2
3
  import { ChaynsProvider, withCompatMode } from 'chayns-api';
3
4
  import { PageProvider } from '@chayns-components/core';
4
5
  import App from './App';
6
+ import store from '../redux-modules';
5
7
 
6
- const AppWrapper = ({ ...props }) => {
7
- return (
8
- /* eslint-disable-next-line react/jsx-props-no-spreading */
8
+ const AppWrapper: FC<ComponentProps<typeof ChaynsProvider>> = (props) => (
9
+ <div className="{{ package-name-underscore }}">
10
+ {/* eslint-disable-next-line react/jsx-props-no-spreading */}
9
11
  <ChaynsProvider {...props}>
10
- <PageProvider>
11
- <App/>
12
- </PageProvider>
12
+ <Provider store={store}>
13
+ <PageProvider>
14
+ <App />
15
+ </PageProvider>
16
+ </Provider>
13
17
  </ChaynsProvider>
14
- )
15
- }
18
+ </div>
19
+ );
16
20
 
17
21
  export default withCompatMode(AppWrapper);
@@ -5,16 +5,14 @@ import { PageProvider } from '@chayns-components/core';
5
5
  import App from './App';
6
6
  import store from '../redux-modules';
7
7
 
8
- const AppWrapper = () => {
9
- return (
10
- <ChaynsProvider>
11
- <Provider store={store}>
12
- <PageProvider>
13
- <App/>
14
- </PageProvider>
15
- </Provider>
16
- </ChaynsProvider>
17
- )
18
- }
8
+ const AppWrapper = () => (
9
+ <ChaynsProvider>
10
+ <Provider store={store}>
11
+ <PageProvider>
12
+ <App />
13
+ </PageProvider>
14
+ </Provider>
15
+ </ChaynsProvider>
16
+ );
19
17
 
20
18
  export default AppWrapper;
@@ -9,6 +9,6 @@
9
9
  <title>{{ readable-package-name }}</title>
10
10
  </head>
11
11
  <body>
12
- <div id="root" {{ tapp-style }}></div>
12
+ <div id="root"{{ tapp-style }}></div>
13
13
  </body>
14
14
  </html>
@@ -8,4 +8,3 @@ try {
8
8
  } catch (e) {
9
9
  console.error('Encountered error at `ReactDOM.render`: ', e);
10
10
  }
11
-
@@ -1,5 +1,3 @@
1
- PUBLIC_BUILD_ENV=development
2
-
3
1
  # set your development port here
4
2
  PORT=8080
5
3
 
@@ -1,2 +1 @@
1
-
2
1
  export const YOUR_WEBAPI_URL = process.env.PUBLIC_YOUR_WEBAPI_URL;
@@ -2,7 +2,7 @@ import { configureStore, combineReducers } from '@reduxjs/toolkit';
2
2
  import { counterReducer } from './counter/slice';
3
3
 
4
4
  const rootReducer = combineReducers({
5
- counter: counterReducer
5
+ counter: counterReducer,
6
6
  });
7
7
 
8
8
  const Store = configureStore({
@@ -7,7 +7,9 @@ module.exports = buildToolkitConfig({
7
7
  },
8
8
  output: {
9
9
  exposeModules: {
10
- './AppWrapper': './src/components/AppWrapper'
10
+ './AppWrapper': './src/components/AppWrapper',
11
11
  },
12
+ cssVersion: '5.0',
13
+ prefixCss: true,
12
14
  },
13
- })
15
+ });
@@ -7,12 +7,12 @@ module.exports = buildToolkitConfig({
7
7
  },
8
8
  output: {
9
9
  entryPoints: {
10
- 'index': {
10
+ index: {
11
11
  pathIndex: './src/index',
12
12
  pathHtml: './src/index.html',
13
13
  },
14
14
  // Add more entrypoints here
15
15
  },
16
- cssVersion: '5.0'
16
+ cssVersion: '5.0',
17
17
  },
18
- })
18
+ });
@@ -1,2 +1 @@
1
-
2
1
  export const YOUR_WEBAPI_URL = process.env.PUBLIC_YOUR_WEBAPI_URL;
@@ -2,7 +2,7 @@ import { configureStore, combineReducers } from '@reduxjs/toolkit';
2
2
  import { counterReducer } from './counter/slice';
3
3
 
4
4
  const rootReducer = combineReducers({
5
- counter: counterReducer
5
+ counter: counterReducer,
6
6
  });
7
7
 
8
8
  const Store = configureStore({
@@ -1,7 +1,7 @@
1
1
  declare namespace NodeJS {
2
2
  interface ProcessEnv {
3
- PUBLIC_BUILD_ENV: string;
4
- PUBLIC_BUILD_VERSION: string;
3
+ BUILD_ENV: string;
4
+ BUILD_VERSION: string;
5
5
 
6
6
  /* add custom env variables here */
7
7
  PUBLIC_YOUR_WEBAPI_URL: string;
@@ -12,3 +12,8 @@ declare module '*.svg?url' {
12
12
  const value: string;
13
13
  export = value;
14
14
  }
15
+
16
+ declare module '*.json' {
17
+ const value: any;
18
+ export default value;
19
+ }