Add depcheck script and solve issues

This commit is contained in:
Thomas Zerr
2024-10-16 11:19:22 +02:00
parent 2162b0bc41
commit 3a88dff70f
43 changed files with 629 additions and 943 deletions

View File

@@ -18,7 +18,7 @@
"set-version": "./scripts/scripts.js version" "set-version": "./scripts/scripts.js version"
}, },
"dependencies": { "dependencies": {
"@scm-manager/eslint-config": "2.17.0" "@scm-manager/eslint-config": "^2.17.0"
}, },
"devDependencies": { "devDependencies": {
"@scm-manager/remark-preset-lint": "^1.0.0", "@scm-manager/remark-preset-lint": "^1.0.0",

View File

@@ -18,7 +18,7 @@
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1", "@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/plugin-scripts": "^1.6.1", "@scm-manager/plugin-scripts": "^1.6.1",
"@scm-manager/prettier-config": "^2.11.1", "@scm-manager/prettier-config": "^2.12.0",
"@types/react": "^17.0.1" "@types/react": "^17.0.1"
}, },
"babel": { "babel": {

View File

@@ -17,7 +17,7 @@
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1", "@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/plugin-scripts": "^1.6.1", "@scm-manager/plugin-scripts": "^1.6.1",
"@scm-manager/prettier-config": "^2.11.1", "@scm-manager/prettier-config": "^2.12.0",
"@types/react": "^17.0.1" "@types/react": "^17.0.1"
}, },
"babel": { "babel": {

View File

@@ -17,7 +17,7 @@
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1", "@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/plugin-scripts": "^1.6.1", "@scm-manager/plugin-scripts": "^1.6.1",
"@scm-manager/prettier-config": "^2.11.1", "@scm-manager/prettier-config": "^2.12.0",
"@types/react": "^17.0.1" "@types/react": "^17.0.1"
}, },
"babel": { "babel": {

View File

@@ -17,7 +17,7 @@
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1", "@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/plugin-scripts": "^1.6.1", "@scm-manager/plugin-scripts": "^1.6.1",
"@scm-manager/prettier-config": "^2.11.1", "@scm-manager/prettier-config": "^2.12.0",
"@types/react": "^17.0.1" "@types/react": "^17.0.1"
}, },
"babel": { "babel": {

View File

@@ -15,28 +15,33 @@
"build": "tsup ./src/index.ts -d build --format esm,cjs --dts", "build": "tsup ./src/index.ts -d build --format esm,cjs --dts",
"typecheck": "tsc", "typecheck": "tsc",
"lint": "eslint src", "lint": "eslint src",
"test": "jest src/" "test": "jest src/",
"depcheck": "depcheck"
}, },
"devDependencies": { "peerDependencies": {
"@scm-manager/babel-preset": "^2.13.1", "@scm-manager/babel-preset": "^2.13.1",
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1", "@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/prettier-config": "^2.10.1", "@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/tsconfig": "^2.13.0", "@scm-manager/tsconfig": "^2.13.0",
"@testing-library/react-hooks": "^5.0.3",
"@types/react": "^17.0.1", "@types/react": "^17.0.1",
"react-test-renderer": "^17.0.1", "react-test-renderer": "^17.0.1",
"tsup": "^5.12.6" "fetch-mock": "^7.5.1",
"gitdiff-parser": "^0.2.2",
"react": "^17.0.1",
"query-string": "6.14.1",
"react-query": "^3.39.2",
"react-router-dom": "^5.3.1",
"react-i18next": "11",
"@testing-library/react-hooks": "8.0.1"
},
"devDependencies": {
"@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"tsup": "^5.12.6",
"@types/react-test-renderer": "^17.0.1"
}, },
"dependencies": { "dependencies": {
"@scm-manager/ui-types": "3.5.1-SNAPSHOT", "fetch-mock-jest": "^1.5.1"
"fetch-mock-jest": "^1.5.1",
"gitdiff-parser": "^0.2.2",
"query-string": "6.14.1",
"react": "^17.0.1",
"react-query": "^3.25.1",
"react-router-dom": "^5.3.1",
"react-i18next": "11"
}, },
"babel": { "babel": {
"presets": [ "presets": [

View File

@@ -3,13 +3,20 @@
"version": "3.5.1-SNAPSHOT", "version": "3.5.1-SNAPSHOT",
"private": false, "private": false,
"main": "index.ts", "main": "index.ts",
"peerDependencies": { "license": "AGPL-3.0-only",
"@scm-manager/ui-core": "3.5.1-SNAPSHOT" "scripts": {
"depcheck": "depcheck"
}, },
"devDependencies": { "peerDependencies": {
"@scm-manager/prettier-config": "^2.11.1", "@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/tsconfig": "^2.13.0" "@scm-manager/tsconfig": "^2.13.0",
"react": "^17.0.1",
"react-router-dom": "^5.3.1",
"classnames": "^2.3.1"
},
"dependencies": {
"@scm-manager/ui-core": "3.5.1-SNAPSHOT"
}, },
"prettier": "@scm-manager/prettier-config", "prettier": "@scm-manager/prettier-config",
"eslintConfig": { "eslintConfig": {

View File

@@ -16,70 +16,72 @@
"build-storybook": "build-storybook", "build-storybook": "build-storybook",
"storybook": "start-storybook -s ../ui-webapp/public", "storybook": "start-storybook -s ../ui-webapp/public",
"storyshots": "jest --testPathPattern=\"storyshots.test.ts\" --collectCoverage=false", "storyshots": "jest --testPathPattern=\"storyshots.test.ts\" --collectCoverage=false",
"update-storyshots": "jest --testPathPattern=\"storyshots.test.ts\" --collectCoverage=false -u" "update-storyshots": "jest --testPathPattern=\"storyshots.test.ts\" --collectCoverage=false -u",
"depcheck": "depcheck"
}, },
"devDependencies": { "peerDependencies": {
"@scm-manager/babel-preset": "^2.13.1", "@scm-manager/babel-preset": "^2.13.1",
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1", "@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/prettier-config": "^2.10.1", "@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/tsconfig": "^2.13.0", "@scm-manager/tsconfig": "^2.13.0",
"@scm-manager/ui-shortcuts": "3.5.1-SNAPSHOT", "decode-named-character-reference": "^1.0.1",
"@scm-manager/ui-syntaxhighlighting": "3.5.1-SNAPSHOT", "@storybook/addon-actions": "^6.5.10",
"@scm-manager/ui-tests": "3.5.1-SNAPSHOT", "@storybook/addon-essentials": "^6.5.10",
"@scm-manager/ui-text": "3.5.1-SNAPSHOT", "@storybook/addon-interactions": "^6.5.10",
"@storybook/addon-actions": "^6.4.20", "@storybook/addon-storyshots": "^6.5.10",
"@storybook/addon-essentials": "^6.4.20", "@storybook/builder-webpack5": "^6.5.10",
"@storybook/addon-interactions": "^6.4.20", "@storybook/manager-webpack5": "^6.5.10",
"@storybook/addon-storyshots": "^6.4.20", "@storybook/react": "^6.5.10",
"@storybook/builder-webpack5": "^6.4.20", "storybook-addon-i18next": "^1.3.0",
"@storybook/manager-webpack5": "^6.4.20", "storybook-addon-themes": "^6.1.0",
"@storybook/react": "^6.4.20", "@types/classnames": "^2.3.1",
"@types/classnames": "^2.2.9",
"@types/css": "^0.0.31",
"@types/enzyme": "^3.10.3",
"@types/fetch-mock": "^7.3.1",
"@types/jest": "^26.0.24",
"@types/react": "^17.0.1", "@types/react": "^17.0.1",
"@types/react-dom": "^17.0.1", "@types/react-dom": "^17.0.1",
"@types/react-router-dom": "^5.3.3", "@types/react-router-dom": "^5.3.3",
"@types/react-select": "^2.0.19",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.25",
"@types/to-camel-case": "^1.0.0", "@testing-library/react-hooks": "8.0.1",
"@types/unist": "^2.0.3",
"css": "^3.0.0",
"enzyme-context": "^1.1.2",
"enzyme-context-react-router-4": "^2.0.0",
"fetch-mock": "^7.5.1", "fetch-mock": "^7.5.1",
"gitdiff-parser": "^0.2.2",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"i18next-fetch-backend": "^2.2.0", "mini-css-extract-plugin": "^2.4.3",
"mini-css-extract-plugin": "^1.6.2",
"raf": "^3.4.0",
"react-test-renderer": "^17.0.1", "react-test-renderer": "^17.0.1",
"sass-loader": "^12.3.0", "sass-loader": "^12.3.0",
"storybook-addon-i18next": "^1.3.0", "@headlessui/react": "^1.7.17",
"storybook-addon-themes": "^6.1.0", "classnames": "^2.3.1",
"to-camel-case": "^1.0.0", "date-fns": "^2.4.1",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-i18next": "11",
"react-router-dom": "^5.3.1",
"styled-components": "^5.3.5",
"i18next": "21",
"react-query": "^3.39.2",
"@types/react-test-renderer": "^17.0.1"
},
"devDependencies": {
"@scm-manager/ui-tests": "3.5.1-SNAPSHOT",
"@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"@types/fetch-mock": "^7.3.1",
"@types/react-select": "^2.0.19",
"@types/unist": "^2.0.3",
"gitdiff-parser": "^0.2.2",
"i18next-fetch-backend": "4",
"webpack": "^5.72.0" "webpack": "^5.72.0"
}, },
"dependencies": { "dependencies": {
"@headlessui/react": "^1.4.3", "@scm-manager/ui-core": "3.5.1-SNAPSHOT",
"@scm-manager/ui-overlays": "3.5.1-SNAPSHOT",
"@scm-manager/ui-layout": "3.5.1-SNAPSHOT",
"@scm-manager/ui-buttons": "3.5.1-SNAPSHOT",
"@scm-manager/ui-shortcuts": "3.5.1-SNAPSHOT",
"@scm-manager/ui-syntaxhighlighting": "3.5.1-SNAPSHOT",
"@scm-manager/ui-text": "3.5.1-SNAPSHOT",
"@scm-manager/ui-api": "3.5.1-SNAPSHOT", "@scm-manager/ui-api": "3.5.1-SNAPSHOT",
"@scm-manager/ui-extensions": "3.5.1-SNAPSHOT", "@scm-manager/ui-extensions": "3.5.1-SNAPSHOT",
"@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"classnames": "^2.2.6",
"date-fns": "^2.4.1",
"deepmerge": "^4.2.2", "deepmerge": "^4.2.2",
"hast-util-sanitize": "^3.0.2", "hast-util-sanitize": "^3.0.2",
"query-string": "6.14.1",
"react": "^17.0.1",
"react-diff-view": "^2.4.10", "react-diff-view": "^2.4.10",
"react-dom": "^17.0.1", "react-hook-form": "^7.33.1",
"react-hook-form": "^7.5.1",
"react-i18next": "11",
"react-router": "^5.3.1",
"react-router-dom": "^5.3.1",
"react-select": "^2.1.2", "react-select": "^2.1.2",
"rehype-raw": "^5.1.0", "rehype-raw": "^5.1.0",
"rehype-react": "^6.2.0", "rehype-react": "^6.2.0",
@@ -88,8 +90,8 @@
"remark-gfm": "^1.0.0", "remark-gfm": "^1.0.0",
"remark-parse": "^9.0.0", "remark-parse": "^9.0.0",
"remark-rehype": "^8.0.0", "remark-rehype": "^8.0.0",
"tabbable": "^5.2.1", "unified": "^9.2.1",
"unified": "^9.2.1" "unist-util-visit": "^2.0.3"
}, },
"babel": { "babel": {
"presets": [ "presets": [

View File

@@ -16,7 +16,7 @@
import React, { FC } from "react"; import React, { FC } from "react";
import { File, Link } from "@scm-manager/ui-types"; import { File, Link } from "@scm-manager/ui-types";
import { Notification } from "@scm-manager/ui-components"; import Notification from "./Notification";
import { Trans, useTranslation } from "react-i18next"; import { Trans, useTranslation } from "react-i18next";
type Props = { type Props = {

View File

@@ -17051,6 +17051,7 @@ Array [
type="button" type="button"
/>, />,
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -17198,6 +17199,7 @@ Array [
type="button" type="button"
/>, />,
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -17328,6 +17330,7 @@ Array [
type="button" type="button"
/>, />,
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -17445,6 +17448,7 @@ Array [
type="button" type="button"
/>, />,
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -17635,6 +17639,7 @@ Array [
type="button" type="button"
/>, />,
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -17759,6 +17764,7 @@ Array [
type="button" type="button"
/>, />,
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -18006,6 +18012,7 @@ Array [
type="button" type="button"
/>, />,
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -18150,6 +18157,7 @@ Array [
type="button" type="button"
/>, />,
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -18308,6 +18316,7 @@ Array [
type="button" type="button"
/>, />,
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -18597,6 +18606,7 @@ Array [
type="button" type="button"
/>, />,
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -18825,6 +18835,7 @@ Array [
type="button" type="button"
/>, />,
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -19083,6 +19094,7 @@ Array [
type="button" type="button"
/>, />,
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -76671,6 +76683,7 @@ exports[`Storyshots Repositories/RepositoryEntry Archived 1`] = `
onKeyDown={[Function]} onKeyDown={[Function]}
/> />
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -76799,6 +76812,7 @@ exports[`Storyshots Repositories/RepositoryEntry Avatar EP 1`] = `
onKeyDown={[Function]} onKeyDown={[Function]}
/> />
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -76918,6 +76932,7 @@ exports[`Storyshots Repositories/RepositoryEntry Before Title EP 1`] = `
onKeyDown={[Function]} onKeyDown={[Function]}
/> />
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -77034,6 +77049,7 @@ exports[`Storyshots Repositories/RepositoryEntry Default 1`] = `
onKeyDown={[Function]} onKeyDown={[Function]}
/> />
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -77150,6 +77166,7 @@ exports[`Storyshots Repositories/RepositoryEntry Exporting 1`] = `
onKeyDown={[Function]} onKeyDown={[Function]}
/> />
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -77278,6 +77295,7 @@ exports[`Storyshots Repositories/RepositoryEntry HealthCheck Failure 1`] = `
onKeyDown={[Function]} onKeyDown={[Function]}
/> />
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -77407,6 +77425,7 @@ exports[`Storyshots Repositories/RepositoryEntry MultiRepositoryTags 1`] = `
onKeyDown={[Function]} onKeyDown={[Function]}
/> />
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -77547,6 +77566,7 @@ exports[`Storyshots Repositories/RepositoryEntry RepositoryFlag EP 1`] = `
onKeyDown={[Function]} onKeyDown={[Function]}
/> />
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",
@@ -77676,6 +77696,7 @@ exports[`Storyshots Repositories/RepositoryEntry With long texts 1`] = `
onKeyDown={[Function]} onKeyDown={[Function]}
/> />
<div <div
hidden={true}
style={ style={
Object { Object {
"borderWidth": "0", "borderWidth": "0",

View File

@@ -14,7 +14,7 @@
* along with this program. If not, see https://www.gnu.org/licenses/. * along with this program. If not, see https://www.gnu.org/licenses/.
*/ */
import { Node, Parent } from "unist"; import type { Node, Parent } from "unist";
export type Visitor = (node: Node, index: number, parent?: Parent) => void; export type Visitor = (node: Node, index: number, parent?: Parent) => void;

View File

@@ -17,7 +17,7 @@
import { nameRegex } from "../validation"; import { nameRegex } from "../validation";
import { TFunction } from "i18next"; import { TFunction } from "i18next";
import { AstPlugin } from "./PluginApi"; import { AstPlugin } from "./PluginApi";
import { Literal, Node, Parent } from "unist"; import type { Literal, Node, Parent } from "unist";
const namePartRegex = nameRegex.source.substring(1, nameRegex.source.length - 1).replace(/\[\^([^\]s]+)\]/, "[^$1\\s]"); const namePartRegex = nameRegex.source.substring(1, nameRegex.source.length - 1).replace(/\[\^([^\]s]+)\]/, "[^$1\\s]");

View File

@@ -15,7 +15,7 @@
*/ */
import { AstPlugin } from "./PluginApi"; import { AstPlugin } from "./PluginApi";
import { Literal, Node, Parent } from "unist"; import type { Literal, Node, Parent } from "unist";
/** /**
* Some existing remark plugins (e.g. changesetShortLinkParser or the plugin for issue tracker links) create * Some existing remark plugins (e.g. changesetShortLinkParser or the plugin for issue tracker links) create
@@ -46,7 +46,11 @@ import { Literal, Node, Parent } from "unist";
export const createTransformer = (): AstPlugin => { export const createTransformer = (): AstPlugin => {
return ({ visit }) => { return ({ visit }) => {
visit("text", (node: Node, index: number, parent?: Parent) => { visit("text", (node: Node, index: number, parent?: Parent) => {
if ((node as Literal).value === undefined && Array.isArray((node as Parent).children) && (node as Parent).children.length > 0) { if (
(node as Literal).value === undefined &&
Array.isArray((node as Parent).children) &&
(node as Parent).children.length > 0
) {
const children = (node as Parent).children; const children = (node as Parent).children;
const preChildren = parent?.children.slice(0, index) || []; const preChildren = parent?.children.slice(0, index) || [];
const postChildren = parent?.children.slice(index + 1) || []; const postChildren = parent?.children.slice(index + 1) || [];

View File

@@ -15,7 +15,10 @@
*/ */
import React, { FC, useEffect, useRef, useState } from "react"; import React, { FC, useEffect, useRef, useState } from "react";
import { apiClient, Button, InputField, Modal } from "@scm-manager/ui-components"; import { apiClient } from "@scm-manager/ui-api";
import Button from "../buttons/Button";
import InputField from "../forms/InputField";
import Modal from "../modals/Modal";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { Tag } from "@scm-manager/ui-types"; import { Tag } from "@scm-manager/ui-types";
import { isBranchValid } from "../validation"; import { isBranchValid } from "../validation";
@@ -42,8 +45,8 @@ const CreateTagModal: FC<Props> = ({ onClose, tagCreationLink, existingTagsLink,
useEffect(() => { useEffect(() => {
apiClient apiClient
.get(existingTagsLink) .get(existingTagsLink)
.then(response => response.json()) .then((response) => response.json())
.then(json => setTagNames(json._embedded.tags.map((tag: Tag) => tag.name))); .then((json) => setTagNames(json._embedded.tags.map((tag: Tag) => tag.name)));
}, [existingTagsLink]); }, [existingTagsLink]);
const createTag = () => { const createTag = () => {
@@ -51,7 +54,7 @@ const CreateTagModal: FC<Props> = ({ onClose, tagCreationLink, existingTagsLink,
apiClient apiClient
.post(tagCreationLink, { .post(tagCreationLink, {
revision, revision,
name: newTagName name: newTagName,
}) })
.then(onCreated) .then(onCreated)
.catch(onError) .catch(onError)
@@ -77,7 +80,7 @@ const CreateTagModal: FC<Props> = ({ onClose, tagCreationLink, existingTagsLink,
<InputField <InputField
name="name" name="name"
label={t("tags.create.form.field.name.label")} label={t("tags.create.form.field.name.label")}
onChange={e => setNewTagName(e.target.value)} onChange={(e) => setNewTagName(e.target.value)}
value={newTagName} value={newTagName}
validationError={!!validationError} validationError={!!validationError}
errorMessage={t(validationError)} errorMessage={t(validationError)}

View File

@@ -16,7 +16,7 @@
import React, { FC, useContext } from "react"; import React, { FC, useContext } from "react";
import classNames from "classnames"; import classNames from "classnames";
import { useSecondaryNavigation } from "@scm-manager/ui-components"; import { useSecondaryNavigation } from "../useSecondaryNavigation";
import ExternalLink from "./ExternalLink"; import ExternalLink from "./ExternalLink";
import { SecondaryNavigationContext } from "./SecondaryNavigationContext"; import { SecondaryNavigationContext } from "./SecondaryNavigationContext";

View File

@@ -17,7 +17,7 @@
import React, { FC, useContext, useEffect } from "react"; import React, { FC, useContext, useEffect } from "react";
import classNames from "classnames"; import classNames from "classnames";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import { useSecondaryNavigation } from "@scm-manager/ui-components"; import { useSecondaryNavigation } from "../useSecondaryNavigation";
import { RoutingProps } from "./RoutingProps"; import { RoutingProps } from "./RoutingProps";
import useActiveMatch from "./useActiveMatch"; import useActiveMatch from "./useActiveMatch";
import { createAttributesForTesting } from "../devBuild"; import { createAttributesForTesting } from "../devBuild";

View File

@@ -18,7 +18,7 @@ import React, { FC } from "react";
import styled from "styled-components"; import styled from "styled-components";
import classNames from "classnames"; import classNames from "classnames";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { useSecondaryNavigation } from "@scm-manager/ui-components"; import { useSecondaryNavigation } from "../useSecondaryNavigation";
import { SecondaryNavigationContext } from "./SecondaryNavigationContext"; import { SecondaryNavigationContext } from "./SecondaryNavigationContext";
type Props = { type Props = {

View File

@@ -17,7 +17,7 @@
import React, { FC, useEffect } from "react"; import React, { FC, useEffect } from "react";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import classNames from "classnames"; import classNames from "classnames";
import { useSecondaryNavigation } from "@scm-manager/ui-components"; import { useSecondaryNavigation } from "../useSecondaryNavigation";
import { RoutingProps } from "./RoutingProps"; import { RoutingProps } from "./RoutingProps";
import useActiveMatch from "./useActiveMatch"; import useActiveMatch from "./useActiveMatch";
import { createAttributesForTesting } from "../devBuild"; import { createAttributesForTesting } from "../devBuild";

View File

@@ -14,7 +14,7 @@
* along with this program. If not, see https://www.gnu.org/licenses/. * along with this program. If not, see https://www.gnu.org/licenses/.
*/ */
import { apiClient } from "@scm-manager/ui-components"; import { apiClient } from "@scm-manager/ui-api";
import { Change, FileDiff, Hunk, Link } from "@scm-manager/ui-types"; import { Change, FileDiff, Hunk, Link } from "@scm-manager/ui-types";
class DiffExpander { class DiffExpander {

View File

@@ -17,7 +17,7 @@
import React, { FC } from "react"; import React, { FC } from "react";
import { Trans, useTranslation } from "react-i18next"; import { Trans, useTranslation } from "react-i18next";
import { Statistics } from "@scm-manager/ui-types"; import { Statistics } from "@scm-manager/ui-types";
import { Tag } from "@scm-manager/ui-components"; import Tag from "../Tag";
import styled from "styled-components"; import styled from "styled-components";
type DiffStatisticsProps = { data: Statistics | undefined }; type DiffStatisticsProps = { data: Statistics | undefined };

View File

@@ -17,7 +17,7 @@
import React, { FC } from "react"; import React, { FC } from "react";
import { ExtensionPoint, extensionPoints } from "@scm-manager/ui-extensions"; import { ExtensionPoint, extensionPoints } from "@scm-manager/ui-extensions";
import { Repository } from "@scm-manager/ui-types"; import { Repository } from "@scm-manager/ui-types";
import { Image } from "@scm-manager/ui-components"; import Image from "../Image";
import styled from "styled-components"; import styled from "styled-components";
const Avatar = styled.div` const Avatar = styled.div`
@@ -35,7 +35,7 @@ const renderExtensionPoint = (repository: Repository, size: Props["size"]) => {
name="repos.repository-avatar.primary" name="repos.repository-avatar.primary"
props={{ props={{
repository, repository,
size: size || 64 size: size || 64,
}} }}
> >
<ExtensionPoint<extensionPoints.RepositoryAvatar> <ExtensionPoint<extensionPoints.RepositoryAvatar>

View File

@@ -16,7 +16,7 @@
import React, { FC } from "react"; import React, { FC } from "react";
import { Repository } from "@scm-manager/ui-types"; import { Repository } from "@scm-manager/ui-types";
import { DateFromNow } from "@scm-manager/ui-components"; import DateFromNow from "../DateFromNow";
import RepositoryAvatar from "./RepositoryAvatar"; import RepositoryAvatar from "./RepositoryAvatar";
import { ExtensionPoint, extensionPoints } from "@scm-manager/ui-extensions"; import { ExtensionPoint, extensionPoints } from "@scm-manager/ui-extensions";
import RepositoryFlags from "./RepositoryFlags"; import RepositoryFlags from "./RepositoryFlags";

View File

@@ -16,7 +16,7 @@
import React from "react"; import React from "react";
import { Link } from "react-router-dom"; import { Link } from "react-router-dom";
import { Icon } from "@scm-manager/ui-components"; import Icon from "../Icon";
import Tooltip from "../Tooltip"; import Tooltip from "../Tooltip";
type Props = { type Props = {

View File

@@ -22,7 +22,8 @@ import { Icon } from "@scm-manager/ui-buttons";
import { Hunk as HunkType, Link } from "@scm-manager/ui-types"; import { Hunk as HunkType, Link } from "@scm-manager/ui-types";
import TokenizedDiffView from "../TokenizedDiffView"; import TokenizedDiffView from "../TokenizedDiffView";
import DiffButton from "../DiffButton"; import DiffButton from "../DiffButton";
import { MenuContext, OpenInFullscreenButton } from "@scm-manager/ui-components"; import { MenuContext } from "../../navigation/MenuContext";
import OpenInFullscreenButton from "../../buttons/OpenInFullscreenButton";
import DiffExpander from "../DiffExpander"; import DiffExpander from "../DiffExpander";
import { Modal } from "../../modals"; import { Modal } from "../../modals";
import { ErrorNotification } from "@scm-manager/ui-core"; import { ErrorNotification } from "@scm-manager/ui-core";

View File

@@ -24,7 +24,7 @@ const createNodeMock = (element: any) => {
if (element.type === "tr") { if (element.type === "tr") {
return { return {
// eslint-disable-next-line @typescript-eslint/no-empty-function // eslint-disable-next-line @typescript-eslint/no-empty-function
querySelector: () => {} querySelector: () => {},
}; };
} }
}; };
@@ -32,7 +32,7 @@ const createNodeMock = (element: any) => {
async function wait(delay: number) { async function wait(delay: number) {
return act( return act(
() => () =>
new Promise(resolve => { new Promise((resolve) => {
setTimeout(resolve, delay); setTimeout(resolve, delay);
}) })
); );
@@ -59,11 +59,12 @@ async function runAsyncTest(story: StoryContext) {
const syncTest = snapshotWithOptions({ const syncTest = snapshotWithOptions({
// @ts-ignore types seems not to match // @ts-ignore types seems not to match
createNodeMock createNodeMock,
}); });
initStoryshots({ initStoryshots({
asyncJest: true, asyncJest: true,
framework: "react",
configPath: path.resolve(__dirname, "..", ".storybook"), configPath: path.resolve(__dirname, "..", ".storybook"),
test: ({ story, context, done, ...rest }) => { test: ({ story, context, done, ...rest }) => {
if (story.parameters?.storyshots?.async) { if (story.parameters?.storyshots?.async) {
@@ -74,5 +75,5 @@ initStoryshots({
done(); done();
} }
} }
} },
}); });

View File

@@ -4,21 +4,28 @@
"main": "./src/index.ts", "main": "./src/index.ts",
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
"scripts": { "scripts": {
"typecheck": "tsc",
"storybook": "start-storybook -p 6006", "storybook": "start-storybook -p 6006",
"build-storybook": "build-storybook" "build-storybook": "build-storybook"
}, },
"peerDependencies": { "peerDependencies": {
"@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/tsconfig": "^2.12.0",
"@scm-manager/babel-preset": "^2.13.1",
"@headlessui/react": "^1.7.17",
"react": "^17.0.1", "react": "^17.0.1",
"react-dom": "^17.0.1", "react-dom": "^17.0.1",
"react-router-dom": "^5.3.1", "react-router-dom": "^5.3.1",
"classnames": "^2.3.1", "classnames": "^2.3.1",
"react-hook-form": "7", "react-hook-form": "^7.33.1",
"react-i18next": "11", "react-i18next": "11",
"react-query": "3", "react-query": "^3.39.2",
"styled-components": "5" "styled-components": "5",
"babel-loader": "^8.2.5"
}, },
"dependencies": { "dependencies": {
"@headlessui/react": "^1.7.15", "@scm-manager/ui-api": "3.5.1-SNAPSHOT",
"@radix-ui/react-radio-group": "^1.1.3", "@radix-ui/react-radio-group": "^1.1.3",
"@radix-ui/react-slot": "^1.0.1", "@radix-ui/react-slot": "^1.0.1",
"@radix-ui/react-visually-hidden": "^1.0.3", "@radix-ui/react-visually-hidden": "^1.0.3",
@@ -31,10 +38,7 @@
"mousetrap": "1.6.5" "mousetrap": "1.6.5"
}, },
"devDependencies": { "devDependencies": {
"@scm-manager/prettier-config": "^2.11.1", "@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/tsconfig": "^2.12.0",
"@scm-manager/babel-preset": "^2.13.1",
"@types/mousetrap": "1.6.5", "@types/mousetrap": "1.6.5",
"@testing-library/react-hooks": "8.0.1", "@testing-library/react-hooks": "8.0.1",
"@testing-library/react": "12.1.5", "@testing-library/react": "12.1.5",
@@ -50,20 +54,18 @@
"@storybook/manager-webpack5": "^6.5.10", "@storybook/manager-webpack5": "^6.5.10",
"@storybook/react": "^6.5.10", "@storybook/react": "^6.5.10",
"@storybook/testing-library": "^0.0.13", "@storybook/testing-library": "^0.0.13",
"@storybook/addon-storyshots-puppeteer": "^6.4.20", "@storybook/addon-storyshots-puppeteer": "^6.5.10",
"@storybook/addon-storyshots": "^6.4.20", "@storybook/addon-storyshots": "^6.5.10",
"storybook-addon-mock": "^3.2.0", "storybook-addon-mock": "^3.2.0",
"storybook-addon-themes": "^6.1.0", "storybook-addon-themes": "^6.1.0",
"storybook-react-router": "^1.0.8", "storybook-react-router": "^1.0.8",
"mini-css-extract-plugin": "^1.6.2", "@types/storybook-react-router": "^1.0.6",
"mini-css-extract-plugin": "^2.4.3",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"webpack": "5", "webpack": "^5.72.0",
"@babel/core": "^7.19.0", "@babel/core": "^7.19.0",
"i18next": "^19.9.2", "i18next": "21",
"react-i18next": "11", "i18next-fetch-backend": "4",
"i18next-fetch-backend": "^2.3.1",
"babel-loader": "^8.2.5",
"depcheck": "^1.4.3",
"jest-extended": "3.1.0" "jest-extended": "3.1.0"
}, },
"prettier": "@scm-manager/prettier-config", "prettier": "@scm-manager/prettier-config",

View File

@@ -16,13 +16,14 @@
import React, { ComponentType, HTMLAttributes, ReactHTML, Ref } from "react"; import React, { ComponentType, HTMLAttributes, ReactHTML, Ref } from "react";
import classNames from "classnames"; import classNames from "classnames";
import CSS from "csstype";
import styled from "styled-components"; import styled from "styled-components";
const RowsContainer = styled.div` const RowsContainer = styled.div`
margin-left: -0.25rem; margin-left: -0.25rem;
`; `;
type Gap = "inherit" | "initial" | "normal" | "-moz-initial" | "revert" | "unset" | string | number;
type Props = HTMLAttributes<HTMLElement> & { type Props = HTMLAttributes<HTMLElement> & {
action?: React.ReactElement; action?: React.ReactElement;
avatar?: React.ReactElement; avatar?: React.ReactElement;
@@ -35,7 +36,7 @@ type Props = HTMLAttributes<HTMLElement> & {
* @default "0.5rem" * @default "0.5rem"
* @since 2.46.0 * @since 2.46.0
*/ */
rowGap?: CSS.Properties<string | number>["gap"]; rowGap?: Gap;
}; };
/** /**

View File

@@ -14,22 +14,24 @@
"build": "tsup ./src/index.ts -d build --format esm,cjs --dts", "build": "tsup ./src/index.ts -d build --format esm,cjs --dts",
"typecheck": "tsc", "typecheck": "tsc",
"lint": "eslint src", "lint": "eslint src",
"test": "jest" "test": "jest",
"depcheck": "depcheck"
}, },
"dependencies": { "peerDependencies": {
"@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"react": "^17.0.1"
},
"devDependencies": {
"@scm-manager/babel-preset": "^2.13.1", "@scm-manager/babel-preset": "^2.13.1",
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1", "@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/prettier-config": "^2.10.1", "@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/tsconfig": "^2.13.0", "@scm-manager/tsconfig": "^2.13.0",
"@types/enzyme": "^3.10.3", "@types/enzyme": "^3.10.18",
"@types/jest": "^26.0.24",
"@types/react": "^17.0.1", "@types/react": "^17.0.1",
"tsup": "^5.12.6" "tsup": "^5.12.6",
"enzyme": "^3.11.0",
"react": "^17.0.1"
},
"devDependencies": {
"@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"@scm-manager/ui-tests": "3.5.1-SNAPSHOT"
}, },
"babel": { "babel": {
"presets": [ "presets": [

View File

@@ -3,13 +3,27 @@
"private": false, "private": false,
"version": "3.5.1-SNAPSHOT", "version": "3.5.1-SNAPSHOT",
"main": "index.ts", "main": "index.ts",
"license": "AGPL-3.0-only", "scripts": {
"devDependencies": { "depcheck": "depcheck"
"@scm-manager/eslint-config": "^2.16.0",
"@scm-manager/prettier-config": "^2.10.1",
"@scm-manager/tsconfig": "^2.13.0"
}, },
"license": "AGPL-3.0-only",
"peerDependencies": { "peerDependencies": {
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/tsconfig": "^2.13.0",
"@radix-ui/react-slot": "^1.0.1",
"@radix-ui/react-visually-hidden": "^1.0.3",
"@headlessui/react": "^1.7.17",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-router-dom": "^5.3.1",
"classnames": "^2.3.1",
"react-hook-form": "^7.33.1",
"react-i18next": "11",
"react-query": "^3.39.2",
"styled-components": "^5.3.5"
},
"dependencies": {
"@scm-manager/ui-core": "3.5.1-SNAPSHOT" "@scm-manager/ui-core": "3.5.1-SNAPSHOT"
}, },
"prettier": "@scm-manager/prettier-config", "prettier": "@scm-manager/prettier-config",

View File

@@ -3,13 +3,20 @@
"private": false, "private": false,
"version": "3.5.1-SNAPSHOT", "version": "3.5.1-SNAPSHOT",
"main": "index.ts", "main": "index.ts",
"license": "AGPL-3.0-only", "scripts": {
"devDependencies": { "depcheck": "depcheck"
"@scm-manager/eslint-config": "^2.16.0",
"@scm-manager/prettier-config": "^2.10.1",
"@scm-manager/tsconfig": "^2.13.0"
}, },
"license": "AGPL-3.0-only",
"peerDependencies": { "peerDependencies": {
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/tsconfig": "^2.13.0",
"@radix-ui/react-collapsible": "^1.0.3",
"classnames": "^2.3.1",
"styled-components": "^5.3.5",
"react": "^17.0.1"
},
"dependencies": {
"@scm-manager/ui-core": "3.5.1-SNAPSHOT" "@scm-manager/ui-core": "3.5.1-SNAPSHOT"
}, },
"prettier": "@scm-manager/prettier-config", "prettier": "@scm-manager/prettier-config",

View File

@@ -9,23 +9,26 @@
"build": "tsup ./src/index.ts -d build --format esm,cjs --dts", "build": "tsup ./src/index.ts -d build --format esm,cjs --dts",
"typecheck": "tsc", "typecheck": "tsc",
"lint": "eslint src", "lint": "eslint src",
"test": "jest --passWithNoTests" "test": "jest --passWithNoTests",
"depcheck": "depcheck"
}, },
"dependencies": { "dependencies": {
"@scm-manager/ui-api": "3.5.1-SNAPSHOT", "@scm-manager/ui-api": "3.5.1-SNAPSHOT",
"@scm-manager/ui-extensions": "3.5.1-SNAPSHOT", "@scm-manager/ui-extensions": "3.5.1-SNAPSHOT",
"@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"react": "^17.0.1",
"react-redux": "^5.0.7", "react-redux": "^5.0.7",
"redux": "^4.0.0" "redux": "^4.0.0"
}, },
"devDependencies": { "devDependencies": {
"@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"@types/react-redux": "5.0.7"
},
"peerDependencies": {
"@scm-manager/babel-preset": "^2.13.1", "@scm-manager/babel-preset": "^2.13.1",
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1", "@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/prettier-config": "^2.10.1", "@scm-manager/prettier-config": "^2.12.0",
"@types/react": "^17.0.1", "@types/react": "^17.0.1",
"@types/react-redux": "5.0.7", "react": "^17.0.1",
"tsup": "^5.12.6" "tsup": "^5.12.6"
}, },
"babel": { "babel": {

View File

@@ -3,13 +3,25 @@
"private": false, "private": false,
"version": "3.5.1-SNAPSHOT", "version": "3.5.1-SNAPSHOT",
"main": "index.ts", "main": "index.ts",
"license": "AGPL-3.0-only", "scripts": {
"devDependencies": { "depcheck": "depcheck"
"@scm-manager/eslint-config": "^2.16.0",
"@scm-manager/prettier-config": "^2.10.1",
"@scm-manager/tsconfig": "^2.13.0"
}, },
"license": "AGPL-3.0-only",
"peerDependencies": { "peerDependencies": {
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/tsconfig": "^2.13.0",
"@radix-ui/react-dialog": "1.0.4",
"@radix-ui/react-tooltip": "1.0.2",
"@radix-ui/react-dropdown-menu": "2.0.5",
"@radix-ui/react-popover": "1.0.6",
"react-router-dom": "^5.3.1",
"react": "^17.0.1",
"styled-components": "^5.3.5",
"react-i18next": "11",
"classnames": "^2.3.1"
},
"dependencies": {
"@scm-manager/ui-core": "3.5.1-SNAPSHOT" "@scm-manager/ui-core": "3.5.1-SNAPSHOT"
}, },
"prettier": "@scm-manager/prettier-config", "prettier": "@scm-manager/prettier-config",

View File

@@ -0,0 +1 @@
ignores: ["redux", "react-redux", "@scm-manager/plugin-scripts", "@scm-manager/ui-tests", "@scm-manager/ui-types", "@types/i18next", "@types/jest", "@types/react-redux", "jest"]

View File

@@ -7,11 +7,12 @@
"main": "./build/provided-modules.js", "main": "./build/provided-modules.js",
"types": "./build/provided-modules.d.ts", "types": "./build/provided-modules.d.ts",
"scripts": { "scripts": {
"build": "node ./generateStatic.js" "build": "node ./generateStatic.js",
"depcheck": "depcheck"
}, },
"dependencies": { "dependencies": {
"react": "17", "react": "^17.0.1",
"react-dom": "17", "react-dom": "^17.0.1",
"react-router": "^5.3.1", "react-router": "^5.3.1",
"react-router-dom": "^5.3.1", "react-router-dom": "^5.3.1",
"react-i18next": "11", "react-i18next": "11",
@@ -24,12 +25,12 @@
"@scm-manager/ui-forms": "3.5.1-SNAPSHOT", "@scm-manager/ui-forms": "3.5.1-SNAPSHOT",
"@scm-manager/ui-layout": "3.5.1-SNAPSHOT", "@scm-manager/ui-layout": "3.5.1-SNAPSHOT",
"@scm-manager/ui-overlays": "3.5.1-SNAPSHOT", "@scm-manager/ui-overlays": "3.5.1-SNAPSHOT",
"classnames": "^2.2.6", "classnames": "^2.3.1",
"query-string": "6.14.1", "query-string": "6.14.1",
"redux": "^4.0.0", "redux": "^4.0.0",
"react-redux": "^5.0.7", "react-redux": "^5.0.7",
"react-hook-form": "^7.5.1", "react-hook-form": "^7.33.1",
"react-query": "^3.25.1" "react-query": "^3.39.2"
}, },
"lazyDependencies": [ "lazyDependencies": [
"redux", "redux",
@@ -40,13 +41,12 @@
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1", "@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/plugin-scripts": "^1.6.1", "@scm-manager/plugin-scripts": "^1.6.1",
"@scm-manager/prettier-config": "^2.10.1", "@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/tsconfig": "^2.13.0", "@scm-manager/tsconfig": "^2.13.0",
"@scm-manager/ui-tests": "3.5.1-SNAPSHOT", "@scm-manager/ui-tests": "3.5.1-SNAPSHOT",
"@scm-manager/ui-types": "3.5.1-SNAPSHOT", "@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"@types/classnames": "^2.2.9", "@types/classnames": "^2.3.1",
"@types/enzyme": "^3.10.3", "@types/enzyme": "^3.10.18",
"@types/fetch-mock": "^7.3.1",
"@types/i18next": "^13.0.0", "@types/i18next": "^13.0.0",
"@types/jest": "^26.0.24", "@types/jest": "^26.0.24",
"@types/react": "^17.0.1", "@types/react": "^17.0.1",

View File

@@ -4,13 +4,19 @@
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
"private": true, "private": true,
"main": "index.ts", "main": "index.ts",
"peerDependencies": { "scripts": {
"@scm-manager/ui-core": "3.5.1-SNAPSHOT" "depcheck": "depcheck"
}, },
"devDependencies": { "peerDependencies": {
"@scm-manager/eslint-config": "^2.16.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/prettier-config": "^2.10.1", "@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/tsconfig": "^2.13.0" "@scm-manager/tsconfig": "^2.13.0",
"react": "^17.0.1",
"mousetrap": "1.6.5",
"react-i18next": "11"
},
"dependencies": {
"@scm-manager/ui-core": "3.5.1-SNAPSHOT"
}, },
"prettier": "@scm-manager/prettier-config", "prettier": "@scm-manager/prettier-config",
"eslintConfig": { "eslintConfig": {

View File

@@ -0,0 +1 @@
ignores: ["utils"]

View File

@@ -6,26 +6,23 @@
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
"private": true, "private": true,
"scripts": { "scripts": {
"serve": "webpack serve" "serve": "webpack serve",
"depcheck": "depcheck"
}, },
"dependencies": { "dependencies": {
"@fortawesome/fontawesome-free": "^5.11.2", "@fortawesome/fontawesome-free": "^5.11.2",
"bulma": "https://github.com/scm-manager/bulma#3ae8dbdd13196d472ab5fbec543d0c649c149e5a", "bulma": "https://github.com/scm-manager/bulma#3ae8dbdd13196d472ab5fbec543d0c649c149e5a",
"bulma-popover": "^1.0.0", "bulma-popover": "^1.0.0"
"react-diff-view": "^2.4.10"
}, },
"devDependencies": { "peerDependencies": {
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/prettier-config": "^2.11.1", "@scm-manager/prettier-config": "^2.12.0",
"react-diff-view": "^2.4.10",
"css-loader": "^6.5.0", "css-loader": "^6.5.0",
"html-webpack-plugin": "^5.5.0", "html-webpack-plugin": "^5.5.0",
"raw-loader": "^4.0.2",
"sass": "^1.43.4",
"sass-loader": "^12.3.0", "sass-loader": "^12.3.0",
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"webpack": "^5.60.0", "webpack": "^5.72.0"
"webpack-cli": "^4.9.1",
"webpack-dev-server": "^4.4.0"
}, },
"prettier": "@scm-manager/prettier-config", "prettier": "@scm-manager/prettier-config",
"eslintConfig": { "eslintConfig": {

View File

@@ -15,29 +15,27 @@
"dependencies": { "dependencies": {
"@scm-manager/ui-text": "3.5.1-SNAPSHOT", "@scm-manager/ui-text": "3.5.1-SNAPSHOT",
"nanoid": "^3.3.2", "nanoid": "^3.3.2",
"react-diff-view": "^2.4.10",
"refractor": "^4.5.0" "refractor": "^4.5.0"
}, },
"peerDependencies": { "peerDependencies": {
"react": "^17.0.1",
"react-dom": "^17.0.1"
},
"devDependencies": {
"@scm-manager/babel-preset": "^2.13.1", "@scm-manager/babel-preset": "^2.13.1",
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1", "@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/prettier-config": "^2.10.1", "@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/tsconfig": "^2.13.0", "@scm-manager/tsconfig": "^2.13.0",
"@storybook/addon-essentials": "^6.4.20", "@storybook/addon-essentials": "^6.5.10",
"@storybook/builder-webpack5": "^6.4.20", "@storybook/builder-webpack5": "^6.5.10",
"@storybook/manager-webpack5": "^6.4.20", "@storybook/manager-webpack5": "^6.5.10",
"@storybook/react": "^6.4.20", "@storybook/react": "^6.5.10",
"@types/hast": "^2.3.1",
"react": "^17.0.1", "react": "^17.0.1",
"react-dom": "^17.0.1", "react-dom": "^17.0.1",
"depcheck": "^1.4.3", "react-diff-view": "^2.4.10",
"decode-named-character-reference": "^1.0.1" "decode-named-character-reference": "^1.0.1"
}, },
"devDependencies": {
"@types/hast": "^2.3.1",
"depcheck": "^1.4.3"
},
"babel": { "babel": {
"presets": [ "presets": [
"@scm-manager/babel-preset" "@scm-manager/babel-preset"

View File

@@ -6,25 +6,23 @@
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
"private": false, "private": false,
"scripts": { "scripts": {
"typecheck": "tsc" "typecheck": "tsc",
"depcheck": "depcheck"
}, },
"dependencies": { "dependencies": {
"@wojtekmaj/enzyme-adapter-react-17": "^0.7.0", "@wojtekmaj/enzyme-adapter-react-17": "^0.7.0",
"babel-plugin-istanbul": "^6.0.0",
"enzyme": "^3.10.0",
"enzyme-context": "^1.1.2", "enzyme-context": "^1.1.2",
"enzyme-context-react-router-4": "^2.0.0", "enzyme-context-react-router-4": "^2.0.0",
"jest": "^26.6.3", "raf": "^3.4.1"
"raf": "^3.4.1", },
"react-test-renderer": "^17.0.1" "peerDependencies": {
"@scm-manager/tsconfig": "^2.13.0",
"@scm-manager/prettier-config": "^2.12.0",
"enzyme": "^3.11.0",
"@types/enzyme": "^3.10.18"
}, },
"prettier": "@scm-manager/prettier-config", "prettier": "@scm-manager/prettier-config",
"publishConfig": { "publishConfig": {
"access": "public" "access": "public"
},
"devDependencies": {
"@scm-manager/tsconfig": "^2.13.0",
"@types/enzyme": "^3.10.3",
"@types/jest": "^26.0.24"
} }
} }

View File

@@ -3,13 +3,17 @@
"version": "3.5.1-SNAPSHOT", "version": "3.5.1-SNAPSHOT",
"private": true, "private": true,
"main": "index.ts", "main": "index.ts",
"peerDependencies": { "scripts": {
"@scm-manager/ui-core": "3.5.1-SNAPSHOT" "depcheck": "depcheck"
}, },
"devDependencies": { "peerDependencies": {
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/prettier-config": "^2.10.1", "@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/tsconfig": "^2.13.0" "@scm-manager/tsconfig": "^2.13.0",
"react": "^17.0.1"
},
"dependencies": {
"@scm-manager/ui-core": "3.5.1-SNAPSHOT"
}, },
"prettier": "@scm-manager/prettier-config", "prettier": "@scm-manager/prettier-config",
"eslintConfig": { "eslintConfig": {

View File

@@ -12,11 +12,13 @@
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
"scripts": { "scripts": {
"typecheck": "tsc", "typecheck": "tsc",
"lint": "eslint src" "lint": "eslint src",
"depcheck": "depcheck"
}, },
"devDependencies": { "peerDependencies": {
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/tsconfig": "^2.13.0" "@scm-manager/tsconfig": "^2.13.0",
"@scm-manager/prettier-config": "^2.12.0"
}, },
"babel": { "babel": {
"presets": [ "presets": [

View File

@@ -2,13 +2,18 @@
"name": "@scm-manager/ui-webapp", "name": "@scm-manager/ui-webapp",
"version": "3.5.1-SNAPSHOT", "version": "3.5.1-SNAPSHOT",
"private": true, "private": true,
"scripts": {
"test": "jest",
"lint": "eslint src",
"serve": "node ./webpack/serve.js development",
"build": "webpack-cli --mode=production --config=./webpack/webpack.config.js",
"depcheck": "depcheck"
},
"dependencies": { "dependencies": {
"@headlessui/react": "^1.7.15", "@headlessui/react": "^1.7.17",
"@scm-manager/ui-components": "3.5.1-SNAPSHOT", "@scm-manager/ui-components": "3.5.1-SNAPSHOT",
"@scm-manager/ui-api": "3.5.1-SNAPSHOT", "@scm-manager/ui-api": "3.5.1-SNAPSHOT",
"@scm-manager/ui-extensions": "3.5.1-SNAPSHOT", "@scm-manager/ui-extensions": "3.5.1-SNAPSHOT",
"@scm-manager/ui-syntaxhighlighting": "3.5.1-SNAPSHOT",
"@scm-manager/ui-text": "3.5.1-SNAPSHOT",
"@scm-manager/ui-shortcuts": "3.5.1-SNAPSHOT", "@scm-manager/ui-shortcuts": "3.5.1-SNAPSHOT",
"@scm-manager/ui-legacy": "3.5.1-SNAPSHOT", "@scm-manager/ui-legacy": "3.5.1-SNAPSHOT",
"@scm-manager/ui-forms": "3.5.1-SNAPSHOT", "@scm-manager/ui-forms": "3.5.1-SNAPSHOT",
@@ -18,7 +23,7 @@
"@scm-manager/ui-buttons": "3.5.1-SNAPSHOT", "@scm-manager/ui-buttons": "3.5.1-SNAPSHOT",
"@radix-ui/react-portal": "^1.0.4", "@radix-ui/react-portal": "^1.0.4",
"@react-aria/overlays": "^3.23.1", "@react-aria/overlays": "^3.23.1",
"classnames": "^2.2.5", "classnames": "^2.3.1",
"history": "^4.10.1", "history": "^4.10.1",
"i18next": "21", "i18next": "21",
"i18next-browser-languagedetector": "6", "i18next-browser-languagedetector": "6",
@@ -26,59 +31,50 @@
"query-string": "6.14.1", "query-string": "6.14.1",
"react": "^17.0.1", "react": "^17.0.1",
"react-dom": "^17.0.1", "react-dom": "^17.0.1",
"react-hook-form": "^7.5.1", "react-hook-form": "^7.33.1",
"react-i18next": "11", "react-i18next": "11",
"react-router": "^5.3.1", "react-router": "^5.3.1",
"react-router-dom": "^5.3.1", "react-router-dom": "^5.3.1",
"react-select": "^2.1.2", "react-query": "^3.39.2",
"string_score": "^0.1.22", "string_score": "^0.1.22",
"styled-components": "^5.3.5", "styled-components": "^5.3.5",
"systemjs": "0.21.6", "ua-parser-js": "^1.0.2",
"ua-parser-js": "^1.0.2" "decode-named-character-reference": "^1.0.1",
}, "enzyme": "^3.11.0",
"scripts": { "date-fns": "^2.4.1"
"test": "jest",
"lint": "eslint src",
"serve": "node ./webpack/serve.js development",
"build": "webpack-cli --mode=production --config=./webpack/webpack.config.js"
}, },
"devDependencies": { "devDependencies": {
"@scm-manager/eslint-config": "^2.17.0", "@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1", "@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/ui-tests": "3.5.1-SNAPSHOT", "@scm-manager/ui-tests": "3.5.1-SNAPSHOT",
"@scm-manager/ui-plugins": "3.5.1-SNAPSHOT", "@scm-manager/ui-plugins": "3.5.1-SNAPSHOT",
"@testing-library/react": "^12.1.5", "@scm-manager/prettier-config": "^2.12.0",
"@types/classnames": "^2.2.9", "@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"@types/enzyme": "^3.10.3", "@types/classnames": "^2.3.1",
"@types/fetch-mock": "^7.3.1", "@types/enzyme": "^3.10.18",
"@types/jest": "^26.0.24",
"@types/react": "^17.0.1", "@types/react": "^17.0.1",
"@types/react-dom": "^17.0.1", "@types/react-dom": "^17.0.1",
"@types/react-router-dom": "^5.3.3", "@types/react-router-dom": "^5.3.3",
"@types/styled-components": "^5.1.25", "@types/styled-components": "^5.1.25",
"@types/systemjs": "^0.20.6",
"@types/ua-parser-js": "^0.7.36", "@types/ua-parser-js": "^0.7.36",
"fetch-mock": "^7.5.1", "fetch-mock": "^7.5.1",
"react-test-renderer": "^17.0.1", "react-test-renderer": "^17.0.1",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.5", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
"webpack-bundle-analyzer": "^4.5.0", "webpack-bundle-analyzer": "^4.5.0",
"babel-loader": "^8.2.3", "babel-loader": "^8.2.5",
"css-loader": "^6.5.0", "css-loader": "^6.5.0",
"file-loader": "^6.2.0", "file-loader": "^6.2.0",
"mini-css-extract-plugin": "^2.4.3", "mini-css-extract-plugin": "^2.4.3",
"mustache": "^3.1.0", "mustache": "^3.1.0",
"optimize-css-assets-webpack-plugin": "^6.0.1", "optimize-css-assets-webpack-plugin": "^6.0.1",
"react-refresh": "^0.14.0", "react-refresh": "^0.14.0",
"sass": "^1.43.4",
"sass-loader": "^12.3.0", "sass-loader": "^12.3.0",
"script-loader": "^0.7.2", "script-loader": "^0.7.2",
"style-loader": "^3.3.1", "style-loader": "^3.3.1",
"webpack": "^5.60.0", "webpack": "^5.72.0",
"webpack-cli": "^4.9.1", "webpack-cli": "^4.9.1",
"webpack-dev-server": "^4.4.0", "webpack-dev-server": "^4.4.0",
"postcss": "^8.4.12", "postcss-loader": "^6.2.1"
"postcss-loader": "^6.2.1",
"autoprefixer": "^10.4.4"
}, },
"babel": { "babel": {
"presets": [ "presets": [

992
yarn.lock

File diff suppressed because it is too large Load Diff