diff --git a/.gitignore b/.gitignore
index 9f6f960..b2409e6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,7 +6,7 @@ gradle
out
stale_outputs_checked
src/main/resources/public/dist
-src/main/js/**/*.js
+frontend/**/*.js
node_modules
lib
.merlin
\ No newline at end of file
diff --git a/bsconfig.json b/bsconfig.json
index e80eb5c..616f71c 100644
--- a/bsconfig.json
+++ b/bsconfig.json
@@ -1,22 +1,21 @@
{
- "name": "bs",
- "version": "0.1.0",
+ "name": "reason-react-examples",
+ "reason": {
+ "react-jsx": 3,
+ },
"sources": {
- "dir" : "src/main/js",
+ "dir" : "frontend",
"subdirs" : true
},
- "package-specs": {
+ "bsc-flags": ["-bs-super-errors", "-bs-no-version-header"],
+ "package-specs": [{
"module": "commonjs",
"in-source": true
- },
+ }],
"suffix": ".bs.js",
+ "namespace": true,
"bs-dependencies": [
+ "reason-react"
],
- "warnings": {
- "error" : "+101"
- },
- "reason": {
- "react-jsx": 3
- },
"refmt": 3
}
diff --git a/frontend/Login.re b/frontend/Login.re
new file mode 100644
index 0000000..cf70344
--- /dev/null
+++ b/frontend/Login.re
@@ -0,0 +1 @@
+ReactDOMRe.renderToElementWithId(, "login-page-app");
\ No newline at end of file
diff --git a/frontend/Main.re b/frontend/Main.re
new file mode 100644
index 0000000..e69de29
diff --git a/frontend/components/loginPage/LoginPage.re b/frontend/components/loginPage/LoginPage.re
new file mode 100644
index 0000000..085cbb7
--- /dev/null
+++ b/frontend/components/loginPage/LoginPage.re
@@ -0,0 +1,3 @@
+[@react.component]
+let make = (~name) =>
+
{ReasonReact.string("Hello " ++ name ++ "!")}
;
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index cd04116..3dbae45 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5 +1,5 @@
{
- "name": "bs",
+ "name": "bringo",
"version": "0.1.0",
"lockfileVersion": 1,
"requires": true,
@@ -1937,6 +1937,11 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
"json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
@@ -2000,6 +2005,14 @@
"path-exists": "^3.0.0"
}
},
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -2311,8 +2324,7 @@
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
- "dev": true
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"object-copy": {
"version": "0.1.0",
@@ -2506,9 +2518,9 @@
"dev": true
},
"pbkdf2": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.0.tgz",
- "integrity": "sha512-wHMFZ6HTLGlB9f/WsQBs5OwMQJoLXYuJUzbA+j+hRBf7+Y8KcXpatzIviIcTy1OAyhWQp08nyiPO8Dnv0z4Sww==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz",
+ "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
"dev": true,
"requires": {
"create-hash": "^1.1.2",
@@ -2564,6 +2576,16 @@
"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
"dev": true
},
+ "prop-types": {
+ "version": "15.7.2",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
+ "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.8.1"
+ }
+ },
"prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
@@ -2662,6 +2684,32 @@
"safe-buffer": "^5.1.0"
}
},
+ "react": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz",
+ "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.6.2"
+ }
+ },
+ "react-dom": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz",
+ "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.6.2",
+ "scheduler": "^0.19.1"
+ }
+ },
+ "react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
@@ -2687,6 +2735,11 @@
"picomatch": "^2.2.1"
}
},
+ "reason-react": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/reason-react/-/reason-react-0.8.0.tgz",
+ "integrity": "sha512-97AfK3eCF6vfP8rnbq3k6GgXsZt//OiPMINTUk5luJ8W0Wt/JaYsDG6eWKP8Zx3gPpxSU1EPjB1pUm6o6fBnFA=="
+ },
"regex-not": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
@@ -2821,6 +2874,15 @@
"ret": "~0.1.10"
}
},
+ "scheduler": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
+ "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ },
"schema-utils": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
diff --git a/package.json b/package.json
index 297263a..d062f08 100644
--- a/package.json
+++ b/package.json
@@ -1,17 +1,26 @@
{
- "name": "bs",
+ "name": "bringo",
"version": "0.1.0",
"scripts": {
"webpack": "webpack",
- "clean": "bsb -clean-world",
"build": "bsb -make-world && webpack",
- "watch": "bsb -make-world -w"
+ "start": "bsb -make-world -w -ws _ ",
+ "clean": "bsb -clean-world",
+ "server": "moduleserve ./ --port 8000",
+ "test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
- "BuckleScript"
+ "BuckleScript",
+ "ReasonReact",
+ "reason-react"
],
"author": "",
"license": "MIT",
+ "dependencies": {
+ "react": "^16.8.1",
+ "react-dom": "^16.8.1",
+ "reason-react": "^0.8.0"
+ },
"devDependencies": {
"bs-platform": "^7.3.2",
"webpack": "^4.43.0",
diff --git a/src/main/js/main.ml b/src/main/js/main.ml
deleted file mode 100644
index 923b773..0000000
--- a/src/main/js/main.ml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-let () = Js.log "Hello, BuckleScript"
\ No newline at end of file
diff --git a/src/main/resources/templates/login.mustache b/src/main/resources/templates/login.mustache
index a6e823f..1688f70 100644
--- a/src/main/resources/templates/login.mustache
+++ b/src/main/resources/templates/login.mustache
@@ -4,11 +4,7 @@
Test
- Login Page bitches!
-
+
+