You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by oy...@apache.org on 2021/07/31 12:12:55 UTC

[tinkerpop] branch TINKERPOP-2591 created (now 322859f)

This is an automated email from the ASF dual-hosted git repository.

oyvindsabo pushed a change to branch TINKERPOP-2591
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.


      at 322859f  Make administrative adjustments to gremlint site

This branch includes the following new commits:

     new 322859f  Make administrative adjustments to gremlint site

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[tinkerpop] 01/01: Make administrative adjustments to gremlint site

Posted by oy...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

oyvindsabo pushed a commit to branch TINKERPOP-2591
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 322859f6d77c164f9b1bc9c6ea87bb65e14ca212
Author: oyvindsabo <oy...@gmail.com>
AuthorDate: Fri Jul 23 07:30:18 2021 +0200

    Make administrative adjustments to gremlint site
    
    - Install gremlint from npm rather than from OyvindSabo/gremlint.
    - Add footer displaying current gremlint version and copyright notice.
---
 docs/gremlint/config-overrides.js                  |  7 ++
 docs/gremlint/package-lock.json                    | 79 ++++++++++++++++++++--
 docs/gremlint/package.json                         |  8 ++-
 docs/gremlint/src/App.tsx                          | 22 +++---
 .../index.tsx => components/CenteredContainer.tsx} | 17 ++---
 docs/gremlint/src/components/Footer.tsx            | 25 +++++++
 docs/gremlint/src/components/Navigator.tsx         | 10 +--
 docs/gremlint/src/components/StyleGuideRule.tsx    |  2 -
 docs/gremlint/src/components/View.tsx              | 25 +++++++
 docs/gremlint/src/views/StyleGuide/index.tsx       | 10 ++-
 10 files changed, 164 insertions(+), 41 deletions(-)

diff --git a/docs/gremlint/config-overrides.js b/docs/gremlint/config-overrides.js
new file mode 100644
index 0000000..642fd15
--- /dev/null
+++ b/docs/gremlint/config-overrides.js
@@ -0,0 +1,7 @@
+const { removeModuleScopePlugin, override, babelInclude } = require('customize-cra');
+const path = require('path');
+
+module.exports = override(
+  removeModuleScopePlugin(),
+  babelInclude([path.resolve('src'), path.resolve('./package-lock.json')]),
+);
diff --git a/docs/gremlint/package-lock.json b/docs/gremlint/package-lock.json
index ee7c445..b60c550 100644
--- a/docs/gremlint/package-lock.json
+++ b/docs/gremlint/package-lock.json
@@ -16,8 +16,10 @@
         "@types/node": "^12.0.0",
         "@types/react": "^16.9.53",
         "@types/react-dom": "^16.9.8",
-        "gremlint": "github:OyvindSabo/gremlint#master",
+        "customize-cra": "^1.0.0",
+        "gremlint": "^3.5.1",
         "react": "^17.0.1",
+        "react-app-rewired": "^2.1.8",
         "react-dom": "^17.0.1",
         "react-scripts": "^4.0.3",
         "sharp-router": "^4.1.5",
@@ -5411,6 +5413,14 @@
       "version": "3.0.7",
       "license": "MIT"
     },
+    "node_modules/customize-cra": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/customize-cra/-/customize-cra-1.0.0.tgz",
+      "integrity": "sha512-DbtaLuy59224U+xCiukkxSq8clq++MOtJ1Et7LED1fLszWe88EoblEYFBJ895sB1mC6B4uu3xPT/IjClELhMbA==",
+      "dependencies": {
+        "lodash.flow": "^3.5.0"
+      }
+    },
     "node_modules/cyclist": {
       "version": "1.0.1",
       "license": "MIT"
@@ -8034,8 +8044,12 @@
       "license": "ISC"
     },
     "node_modules/gremlint": {
-      "version": "1.0.0",
-      "license": "Apache-2.0"
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/gremlint/-/gremlint-3.5.1.tgz",
+      "integrity": "sha512-mnRAX0FtVMSlk0YNGbdTSJnKDYWhm4r2KFXFZS7rOqxMrKOFbKWJt1bSo0bkgBNIADJc1WMo8DtoTgmyQLVckA==",
+      "engines": {
+        "node": ">=10"
+      }
     },
     "node_modules/growly": {
       "version": "1.3.0",
@@ -10380,6 +10394,11 @@
       "version": "4.4.0",
       "license": "MIT"
     },
