Skip to content

Commit ab6c2d5

Browse files
authored
Merge pull request #1406 from rowyio/rc
Rc
2 parents 5708153 + add7aa0 commit ab6c2d5

File tree

211 files changed

+8380
-7236
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

211 files changed

+8380
-7236
lines changed

.env.example

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
REACT_APP_FIREBASE_PROJECT_ID=
2-
REACT_APP_FIREBASE_PROJECT_WEB_API_KEY=
1+
VITE_APP_FIREBASE_PROJECT_ID=
2+
VITE_APP_FIREBASE_PROJECT_WEB_API_KEY=

.github/workflows/deploy-preview.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ on:
66
# paths:
77
# - "website/**"
88
env:
9-
REACT_APP_FIREBASE_PROJECT_ID: rowyio
10-
REACT_APP_FIREBASE_PROJECT_WEB_API_KEY:
9+
VITE_APP_FIREBASE_PROJECT_ID: rowyio
10+
VITE_APP_FIREBASE_PROJECT_WEB_API_KEY:
1111
"${{ secrets.FIREBASE_WEB_API_KEY_TRYROWY }}"
1212
CI: ""
1313
jobs:

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
# production
99
/build
10+
/dist
1011
cloud_functions/functions/lib
1112

1213
# firebase

CONTRIBUTING.md

