From 2cc6fa9ff34aa1de8f7df31d54ece10163009e13 Mon Sep 17 00:00:00 2001
From: Der_Googler <54764558+DerGoogler@users.noreply.github.com>
Date: Fri, 26 Jan 2024 12:29:13 +0100
Subject: [PATCH] added licenses back
---
Website/licensefix.js | 40 ++
Website/package.json | 11 +-
Website/src/activitys/LicensesActivity.tsx | 125 ++++
.../activitys/fragments/DrawerFragment.tsx | 11 +-
Website/src/locales/de.json | 1 +
Website/src/locales/en.json | 1 +
Website/src/typings/global.d.ts | 24 +
Website/src/util/licenses.json | 631 +++++++++++++-----
8 files changed, 647 insertions(+), 197 deletions(-)
create mode 100644 Website/licensefix.js
create mode 100644 Website/src/activitys/LicensesActivity.tsx
diff --git a/Website/licensefix.js b/Website/licensefix.js
new file mode 100644
index 00000000..38ce641a
--- /dev/null
+++ b/Website/licensefix.js
@@ -0,0 +1,40 @@
+const fs = require("fs");
+const path = require("path");
+const package = require(path.resolve(__dirname, "package.json"));
+
+const NODE_MODULES_PATH = path.resolve(__dirname, "node_modules");
+const OUTPUT = path.resolve(__dirname, "src", "util", "licenses.json");
+const allDependencies = [];
+
+Object.keys(package.dependencies).forEach((dependency) => {
+ const depPackage = require(path.resolve(__dirname, NODE_MODULES_PATH, dependency, "package.json"));
+
+ if (depPackage) {
+ function getSource() {
+ if (depPackage.repository) {
+ return depPackage.repository.url ? depPackage.repository.url : null;
+ } else {
+ return null;
+ }
+ }
+
+ function getAuthor() {
+ if (depPackage.author) {
+ return depPackage.author.name ? depPackage.author.name : null;
+ } else {
+ return null;
+ }
+ }
+
+ allDependencies.push({
+ name: depPackage.name,
+ author: getAuthor(),
+ license: depPackage.license,
+ description: depPackage.description,
+ version: depPackage.version,
+ source: `https://www.npmjs.com/package/${depPackage.name}`,
+ });
+ }
+});
+
+fs.writeFileSync(OUTPUT, JSON.stringify(allDependencies, null, 2));
diff --git a/Website/package.json b/Website/package.json
index 85edd90f..fe754aa9 100644
--- a/Website/package.json
+++ b/Website/package.json
@@ -13,16 +13,17 @@
"author": "Der_Googler",
"license": "GPL-3.0",
"scripts": {
- "start:dev": "webpack-dev-server --open --config webpack.dev.ts",
- "start:prod": "webpack-dev-server --open --config webpack.prod.ts",
+ "start:dev": "npm run licensefix && webpack-dev-server --open --config webpack.dev.ts",
+ "start:prod": "npm run licensefix && webpack-dev-server --open --config webpack.prod.ts",
"web:dev": "webpack --config webpack.dev.ts",
"web:prod": "webpack --config webpack.prod.ts",
- "web:dev-app": "npm run web:dev && npm run assetfix:android-clean && npm run assetfix:android-build",
- "web:prod-app": "npm run web:prod && npm run assetfix:android-clean && npm run assetfix:android-build",
+ "web:dev-app": "npm run licensefix && npm run web:dev && npm run assetfix:android-clean && npm run assetfix:android-build",
+ "web:prod-app": "npm run licensefix && npm run web:prod && npm run assetfix:android-clean && npm run assetfix:android-build",
"assetfix:android-build": "node assetfix.js android --build",
"assetfix:android-clean": "node assetfix.js android --clean",
"assetfix:web-build": "node assetfix.js web --build",
- "assetfix:web-clean": "node assetfix.js web --clean"
+ "assetfix:web-clean": "node assetfix.js web --clean",
+ "licensefix": "node licensefix.js"
},
"resolutions": {
"react": "^18.2.0",
diff --git a/Website/src/activitys/LicensesActivity.tsx b/Website/src/activitys/LicensesActivity.tsx
new file mode 100644
index 00000000..aa868f0b
--- /dev/null
+++ b/Website/src/activitys/LicensesActivity.tsx
@@ -0,0 +1,125 @@
+import { Page } from "@Components/onsenui/Page";
+import { Toolbar } from "@Components/onsenui/Toolbar";
+import { useActivity } from "@Hooks/useActivity";
+import { useStrings } from "@Hooks/useStrings";
+import Typography from "@mui/material/Typography";
+import Button from "@mui/material/Button";
+import Card from "@mui/material/Card";
+import Stack from "@mui/material/Stack";
+import { useSettings } from "@Hooks/useSettings";
+import FlatList from "flatlist-react";
+
+import li from "@Util/licenses.json";
+import { os } from "@Native/Os";
+import { useTheme } from "@Hooks/useTheme";
+import FetchTextActivity from "./FetchTextActivity";
+
+const DepCard = (props: { dep: (typeof li)[0] }) => {
+ const { theme } = useTheme();
+ const { strings } = useStrings();
+ const { context } = useActivity();
+ const dep = props.dep;
+
+ const handleOpenSource = () => {
+ os.open(dep.source, {
+ target: "_blank",
+ features: {
+ color: theme.palette.primary.main,
+ },
+ });
+ };
+
+ const handleOpenLicense = () => {
+ fetch(`https://spdx.org/licenses/${dep.license}.json`)
+ .then((res) => {
+ if (res.status === 200) {
+ return res.json();
+ } else {
+ throw new Error("Fetching license failed");
+ }
+ })
+ .then((json: LicenseSPX) => {
+ context.pushPage({
+ component: FetchTextActivity,
+ key: "license_" + dep.license,
+ extra: {
+ raw_data: json.licenseText,
+ modulename: json.name,
+ },
+ });
+ })
+ .catch((err) => {
+ os.toast(err, Toast.LENGTH_SHORT);
+ });
+ };
+
+ return (
+
+
+
+
+ {dep.author}
+
+
+ {dep.license}
+
+
+
+
+ {dep.name}
+
+
+ {dep.version}
+
+
+ {dep.description}
+
+
+
+
+
+
+
+
+ );
+};
+
+const LicensesActivity = () => {
+ const { strings } = useStrings();
+ const { settings } = useSettings();
+ const { context } = useActivity();
+ const { theme } = useTheme();
+
+ const renderToolbar = () => {
+ return (
+
+
+
+
+ {strings("licenses")}
+
+ );
+ };
+
+ return (
+
+
+ }
+ renderOnScroll
+ display={{
+ row: true,
+ rowGap: "8px",
+ }}
+ />
+
+
+ );
+};
+
+export default LicensesActivity;
diff --git a/Website/src/activitys/fragments/DrawerFragment.tsx b/Website/src/activitys/fragments/DrawerFragment.tsx
index 64ad452b..512f68b2 100644
--- a/Website/src/activitys/fragments/DrawerFragment.tsx
+++ b/Website/src/activitys/fragments/DrawerFragment.tsx
@@ -15,6 +15,7 @@ import { configureSample } from "@Util/configure-sample";
import { dapiSample } from "@Util/dapi-sample";
import ModConfActivity from "@Activitys/ModConfActivity";
import ConfigurePlaygroundActivity from "@Activitys/ConfigurePlaygroundActivity";
+import LicensesActivity from "@Activitys/LicensesActivity";
type Props = {
renderToolbar: () => JSX.Element;
@@ -122,22 +123,18 @@ export const DrawerFragment = (props: Props) => {
hide();
}}
>
-
+
{
pushPage({
- component: FetchTextActivity,
+ component: LicensesActivity,
key: "license",
- extra: {
- title: "License",
- url: "https://raw.githubusercontent.com/wiki/DerGoogler/MMRL/License.md",
- },
});
hide();
}}
>
-
+
{
diff --git a/Website/src/locales/de.json b/Website/src/locales/de.json
index f86eb92b..b4730e5c 100644
--- a/Website/src/locales/de.json
+++ b/Website/src/locales/de.json
@@ -4,6 +4,7 @@
"search": "Suche",
"updates": "Updates",
"versions": "Versionen",
+ "licenses": "Lizenzen",
"license": "Lizenz",
"search_modules": "Module durchsuchen",
"settings": "Einstellungen",
diff --git a/Website/src/locales/en.json b/Website/src/locales/en.json
index 51010f9e..a9f2bc48 100644
--- a/Website/src/locales/en.json
+++ b/Website/src/locales/en.json
@@ -4,6 +4,7 @@
"search": "Search",
"updates": "Updates",
"versions": "Versions",
+ "licenses": "Licenses",
"license": "License",
"search_modules": "Search modules",
"settings": "Settings",
diff --git a/Website/src/typings/global.d.ts b/Website/src/typings/global.d.ts
index 70a93ed7..d9b41f3d 100644
--- a/Website/src/typings/global.d.ts
+++ b/Website/src/typings/global.d.ts
@@ -213,6 +213,30 @@ declare global {
changelog: string;
}
+ export interface LicenseSPX {
+ isDeprecatedLicenseId: boolean
+ isFsfLibre: boolean
+ licenseText: string
+ standardLicenseTemplate: string
+ name: string
+ licenseId: string
+ crossRef: CrossRef[]
+ seeAlso: string[]
+ isOsiApproved: boolean
+ licenseTextHtml: string
+ }
+
+ export interface CrossRef {
+ match: string
+ url: string
+ isValid: boolean
+ isLive: boolean
+ timestamp: string
+ isWayBackLink: boolean
+ order: number
+ }
+
+
// OnsenUI Types
/**
* @extends {Event}
diff --git a/Website/src/util/licenses.json b/Website/src/util/licenses.json
index ce21ba69..5c2ae0ee 100644
--- a/Website/src/util/licenses.json
+++ b/Website/src/util/licenses.json
@@ -1,186 +1,447 @@
[
- {
- "name": "@emotion/react",
- "description": "There is no description",
- "author": "Emotion Contributors",
- "version": "11.9.3",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/@emotion/react"
- },
- {
- "name": "@emotion/styled",
- "description": "styled API for emotion",
- "author": "null",
- "version": "11.9.3",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/@emotion/styled"
- },
- {
- "name": "@js.properties/properties",
- "description": "JavaScript .properties parser and stringifier",
- "author": "pallxk ",
- "version": "0.5.4",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/@js.properties/properties"
- },
- {
- "name": "@mui/icons-material",
- "description": "Material Design icons distributed as SVG React components.",
- "author": "MUI Team",
- "version": "5.8.4",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/@mui/icons-material"
- },
- {
- "name": "@mui/material",
- "description": "React components that implement Google's Material Design.",
- "author": "MUI Team",
- "version": "5.8.7",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/@mui/material"
- },
- {
- "name": "axios",
- "description": "Promise based HTTP client for the browser and node.js",
- "author": "Matt Zabriskie",
- "version": "0.27.2",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/axios"
- },
- {
- "name": "bota64",
- "description": "It's my first custom encoding :(",
- "author": "Der_Googler ",
- "version": "1.0.7",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/bota64"
- },
- {
- "name": "googlers-tools",
- "description": "My own tools / scripts that i use.",
- "author": "Der_Googler ",
- "version": "1.2.8",
- "license": "GPL-3.0",
- "repository": "https://www.npmjs.com/package/googlers-tools"
- },
- {
- "name": "highlight.js",
- "description": "Syntax highlighting with language autodetection.",
- "author": "Josh Goebel ",
- "version": "11.6.0",
- "license": "BSD-3-Clause",
- "repository": "https://www.npmjs.com/package/highlight.js"
- },
- {
- "name": "jss",
- "description": "A lib for generating Style Sheets with JavaScript.",
- "author": "JSS Team",
- "version": "10.9.0",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/jss"
- },
- {
- "name": "jss-preset-default",
- "description": "Default preset for JSS with selected plugins.",
- "author": "JSS Team",
- "version": "10.9.0",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/jss-preset-default"
- },
- {
- "name": "localized-strings",
- "description": "Simple module to localize the strings of any JS based program using the same syntax used in the ReactLocalization and ReactNativeLocalization module, use 'npm run build' before publishing",
- "author": "Stefano Falda (http://www.babisoft.com)",
- "version": "0.2.4",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/localized-strings"
- },
- {
- "name": "markdown-to-jsx",
- "description": "Convert markdown to JSX with ease for React and React-like projects. Super lightweight and highly configurable.",
- "author": "Evan Jacobs ",
- "version": "7.1.7",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/markdown-to-jsx"
- },
- {
- "name": "marked-react",
- "description": "Render Markdown as React components",
- "author": "sibiraj-s",
- "version": "1.1.2",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/marked-react"
- },
- {
- "name": "material-icons",
- "description": "Latest icon fonts and CSS for self-hosting material design icons.",
- "author": "null",
- "version": "1.11.4",
- "license": "Apache-2.0",
- "repository": "https://www.npmjs.com/package/material-icons"
- },
- {
- "name": "object-assign",
- "description": "ES2015 `Object.assign()` ponyfill",
- "author": "Sindre Sorhus",
- "version": "4.1.1",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/object-assign"
- },
- {
- "name": "onsenui",
- "description": "HTML5 Mobile Framework & UI Components",
- "author": "null",
- "version": "2.12.1",
- "license": "Apache-2.0",
- "repository": "https://www.npmjs.com/package/onsenui"
- },
- {
- "name": "react",
- "description": "React is a JavaScript library for building user interfaces.",
- "author": "null",
- "version": "18.2.0",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/react"
- },
- {
- "name": "react-device-detect",
- "description": "Detect device type and render your component according to it",
- "author": "Michael Laktionov",
- "version": "2.2.2",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/react-device-detect"
- },
- {
- "name": "react-disappear",
- "description": "Detects if the inner children are visible",
- "author": "Der_Googler",
- "version": "1.0.0",
- "license": "null",
- "repository": "https://www.npmjs.com/package/react-disappear"
- },
- {
- "name": "react-dom",
- "description": "React package for working with the DOM.",
- "author": "null",
- "version": "18.2.0",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/react-dom"
- },
- {
- "name": "react-onsenui",
- "description": "Onsen UI - React Components for Hybrid Cordova/PhoneGap Apps with Material Design and iOS UI components",
- "author": "Onsen UI Team ",
- "version": "1.12.0",
- "license": "Apache-2.0",
- "repository": "https://www.npmjs.com/package/react-onsenui"
- },
- {
- "name": "react-syntax-highlighter",
- "description": "syntax highlighting component for react with prismjs or highlightjs ast using inline styles",
- "author": "Conor Hastings",
- "version": "15.5.0",
- "license": "MIT",
- "repository": "https://www.npmjs.com/package/react-syntax-highlighter"
- }
-]
+ {
+ "name": "@babel/runtime",
+ "author": null,
+ "license": "MIT",
+ "description": "babel's modular runtime helpers",
+ "version": "7.23.8",
+ "source": "https://www.npmjs.com/package/@babel/runtime"
+ },
+ {
+ "name": "@babel/standalone",
+ "author": null,
+ "license": "MIT",
+ "description": "Standalone build of Babel for use in non-Node.js environments.",
+ "version": "7.23.8",
+ "source": "https://www.npmjs.com/package/@babel/standalone"
+ },
+ {
+ "name": "@emotion/react",
+ "author": null,
+ "license": "MIT",
+ "version": "11.11.3",
+ "source": "https://www.npmjs.com/package/@emotion/react"
+ },
+ {
+ "name": "@emotion/styled",
+ "author": null,
+ "license": "MIT",
+ "description": "styled API for emotion",
+ "version": "11.11.0",
+ "source": "https://www.npmjs.com/package/@emotion/styled"
+ },
+ {
+ "name": "@giscus/react",
+ "author": null,
+ "version": "2.4.0",
+ "source": "https://www.npmjs.com/package/@giscus/react"
+ },
+ {
+ "name": "@monaco-editor/react",
+ "author": null,
+ "license": "MIT",
+ "description": "Monaco Editor for React - use the monaco-editor in any React application without needing to use webpack (or rollup/parcel/etc) configuration files / plugins",
+ "version": "4.6.0",
+ "source": "https://www.npmjs.com/package/@monaco-editor/react"
+ },
+ {
+ "name": "@mui/icons-material",
+ "author": null,
+ "license": "MIT",
+ "description": "Material Design icons distributed as SVG React components.",
+ "version": "5.15.4",
+ "source": "https://www.npmjs.com/package/@mui/icons-material"
+ },
+ {
+ "name": "@mui/lab",
+ "author": null,
+ "license": "MIT",
+ "description": "Laboratory for new MUI modules.",
+ "version": "5.0.0-alpha.160",
+ "source": "https://www.npmjs.com/package/@mui/lab"
+ },
+ {
+ "name": "@mui/material",
+ "author": null,
+ "license": "MIT",
+ "description": "Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.",
+ "version": "5.15.4",
+ "source": "https://www.npmjs.com/package/@mui/material"
+ },
+ {
+ "name": "@nyariv/sandboxjs",
+ "author": null,
+ "license": "MIT",
+ "description": "Javascript sandboxing library.",
+ "version": "0.8.23",
+ "source": "https://www.npmjs.com/package/@nyariv/sandboxjs"
+ },
+ {
+ "name": "@primer/octicons-react",
+ "author": null,
+ "license": "MIT",
+ "description": "A scalable set of icons handcrafted with <3 by GitHub.",
+ "version": "19.8.0",
+ "source": "https://www.npmjs.com/package/@primer/octicons-react"
+ },
+ {
+ "name": "@wasmer/wasmfs",
+ "author": null,
+ "license": "MIT",
+ "description": "Isomorphic library to provide a sandboxed node fs implementation for Node and Browsers. 📂",
+ "version": "0.12.0",
+ "source": "https://www.npmjs.com/package/@wasmer/wasmfs"
+ },
+ {
+ "name": "ace-builds",
+ "author": null,
+ "license": "BSD-3-Clause",
+ "description": "Ace (Ajax.org Cloud9 Editor)",
+ "version": "1.32.3",
+ "source": "https://www.npmjs.com/package/ace-builds"
+ },
+ {
+ "name": "ajv",
+ "author": null,
+ "license": "MIT",
+ "description": "Another JSON Schema Validator",
+ "version": "8.12.0",
+ "source": "https://www.npmjs.com/package/ajv"
+ },
+ {
+ "name": "ansi-to-react",
+ "author": null,
+ "license": "BSD-3-Clause",
+ "description": "ANSI to React Elements",
+ "version": "6.1.6",
+ "source": "https://www.npmjs.com/package/ansi-to-react"
+ },
+ {
+ "name": "axios",
+ "author": null,
+ "license": "MIT",
+ "description": "Promise based HTTP client for the browser and node.js",
+ "version": "1.6.5",
+ "source": "https://www.npmjs.com/package/axios"
+ },
+ {
+ "name": "default-composer",
+ "author": null,
+ "license": "MIT",
+ "description": "A JavaScript library that allows you to set default values for nested objects",
+ "version": "0.6.0",
+ "source": "https://www.npmjs.com/package/default-composer"
+ },
+ {
+ "name": "eruda",
+ "author": null,
+ "license": "MIT",
+ "description": "Console for Mobile Browsers",
+ "version": "3.0.1",
+ "source": "https://www.npmjs.com/package/eruda"
+ },
+ {
+ "name": "flatlist-react",
+ "author": null,
+ "license": "MIT",
+ "description": "A helpful utility component to handle lists in react like a champ",
+ "version": "1.5.14",
+ "source": "https://www.npmjs.com/package/flatlist-react"
+ },
+ {
+ "name": "framer-motion",
+ "author": null,
+ "license": "MIT",
+ "description": "A simple and powerful JavaScript animation library",
+ "version": "10.18.0",
+ "source": "https://www.npmjs.com/package/framer-motion"
+ },
+ {
+ "name": "fs-monkey",
+ "author": null,
+ "license": "Unlicense",
+ "description": "Monkey patches for file system related things.",
+ "version": "1.0.5",
+ "source": "https://www.npmjs.com/package/fs-monkey"
+ },
+ {
+ "name": "googlers-tools",
+ "author": null,
+ "license": "GPL-3.0",
+ "description": "My own tools / scripts that I use.",
+ "version": "1.4.5",
+ "source": "https://www.npmjs.com/package/googlers-tools"
+ },
+ {
+ "name": "highlight.js",
+ "author": null,
+ "license": "BSD-3-Clause",
+ "description": "Syntax highlighting with language autodetection.",
+ "version": "11.9.0",
+ "source": "https://www.npmjs.com/package/highlight.js"
+ },
+ {
+ "name": "ini",
+ "author": null,
+ "license": "ISC",
+ "description": "An ini encoder/decoder for node",
+ "version": "4.1.1",
+ "source": "https://www.npmjs.com/package/ini"
+ },
+ {
+ "name": "install",
+ "author": "Ben Newman",
+ "license": "MIT",
+ "description": "Minimal JavaScript module loader",
+ "version": "0.13.0",
+ "source": "https://www.npmjs.com/package/install"
+ },
+ {
+ "name": "localforage",
+ "author": null,
+ "license": "Apache-2.0",
+ "description": "Offline storage, improved.",
+ "version": "1.10.0",
+ "source": "https://www.npmjs.com/package/localforage"
+ },
+ {
+ "name": "localized-strings",
+ "author": null,
+ "license": "MIT",
+ "description": "Simple module to localize the strings of any JS based program using the same syntax used in the ReactLocalization and ReactNativeLocalization module, use 'npm run build' before publishing",
+ "version": "0.2.4",
+ "source": "https://www.npmjs.com/package/localized-strings"
+ },
+ {
+ "name": "markdown-to-jsx",
+ "author": null,
+ "license": "MIT",
+ "description": "Convert markdown to JSX with ease for React and React-like projects. Super lightweight and highly configurable.",
+ "version": "7.4.0",
+ "source": "https://www.npmjs.com/package/markdown-to-jsx"
+ },
+ {
+ "name": "marked-react",
+ "author": null,
+ "license": "MIT",
+ "description": "Render Markdown as React components",
+ "version": "1.4.0",
+ "source": "https://www.npmjs.com/package/marked-react"
+ },
+ {
+ "name": "material-icons",
+ "author": null,
+ "license": "Apache-2.0",
+ "description": "Latest icon fonts and CSS for self-hosting material design icons.",
+ "version": "1.13.12",
+ "source": "https://www.npmjs.com/package/material-icons"
+ },
+ {
+ "name": "material-ui-confirm",
+ "author": null,
+ "license": "MIT",
+ "description": "Higher order component for straightforward use of @material-ui/core confirmation dialogs.",
+ "version": "3.0.10",
+ "source": "https://www.npmjs.com/package/material-ui-confirm"
+ },
+ {
+ "name": "monaco-editor",
+ "author": null,
+ "license": "MIT",
+ "description": "A browser based code editor",
+ "version": "0.45.0",
+ "source": "https://www.npmjs.com/package/monaco-editor"
+ },
+ {
+ "name": "monaco-editor-core",
+ "author": null,
+ "license": "MIT",
+ "description": "A browser based code editor",
+ "version": "0.43.0",
+ "source": "https://www.npmjs.com/package/monaco-editor-core"
+ },
+ {
+ "name": "monaco-languageclient",
+ "author": "TypeFox GmbH",
+ "license": "MIT",
+ "description": "Monaco Language client implementation",
+ "version": "6.6.1",
+ "source": "https://www.npmjs.com/package/monaco-languageclient"
+ },
+ {
+ "name": "npm",
+ "author": null,
+ "license": "Artistic-2.0",
+ "description": "a package manager for JavaScript",
+ "version": "9.9.2",
+ "source": "https://www.npmjs.com/package/npm"
+ },
+ {
+ "name": "object-assign",
+ "author": "Sindre Sorhus",
+ "license": "MIT",
+ "description": "ES2015 `Object.assign()` ponyfill",
+ "version": "4.1.1",
+ "source": "https://www.npmjs.com/package/object-assign"
+ },
+ {
+ "name": "onsenui",
+ "author": null,
+ "license": "Apache-2.0",
+ "description": "HTML5 Mobile Framework & UI Components",
+ "version": "2.12.8",
+ "source": "https://www.npmjs.com/package/onsenui"
+ },
+ {
+ "name": "properties-file",
+ "author": null,
+ "license": "MIT",
+ "description": ".properties file parser, editor, formatter and Webpack loader.",
+ "version": "3.3.16",
+ "source": "https://www.npmjs.com/package/properties-file"
+ },
+ {
+ "name": "react",
+ "author": null,
+ "license": "MIT",
+ "description": "React is a JavaScript library for building user interfaces.",
+ "version": "18.2.0",
+ "source": "https://www.npmjs.com/package/react"
+ },
+ {
+ "name": "react-ace",
+ "author": null,
+ "license": "MIT",
+ "description": "A react component for Ace Editor",
+ "version": "10.1.0",
+ "source": "https://www.npmjs.com/package/react-ace"
+ },
+ {
+ "name": "react-device-detect",
+ "author": "Michael Laktionov",
+ "license": "MIT",
+ "description": "Detect device type and render your component according to it",
+ "version": "2.2.3",
+ "source": "https://www.npmjs.com/package/react-device-detect"
+ },
+ {
+ "name": "react-disappear",
+ "author": null,
+ "license": "MIT",
+ "description": "Detects if the inner children are visible",
+ "version": "1.1.3",
+ "source": "https://www.npmjs.com/package/react-disappear"
+ },
+ {
+ "name": "react-dom",
+ "author": null,
+ "license": "MIT",
+ "description": "React package for working with the DOM.",
+ "version": "18.2.0",
+ "source": "https://www.npmjs.com/package/react-dom"
+ },
+ {
+ "name": "react-fast-marquee",
+ "author": null,
+ "license": "MIT",
+ "description": "A lightweight React component that utilizes the power of CSS animations to create silky smooth marquees.",
+ "version": "1.6.2",
+ "source": "https://www.npmjs.com/package/react-fast-marquee"
+ },
+ {
+ "name": "react-from-json",
+ "author": null,
+ "license": "MIT",
+ "description": "Declare your React component tree in JSON",
+ "version": "0.7.2",
+ "source": "https://www.npmjs.com/package/react-from-json"
+ },
+ {
+ "name": "react-jsx-parser",
+ "author": null,
+ "license": "MIT",
+ "description": "A React component which can parse JSX and output rendered React Components",
+ "version": "1.29.0",
+ "source": "https://www.npmjs.com/package/react-jsx-parser"
+ },
+ {
+ "name": "react-onsenui",
+ "author": null,
+ "license": "Apache-2.0",
+ "description": "Onsen UI - React Components for Hybrid Cordova/PhoneGap Apps with Material Design and iOS UI components",
+ "version": "1.13.3",
+ "source": "https://www.npmjs.com/package/react-onsenui"
+ },
+ {
+ "name": "react-render-tools",
+ "author": null,
+ "license": "GPL-3.0",
+ "description": "Simple tools to make react render easier to use",
+ "version": "1.0.1",
+ "source": "https://www.npmjs.com/package/react-render-tools"
+ },
+ {
+ "name": "react-router-dom",
+ "author": null,
+ "license": "MIT",
+ "description": "Declarative routing for React web applications",
+ "version": "6.21.2",
+ "source": "https://www.npmjs.com/package/react-router-dom"
+ },
+ {
+ "name": "react-syntax-highlighter",
+ "author": null,
+ "license": "MIT",
+ "description": "syntax highlighting component for react with prismjs or highlightjs ast using inline styles",
+ "version": "15.5.0",
+ "source": "https://www.npmjs.com/package/react-syntax-highlighter"
+ },
+ {
+ "name": "react-zoom-pan-pinch",
+ "author": null,
+ "license": "MIT",
+ "description": "Zoom and pan html elements in easy way",
+ "version": "3.3.0",
+ "source": "https://www.npmjs.com/package/react-zoom-pan-pinch"
+ },
+ {
+ "name": "textarea-markdown-editor",
+ "author": null,
+ "license": "MIT",
+ "description": "UI headless React markdown editor using only textarea",
+ "version": "1.0.4",
+ "source": "https://www.npmjs.com/package/textarea-markdown-editor"
+ },
+ {
+ "name": "underscore",
+ "author": null,
+ "license": "MIT",
+ "description": "JavaScript's functional programming helper library.",
+ "version": "1.13.6",
+ "source": "https://www.npmjs.com/package/underscore"
+ },
+ {
+ "name": "uninstall",
+ "author": null,
+ "license": "MIT",
+ "description": "",
+ "version": "0.0.0",
+ "source": "https://www.npmjs.com/package/uninstall"
+ },
+ {
+ "name": "usehooks-ts",
+ "author": null,
+ "license": "MIT",
+ "description": "React hook library, ready to use, written in Typescript.",
+ "version": "2.9.2",
+ "source": "https://www.npmjs.com/package/usehooks-ts"
+ },
+ {
+ "name": "yaml",
+ "author": null,
+ "license": "ISC",
+ "description": "JavaScript parser and stringifier for YAML",
+ "version": "2.3.4",
+ "source": "https://www.npmjs.com/package/yaml"
+ }
+]
\ No newline at end of file