+    "node_modules/lodash.flow": {
+      "version": "3.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz",
+      "integrity": "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o="
+    },
     "node_modules/lodash.memoize": {
       "version": "4.1.2",
       "license": "MIT"
@@ -13240,6 +13259,28 @@
         "node": ">=10"
       }
     },
+    "node_modules/react-app-rewired": {
+      "version": "2.1.8",
+      "resolved": "https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.1.8.tgz",
+      "integrity": "sha512-wjXPdKPLscA7mn0I1de1NHrbfWdXz4S1ladaGgHVKdn1hTgKK5N6EdGIJM0KrS6bKnJBj7WuqJroDTsPKKr66Q==",
+      "dependencies": {
+        "semver": "^5.6.0"
+      },
+      "bin": {
+        "react-app-rewired": "bin/index.js"
+      },
+      "peerDependencies": {
+        "react-scripts": ">=2.1.3"
+      }
+    },
+    "node_modules/react-app-rewired/node_modules/semver": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
     "node_modules/react-dev-utils": {
       "version": "11.0.4",
       "license": "MIT",
@@ -22250,6 +22291,14 @@
     "csstype": {
       "version": "3.0.7"
     },
+    "customize-cra": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/customize-cra/-/customize-cra-1.0.0.tgz",
+      "integrity": "sha512-DbtaLuy59224U+xCiukkxSq8clq++MOtJ1Et7LED1fLszWe88EoblEYFBJ895sB1mC6B4uu3xPT/IjClELhMbA==",
+      "requires": {
+        "lodash.flow": "^3.5.0"
+      }
+    },
     "cyclist": {
       "version": "1.0.1"
     },
@@ -23969,7 +24018,9 @@
       "version": "4.2.6"
     },
     "gremlint": {
-      "version": "1.0.0"
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/gremlint/-/gremlint-3.5.1.tgz",
+      "integrity": "sha512-mnRAX0FtVMSlk0YNGbdTSJnKDYWhm4r2KFXFZS7rOqxMrKOFbKWJt1bSo0bkgBNIADJc1WMo8DtoTgmyQLVckA=="
     },
     "growly": {
       "version": "1.3.0",
@@ -25487,6 +25538,11 @@
     "lodash.flatten": {
       "version": "4.4.0"
     },
+    "lodash.flow": {
+      "version": "3.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz",
+      "integrity": "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o="
+    },
     "lodash.memoize": {
       "version": "4.1.2"
     },
@@ -27409,6 +27465,21 @@
         "whatwg-fetch": "^3.4.1"
       }
     },