+20-11
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,26 @@ Read the documentation on setting up your local development environment
1717
Read how to submit a pull request [here](https://docs.rowy.io/contributing).
1818

1919
To get familiar with the project,
20-
[good first issues](https://github.com/rowyio/rowy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) is a good place
21-
to start.
20+
[good first issues](https://github.com/rowyio/rowy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)
21+
is a good place to start.
2222

2323
## Working on existing issues
2424

25-
26-
27-
Before you get started working on an [issue](https://github.com/rowyio/rowy/issues), please make sure to share that you are working on it by commenting on the issue and posting a message on #contributions channel in Rowy's [Discord](https://rowy.io/discord). The maintainers will then assign the issue to you after making sure any relevant information or context in addition is provided before you can start on the task.
28-
29-
Once you are assigned a task, please provide periodic updates or share any questions or roadblocks on either discord or the Github issue, so that the commmunity or the project maintainers can provide you any feedback or guidance as needed. If you are inactive for more than 1-2 week on a issue that was assigned to you, then we will assume you have stopped working on it and we will unassign it from you - so that we can give a chance to others in the community to work on it.
25+
Before you get started working on an
26+
[issue](https://github.com/rowyio/rowy/issues), please make sure to share that
27+
you are working on it by commenting on the issue and posting a message on
28+
#contributions channel in Rowy's
29+
[Discord](https://discord.com/invite/fjBugmvzZP). The maintainers will then
30+
assign the issue to you after making sure any relevant information or context in
31+
addition is provided before you can start on the task.
32+
33+
Once you are assigned a task, please provide periodic updates or share any
34+
questions or roadblocks on either discord or the Github issue, so that the
35+
commmunity or the project maintainers can provide you any feedback or guidance
36+
as needed. If you are inactive for more than 1-2 week on a issue that was
37+
assigned to you, then we will assume you have stopped working on it and we will
38+
unassign it from you - so that we can give a chance to others in the community
39+
to work on it.
3040

3141
## File a feature request
3242

@@ -35,10 +45,9 @@ create a new issue using
3545
[Feature Request Template](https://github.com/rowyio/rowy/issues/new?assignees=&labels=&template=feature_request.md)
3646
to share your idea. If you are working on this to contribute to the project,
3747
then let others in the community and project maintainers know by posting on
38-
#contributions channel in Rowy's
39-
[Discord](https://rowy.io/discord). This allows others in the
40-
community and the maintainers a chance to provide feedback and guidance before
41-
you spend time working on it.
48+
#contributions channel in Rowy's [Discord](https://rowy.io/discord). This allows
49+
others in the community and the maintainers a chance to provide feedback and
50+
guidance before you spend time working on it.
4251

4352
## Report an issue
4453

README.md

+13-5
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ Low-code for Firebase and Google Cloud.
5555
</td>
5656
</tr>
5757
</table> -->
58+
5859
https://user-images.githubusercontent.com/307298/157185793-f67511cd-7b7b-4229-9589-d7defbf7a63f.mp4
5960

6061
<!-- <img width="85%" src="https://firebasestorage.googleapis.com/v0/b/rowyio.appspot.com/o/publicDemo%2FRowy%20Website%20Video%20GIF%20Small.gif?alt=media&token=3f699a8f-c1f2-4046-8ed5-e4ff66947cd8" />
@@ -98,8 +99,10 @@ https://user-images.githubusercontent.com/307298/157185793-f67511cd-7b7b-4229-95
9899

99100
## Quick guided install
100101

101-
Set up Rowy on your Google Cloud Platform project with this easy deploy button. Your
102-
data and cloud functions stay on your own Firestore/GCP and is managed via a cloud run instance that operates exclusively on your GCP project. So we do do not access or store any of your data on Rowy.
102+
Set up Rowy on your Google Cloud Platform project with this easy deploy button.
103+
Your data and cloud functions stay on your own Firestore/GCP and is managed via
104+
a cloud run instance that operates exclusively on your GCP project. So we do do
105+
not access or store any of your data on Rowy.
103106

104107
[<img width="200" alt="Guided quick start button" src="https://user-images.githubusercontent.com/307298/185548050-e9208fb6-fe53-4c84-bbfa-53c08e03c15f.png">](https://rowy.app/)
105108

@@ -112,12 +115,17 @@ You can find the full documentation with how-to guides and templates
112115

113116
## Manual Install
114117

115-
We recommend the [quick guided install](https://github.com/rowyio/rowy#quick-guided-install) option above. Manual install option is only recommended if you want to develop and contribute to the project. Follow this [guide](https://docs.rowy.io/setup/install#option-2-manual-install) for manual setup.
118+
We recommend the
119+
[quick guided install](https://github.com/rowyio/rowy#quick-guided-install)
120+
option above. Manual install option is only recommended if you want to develop
121+
and contribute to the project. Follow this
122+
[guide](https://docs.rowy.io/setup/install#option-2-manual-install) for manual
123+
setup.
116124

117125
## Roadmap
118126

119-
[View our roadmap](https://roadmap.rowy.io/) on Rowy - Upvote,
120-
downvote, share your thoughts!
127+
[View our roadmap](https://roadmap.rowy.io/) on Rowy - Upvote, downvote, share
128+
your thoughts!
121129

122130
If you'd like to propose a feature, submit an issue
123131
[here](https://github.com/rowyio/rowy/issues/new?assignees=&labels=&template=feature_request.md&title=).

createDotEnv.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ const main = (
88
) => {
99
return fs.writeFileSync(
1010
".env",
11-
`REACT_APP_FIREBASE_PROJECT_ID = ${projectID}
12-
REACT_APP_FIREBASE_PROJECT_WEB_API_KEY = ${firebaseWebApiKey}
13-
REACT_APP_ALGOLIA_APP_ID = ${algoliaAppId}
14-
REACT_APP_ALGOLIA_SEARCH_API_KEY = ${algoliaSearhApiKey}`
11+
`VITE_APP_FIREBASE_PROJECT_ID = ${projectID}
12+
VITE_APP_FIREBASE_PROJECT_WEB_API_KEY = ${firebaseWebApiKey}
13+
VITE_APP_ALGOLIA_APP_ID = ${algoliaAppId}
14+
VITE_APP_ALGOLIA_SEARCH_API_KEY = ${algoliaSearhApiKey}`
1515
);
1616
};
1717

firebase.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"hosting": {
3-
"public": "build",
3+
"public": "dist",
44
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
55
"rewrites": [
66
{

public/index.html renamed to index.html

+11-10
Original file line numberDiff line numberDiff line change
@@ -15,30 +15,30 @@
1515
<link
1616
rel="apple-touch-icon"
1717
sizes="180x180"
18-
href="%PUBLIC_URL%/favicon/apple-touch-icon.png"
18+
href="/favicon/apple-touch-icon.png"
1919
/>
2020
<link
2121
rel="icon"
2222
type="image/png"
2323
sizes="32x32"
24-
href="%PUBLIC_URL%/favicon/favicon-32x32.png"
24+
href="/favicon/favicon-32x32.png"
2525
/>
2626
<link
2727
rel="icon"
2828
type="image/png"
2929
sizes="16x16"
30-
href="%PUBLIC_URL%/favicon/favicon-16x16.png"
30+
href="/favicon/favicon-16x16.png"
3131
/>
3232
<link
3333
rel="icon"
3434
type="image/svg+xml"
35-
href="%PUBLIC_URL%/favicon/icon.svg"
35+
href="/favicon/icon.svg"
3636
id="favicon-svg"
3737
/>
38-
<link rel="manifest" href="%PUBLIC_URL%/site.webmanifest" />
38+
<link rel="manifest" href="/site.webmanifest" />
3939
<link
4040
rel="mask-icon"
41-
href="%PUBLIC_URL%/favicon/safari-pinned-tab.svg"
41+
href="/favicon/safari-pinned-tab.svg"
4242
color="#4200FF"
4343
/>
4444
<meta name="msapplication-TileColor" content="#4200FF" />
@@ -47,13 +47,13 @@
4747
manifest.json provides metadata used when your web app is installed on a
4848
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
4949
-->
50-
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
50+
<link rel="manifest" href="/manifest.json" />
5151
<!--
5252
Notice the use of %PUBLIC_URL% in the tags above.
5353
It will be replaced with the URL of the `public` folder during the build.
5454
Only files inside the `public` folder can be referenced from the HTML.
5555
56-
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
56+
Unlike "/favicon.ico" or "favicon.ico", "/favicon.ico" will
5757
work correctly both with client-side routing and a non-root public URL.
5858
Learn how to configure a non-root public URL by running `npm run build`.
5959
-->
@@ -87,7 +87,7 @@
8787
property="og:description"
8888
content="Build on the Google Cloud Platform in minutes. Manage Firestore data in a spreadsheet-like UI, write Cloud Functions effortlessly in the browser, and connect to third-party apps. Rowy is open source!"
8989
/>
90-
<meta property="og:image" content="%PUBLIC_URL%/static/meta.png" />
90+
<meta property="og:image" content="/static/meta.png" />
9191

9292
<meta property="twitter:card" content="summary_large_image" />
9393
<meta property="twitter:url" content="https://rowy.io/" />
@@ -96,11 +96,12 @@
9696
property="twitter:description"
9797
content="Build on the Google Cloud Platform in minutes. Manage Firestore data in a spreadsheet-like UI, write Cloud Functions effortlessly in the browser, and connect to third-party apps. Rowy is open source!"
9898
/>
99-
<meta property="twitter:image" content="%PUBLIC_URL%/static/meta.png" />
99+
<meta property="twitter:image" content="/static/meta.png" />
100100
</head>
101101
<body>
102102
<noscript>You need to enable JavaScript to run this app.</noscript>
103103
<div id="root"></div>
104+
<script type="module" src="/src/index.tsx"></script>
104105
<!--
105106
This HTML file is a template.
106107
If you open it directly in the browser, you will see an empty page.

package.json

+20-12
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,23 @@
1010
"dependencies": {
1111
"@emotion/react": "^11.10.5",
1212
"@emotion/styled": "^11.10.5",
13+
"@esbuild-plugins/node-modules-polyfill": "^0.2.2",
14+
"@json2csv/plainjs": "^7.0.1",
1315
"@mdi/js": "^6.6.96",
1416
"@monaco-editor/react": "^4.4.4",
1517
"@mui/icons-material": "^5.10.16",
1618
"@mui/lab": "^5.0.0-alpha.76",
1719
"@mui/material": "^5.10.16",
1820
"@mui/x-date-pickers": "^5.0.0-alpha.4",
19-
"@rowy/form-builder": "^0.8.0",
21+
"@rowy/form-builder": "^1.0.0",
2022
"@rowy/multiselect": "^0.4.1",
2123
"@tanstack/react-table": "^8.5.15",
2224
"@tinymce/tinymce-react": "^3",
2325
"@uiw/react-md-editor": "^3.14.1",
2426
"algoliasearch": "^4.13.1",
2527
"ansi-to-react": "^6.1.6",
2628
"buffer": "^6.0.3",
29+
"colord": "^2.9.3",
2730
"compare-versions": "^4.1.3",
2831
"csv-parse": "^5.1.0",
2932
"date-fns": "^2.28.0",
@@ -33,21 +36,19 @@
3336
"firebaseui": "^6.0.1",
3437
"jotai": "^1.8.4",
3538
"json-stable-stringify-without-jsonify": "^1.0.1",
36-
"json2csv": "^5.0.7",
3739
"jszip": "^3.10.0",
3840
"lodash-es": "^4.17.21",
3941
"match-sorter": "^6.3.1",
4042
"material-ui-popup-state": "^4.0.1",
4143
"mdi-material-ui": "^7.3.0",
42-
"monaco-editor-auto-typings": "^0.4.0",
44+
"monaco-editor-auto-typings": "^0.4.3",
4345
"notistack": "^2.0.4",
4446
"path-browserify": "^1.0.1",
4547
"pb-util": "^1.0.3",
4648
"quicktype-core": "^6.0.71",
4749
"react": "^18.2.0",
4850
"react-beautiful-dnd": "^13.1.0",
4951
"react-color-palette": "^6.2.0",
50-
"react-detect-offline": "^2.4.5",
5152
"react-div-100vh": "^0.7.0",
5253
"react-dnd": "^16.0.1",
5354
"react-dnd-html5-backend": "^16.0.1",
@@ -62,29 +63,30 @@
6263
"react-markdown": "^8.0.3",
6364
"react-router-dom": "6.3.0",
6465
"react-router-hash-link": "^2.4.3",
65-
"react-scripts": "^5.0.1",
6666
"react-usestateref": "^1.0.8",
6767
"react-virtual": "^2.10.4",
6868
"remark-gfm": "^3.0.1",
6969
"seedrandom": "^3.0.5",
7070
"stream-browserify": "^3.0.0",
71+
"sucrase": "^3.32.0",
7172
"swr": "^1.3.0",
7273
"tinymce": "^5",
7374
"tss-react": "^4.4.4",
7475
"typescript": "^4.9.3",
7576
"use-algolia": "^1.5.3",
7677
"use-async-memo": "^1.2.4",
77-
"use-debounce": "^8.0.0",
78+
"use-debounce": "^9.0.4",
7879
"use-memo-value": "^1.0.1",
7980
"web-vitals": "^2.1.4",
8081
"workbox-webpack-plugin": "^6.5.4"
8182
},
8283
"scripts": {
83-
"start": "cross-env PORT=7699 craco start",
84-
"startWithEmulators": "cross-env PORT=7699 REACT_APP_FIREBASE_EMULATORS=true craco start",
84+
"start": "vite --port 7699",
85+
"startWithEmulators": "VITE_APP_FIREBASE_EMULATORS=true vite --port 7699",
8586
"emulators": "firebase emulators:start --only firestore,auth --import ./emulators/ --export-on-exit",
86-
"test": "craco test --env ./src/test/custom-jest-env.js --verbose --detectOpenHandles",
87-
"build": "craco build",
87+
"test": "vitest",
88+
"build": "tsc && cross-env NODE_OPTIONS=--max-old-space-size=8192 vite build",
89+
"preview": "vite preview --port 7699",
8890
"analyze": "source-map-explorer ./build/static/js/*.js",
8991
"prepare": "husky install",
9092
"env": "node createDotEnv",
@@ -154,7 +156,6 @@
154156
"@types/dompurify": "^2.3.3",
155157
"@types/file-saver": "^2.0.5",
156158
"@types/jest": "^27.4.1",
157-
"@types/json2csv": "^5.0.3",
158159
"@types/lodash-es": "^4.17.6",
159160
"@types/node": "^17.0.23",
160161
"@types/react": "^18.0.25",
@@ -167,6 +168,8 @@
167168
"@types/seedrandom": "^3.0.2",
168169
"@typescript-eslint/eslint-plugin": "^5.45.0",
169170
"@typescript-eslint/parser": "^5.45.0",
171+
"@vitejs/plugin-react": "^4.0.0",
172+
"@vitejs/plugin-react-swc": "^3.3.2",
170173
"craco-alias": "^3.0.1",
171174
"craco-swc": "^0.5.1",
172175
"cross-env": "^7.0.3",
@@ -176,14 +179,19 @@
176179
"eslint-plugin-local-rules": "^1.1.0",
177180
"eslint-plugin-no-relative-import-paths": "^1.2.0",
178181
"eslint-plugin-tsdoc": "^0.2.16",
182+
"happy-dom": "^9.20.3",
179183
"husky": ">=7.0.4",
180184
"lint-staged": ">=12.3.7",
181185
"monaco-editor": "^0.33.0",
182186
"prettier": "^2.6.2",
183187
"raw-loader": "^4.0.2",
184188
"source-map-explorer": "^2.5.2",
185189
"ts-jest": "^28.0.2",
186-
"typedoc": "^0.23.21"
190+
"typedoc": "^0.23.21",
191+
"vite": "^4.3.9",
192+
"vite-plugin-svgr": "^3.2.0",
193+
"vite-tsconfig-paths": "^4.2.0",
194+
"vitest": "^0.31.4"
187195
},
188196
"resolutions": {
189197
"@types/react": "^18"

0 commit comments

Comments
 (0)