+    "react-app-rewired": {
+      "version": "2.1.8",
+      "resolved": "https://registry.npmjs.org/react-app-rewired/-/react-app-rewired-2.1.8.tgz",
+      "integrity": "sha512-wjXPdKPLscA7mn0I1de1NHrbfWdXz4S1ladaGgHVKdn1hTgKK5N6EdGIJM0KrS6bKnJBj7WuqJroDTsPKKr66Q==",
+      "requires": {
+        "semver": "^5.6.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+        }
+      }
+    },
     "react-dev-utils": {
       "version": "11.0.4",
       "requires": {
diff --git a/docs/gremlint/package.json b/docs/gremlint/package.json
index be3b307..c974018 100644
--- a/docs/gremlint/package.json
+++ b/docs/gremlint/package.json
@@ -11,8 +11,10 @@
     "@types/node": "^12.0.0",
     "@types/react": "^16.9.53",
     "@types/react-dom": "^16.9.8",
-    "gremlint": "github:OyvindSabo/gremlint#master",
+    "customize-cra": "^1.0.0",
+    "gremlint": "^3.5.1",
     "react": "^17.0.1",
+    "react-app-rewired": "^2.1.8",
     "react-dom": "^17.0.1",
     "react-scripts": "^4.0.3",
     "sharp-router": "^4.1.5",
@@ -23,8 +25,8 @@
   "scripts": {
     "predeploy": "npm run build",
     "deploy": "gh-pages -d build",
-    "start": "react-scripts start",
-    "build": "react-scripts build",
+    "start": "react-app-rewired start",
+    "build": "react-app-rewired build",
     "test": "react-scripts test",
     "eject": "react-scripts eject"
   },
diff --git a/docs/gremlint/src/App.tsx b/docs/gremlint/src/App.tsx
index d1bd9ef..1b846ff 100644
--- a/docs/gremlint/src/App.tsx
+++ b/docs/gremlint/src/App.tsx
@@ -24,13 +24,14 @@ import { useRouter } from 'sharp-router';
 import router from './router';
 import FadeIn from './components/FadeIn';
 import Navigator from './components/Navigator';
-import QueryFormatter from './views/QueryFormatter';
-import StyleGuide from './views/StyleGuide';
+import View from './components/View';
+import Footer from './components/Footer';
 import LoadingAnimation from './components/LoadingAnimation';
 
-const ViewWrapper = styled.div`
-  width: min(800px, 100vw);
-  margin-left: calc(50vw - min(400px, 50vw));
+const AppWrapper = styled.div`
+  display: flex;
+  flex-direction: column;
+  height: 100vh;
 `;
 
 const App = () => {
@@ -39,14 +40,11 @@ const App = () => {
   if (!loadingComplete) return <LoadingAnimation onLoadingComplete={() => setLoadingComplete(true)} />;
   return (
     <FadeIn>
-      <div>
+      <AppWrapper>
         <Navigator matchedRoute={matchedRoute} />
-        <div>
-          <ViewWrapper>
-            {matchedRoute === '/' ? <QueryFormatter /> : matchedRoute === '/style-guide' ? <StyleGuide /> : null}
-          </ViewWrapper>
-        </div>
-      </div>
+        <View matchedRoute={matchedRoute} />
+        <Footer />
+      </AppWrapper>
     </FadeIn>
   );
 };
diff --git a/docs/gremlint/src/views/StyleGuide/index.tsx b/docs/gremlint/src/components/CenteredContainer.tsx
similarity index 69%
copy from docs/gremlint/src/views/StyleGuide/index.tsx
copy to docs/gremlint/src/components/CenteredContainer.tsx
index b83574c..9781ec7 100644
--- a/docs/gremlint/src/views/StyleGuide/index.tsx
+++ b/docs/gremlint/src/components/CenteredContainer.tsx
@@ -17,16 +17,11 @@
  * under the License.
  */
 
-import React from 'react';
-import StyleGuideRule from '../../components/StyleGuideRule';
-import { rules } from './rules';
+import styled from 'styled-components';
 
-const StyleGuide = () => (
-  <div>
-    {rules.map(({ title, explanation, example }) => (
-      <StyleGuideRule key={title} title={title} explanation={explanation} example={example} />
-    ))}
-  </div>
-);
+const CenteredContainer = styled.div`
+  width: min(800px, 100vw);
+  margin-left: calc(50vw - min(400px, 50vw));
+`;
 
-export default StyleGuide;
+export default CenteredContainer;
diff --git a/docs/gremlint/src/components/Footer.tsx b/docs/gremlint/src/components/Footer.tsx
new file mode 100644
index 0000000..1f1202c
--- /dev/null
+++ b/docs/gremlint/src/components/Footer.tsx
@@ -0,0 +1,25 @@
+import styled from 'styled-components';
+import CenteredContainer from './CenteredContainer';
+import { textColor } from '../styleVariables';
+import { packages } from '../../package-lock.json';
+
+const gremlintVersion = packages['node_modules/gremlint'].version;
+
+const FooterContent = styled.div`
+  padding: 10px;
+  color: ${textColor};
+  font-size: 15px;
+  text-align: center;
+  line-height: 20px;
+`;
+
+const Footer = () => (
+  <CenteredContainer>
+    <FooterContent>
+      <p>Gremlint version: {gremlintVersion}</p>
+      <p>Copyright © 2015-2021 The Apache Software Foundation.</p>
+    </FooterContent>
+  </CenteredContainer>
+);
+
+export default Footer;
diff --git a/docs/gremlint/src/components/Navigator.tsx b/docs/gremlint/src/components/Navigator.tsx
index fe62af5..15c0cee 100644
--- a/docs/gremlint/src/components/Navigator.tsx
+++ b/docs/gremlint/src/components/Navigator.tsx
@@ -19,6 +19,7 @@
 
 import React from 'react';
 import styled from 'styled-components';
+import CenteredContainer from './CenteredContainer';
 import NavigationButton from './NavigationButton';
 import { white } from '../styleVariables';
 
@@ -32,11 +33,6 @@ const NavigatorWrapper = styled.div`
   z-index: 1;
 `;
 
-const NavigatorCenterContainer = styled.div`
-  width: min(800px, 100vw);
-  margin-left: calc(50vw - min(400px, 50vw));
-`;
-
 const Spacer = styled.div`
   height: 40px;
 `;
@@ -48,10 +44,10 @@ type NavigatorProps = {
 const Navigator = ({ matchedRoute }: NavigatorProps) => (
   <div>
     <NavigatorWrapper>
-      <NavigatorCenterContainer>
+      <CenteredContainer>
         <NavigationButton isSelected={matchedRoute === '/'} label="Query formatter" href="#/" />
         <NavigationButton isSelected={matchedRoute === '/style-guide'} label="Style guide" href="#/style-guide" />
-      </NavigatorCenterContainer>
+      </CenteredContainer>
     </NavigatorWrapper>
     <Spacer />
   </div>
diff --git a/docs/gremlint/src/components/StyleGuideRule.tsx b/docs/gremlint/src/components/StyleGuideRule.tsx
index 825bcb7..ce31700 100644
--- a/docs/gremlint/src/components/StyleGuideRule.tsx
+++ b/docs/gremlint/src/components/StyleGuideRule.tsx
@@ -21,7 +21,6 @@ import React from 'react';
 import Paragraph from './Paragraph';
 import Title from './Title';
 import CodePreview from './CodePreview';
-import Spacer from './Spacer';
 
 type StyleGuideRuleProps = {
   title: string;
@@ -34,7 +33,6 @@ const StyleGuideRule = ({ title, explanation, example }: StyleGuideRuleProps) =>
     <Title>{title}</Title>
     <Paragraph>{explanation}</Paragraph>
     <CodePreview>{example}</CodePreview>
-    <Spacer />
   </div>
 );
 
diff --git a/docs/gremlint/src/components/View.tsx b/docs/gremlint/src/components/View.tsx
new file mode 100644
index 0000000..f9ae890
--- /dev/null
+++ b/docs/gremlint/src/components/View.tsx
@@ -0,0 +1,25 @@
+import React from 'react';
+import styled from 'styled-components';
+import QueryFormatter from '../views/QueryFormatter';
+import StyleGuide from '../views/StyleGuide';
+import CenteredContainer from './CenteredContainer';
+
+const ViewWrapper = styled.div`
+  flex-grow: 1;
+`;
+
+type ViewProps = {
+  matchedRoute: string;
+};
+
+const View = ({ matchedRoute }: ViewProps) => {
+  return (
+    <ViewWrapper>
+      <CenteredContainer>
+        {matchedRoute === '/' ? <QueryFormatter /> : matchedRoute === '/style-guide' ? <StyleGuide /> : null}
+      </CenteredContainer>
+    </ViewWrapper>
+  );
+};
+
+export default View;
diff --git a/docs/gremlint/src/views/StyleGuide/index.tsx b/docs/gremlint/src/views/StyleGuide/index.tsx
index b83574c..7b715aa 100644
--- a/docs/gremlint/src/views/StyleGuide/index.tsx
+++ b/docs/gremlint/src/views/StyleGuide/index.tsx
@@ -18,15 +18,21 @@
  */
 
 import React from 'react';
+import styled from 'styled-components';
 import StyleGuideRule from '../../components/StyleGuideRule';
 import { rules } from './rules';
 
+const StyleGuideWrapper = styled.div`
+  display: grid;
+  grid-row-gap: 20px;
+`;
+
 const StyleGuide = () => (
-  <div>
+  <StyleGuideWrapper>
     {rules.map(({ title, explanation, example }) => (
       <StyleGuideRule key={title} title={title} explanation={explanation} example={example} />
     ))}
-  </div>
+  </StyleGuideWrapper>
 );
 
 export default StyleGuide;