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"
},
"dependencies": {
"@scm-manager/eslint-config": "2.17.0"
"@scm-manager/eslint-config": "^2.17.0"
},
"devDependencies": {
"@scm-manager/remark-preset-lint": "^1.0.0",

View File

@@ -18,7 +18,7 @@
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.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"
},
"babel": {
@@ -33,4 +33,4 @@
"eslintConfig": {
"extends": "@scm-manager/eslint-config"
}
}
}

View File

@@ -17,7 +17,7 @@
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.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"
},
"babel": {
@@ -32,4 +32,4 @@
"eslintConfig": {
"extends": "@scm-manager/eslint-config"
}
}
}

View File

@@ -17,7 +17,7 @@
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.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"
},
"babel": {
@@ -32,4 +32,4 @@
"eslintConfig": {
"extends": "@scm-manager/eslint-config"
}
}
}

View File

@@ -17,7 +17,7 @@
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.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"
},
"babel": {
@@ -32,4 +32,4 @@
"eslintConfig": {
"extends": "@scm-manager/eslint-config"
}
}
}

View File

@@ -15,28 +15,33 @@
"build": "tsup ./src/index.ts -d build --format esm,cjs --dts",
"typecheck": "tsc",
"lint": "eslint src",
"test": "jest src/"
"test": "jest src/",
"depcheck": "depcheck"
},
"devDependencies": {
"peerDependencies": {
"@scm-manager/babel-preset": "^2.13.1",
"@scm-manager/eslint-config": "^2.17.0",
"@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",
"@testing-library/react-hooks": "^5.0.3",
"@types/react": "^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": {
"@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"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"
"fetch-mock-jest": "^1.5.1"
},
"babel": {
"presets": [
@@ -53,4 +58,4 @@
"publishConfig": {
"access": "public"
}
}
}

View File

@@ -3,13 +3,20 @@
"version": "3.5.1-SNAPSHOT",
"private": false,
"main": "index.ts",
"peerDependencies": {
"@scm-manager/ui-core": "3.5.1-SNAPSHOT"
"license": "AGPL-3.0-only",
"scripts": {
"depcheck": "depcheck"
},
"devDependencies": {
"@scm-manager/prettier-config": "^2.11.1",
"peerDependencies": {
"@scm-manager/prettier-config": "^2.12.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",
"eslintConfig": {
@@ -18,4 +25,4 @@
"publishConfig": {
"access": "public"
}
}
}

View File

@@ -16,70 +16,72 @@
"build-storybook": "build-storybook",
"storybook": "start-storybook -s ../ui-webapp/public",
"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/eslint-config": "^2.17.0",
"@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/ui-shortcuts": "3.5.1-SNAPSHOT",
"@scm-manager/ui-syntaxhighlighting": "3.5.1-SNAPSHOT",
"@scm-manager/ui-tests": "3.5.1-SNAPSHOT",
"@scm-manager/ui-text": "3.5.1-SNAPSHOT",
"@storybook/addon-actions": "^6.4.20",
"@storybook/addon-essentials": "^6.4.20",
"@storybook/addon-interactions": "^6.4.20",
"@storybook/addon-storyshots": "^6.4.20",
"@storybook/builder-webpack5": "^6.4.20",
"@storybook/manager-webpack5": "^6.4.20",
"@storybook/react": "^6.4.20",
"@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",
"decode-named-character-reference": "^1.0.1",
"@storybook/addon-actions": "^6.5.10",
"@storybook/addon-essentials": "^6.5.10",
"@storybook/addon-interactions": "^6.5.10",
"@storybook/addon-storyshots": "^6.5.10",
"@storybook/builder-webpack5": "^6.5.10",
"@storybook/manager-webpack5": "^6.5.10",
"@storybook/react": "^6.5.10",
"storybook-addon-i18next": "^1.3.0",
"storybook-addon-themes": "^6.1.0",
"@types/classnames": "^2.3.1",
"@types/react": "^17.0.1",
"@types/react-dom": "^17.0.1",
"@types/react-router-dom": "^5.3.3",
"@types/react-select": "^2.0.19",
"@types/styled-components": "^5.1.25",
"@types/to-camel-case": "^1.0.0",
"@types/unist": "^2.0.3",
"css": "^3.0.0",
"enzyme-context": "^1.1.2",
"enzyme-context-react-router-4": "^2.0.0",
"@testing-library/react-hooks": "8.0.1",
"fetch-mock": "^7.5.1",
"gitdiff-parser": "^0.2.2",
"html-webpack-plugin": "^5.5.0",
"i18next-fetch-backend": "^2.2.0",
"mini-css-extract-plugin": "^1.6.2",
"raf": "^3.4.0",
"mini-css-extract-plugin": "^2.4.3",
"react-test-renderer": "^17.0.1",
"sass-loader": "^12.3.0",
"storybook-addon-i18next": "^1.3.0",
"storybook-addon-themes": "^6.1.0",
"to-camel-case": "^1.0.0",
"@headlessui/react": "^1.7.17",
"classnames": "^2.3.1",
"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"
},
"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-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",
"hast-util-sanitize": "^3.0.2",
"query-string": "6.14.1",
"react": "^17.0.1",
"react-diff-view": "^2.4.10",
"react-dom": "^17.0.1",
"react-hook-form": "^7.5.1",
"react-i18next": "11",
"react-router": "^5.3.1",
"react-router-dom": "^5.3.1",
"react-hook-form": "^7.33.1",
"react-select": "^2.1.2",
"rehype-raw": "^5.1.0",
"rehype-react": "^6.2.0",
@@ -88,8 +90,8 @@
"remark-gfm": "^1.0.0",
"remark-parse": "^9.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": {
"presets": [
@@ -106,4 +108,4 @@
"publishConfig": {
"access": "public"
}
}
}

View File

@@ -16,7 +16,7 @@
import React, { FC } from "react";
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";
type Props = {

View File

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

View File

@@ -14,7 +14,7 @@
* 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;

View File

@@ -17,7 +17,7 @@
import { nameRegex } from "../validation";
import { TFunction } from "i18next";
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]");

View File

@@ -15,7 +15,7 @@
*/
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
@@ -46,7 +46,11 @@ import { Literal, Node, Parent } from "unist";
export const createTransformer = (): AstPlugin => {
return ({ visit }) => {
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 preChildren = parent?.children.slice(0, index) || [];
const postChildren = parent?.children.slice(index + 1) || [];

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -14,7 +14,7 @@
* 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";
class DiffExpander {

View File

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

View File

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

View File

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

View File

@@ -16,7 +16,7 @@
import React from "react";
import { Link } from "react-router-dom";
import { Icon } from "@scm-manager/ui-components";
import Icon from "../Icon";
import Tooltip from "../Tooltip";
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 TokenizedDiffView from "../TokenizedDiffView";
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 { Modal } from "../../modals";
import { ErrorNotification } from "@scm-manager/ui-core";

View File

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

View File

@@ -4,21 +4,28 @@
"main": "./src/index.ts",
"license": "AGPL-3.0-only",
"scripts": {
"typecheck": "tsc",
"storybook": "start-storybook -p 6006",
"build-storybook": "build-storybook"
},
"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-dom": "^17.0.1",
"react-router-dom": "^5.3.1",
"classnames": "^2.3.1",
"react-hook-form": "7",
"react-hook-form": "^7.33.1",
"react-i18next": "11",
"react-query": "3",
"styled-components": "5"
"react-query": "^3.39.2",
"styled-components": "5",
"babel-loader": "^8.2.5"
},
"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-slot": "^1.0.1",
"@radix-ui/react-visually-hidden": "^1.0.3",
@@ -31,10 +38,7 @@
"mousetrap": "1.6.5"
},
"devDependencies": {
"@scm-manager/prettier-config": "^2.11.1",
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/tsconfig": "^2.12.0",
"@scm-manager/babel-preset": "^2.13.1",
"@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"@types/mousetrap": "1.6.5",
"@testing-library/react-hooks": "8.0.1",
"@testing-library/react": "12.1.5",
@@ -50,20 +54,18 @@
"@storybook/manager-webpack5": "^6.5.10",
"@storybook/react": "^6.5.10",
"@storybook/testing-library": "^0.0.13",
"@storybook/addon-storyshots-puppeteer": "^6.4.20",
"@storybook/addon-storyshots": "^6.4.20",
"@storybook/addon-storyshots-puppeteer": "^6.5.10",
"@storybook/addon-storyshots": "^6.5.10",
"storybook-addon-mock": "^3.2.0",
"storybook-addon-themes": "^6.1.0",
"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",
"webpack": "5",
"webpack": "^5.72.0",
"@babel/core": "^7.19.0",
"i18next": "^19.9.2",
"react-i18next": "11",
"i18next-fetch-backend": "^2.3.1",
"babel-loader": "^8.2.5",
"depcheck": "^1.4.3",
"i18next": "21",
"i18next-fetch-backend": "4",
"jest-extended": "3.1.0"
},
"prettier": "@scm-manager/prettier-config",
@@ -78,4 +80,4 @@
"jest-extended/all"
]
}
}
}

View File

@@ -16,13 +16,14 @@
import React, { ComponentType, HTMLAttributes, ReactHTML, Ref } from "react";
import classNames from "classnames";
import CSS from "csstype";
import styled from "styled-components";
const RowsContainer = styled.div`
margin-left: -0.25rem;
`;
type Gap = "inherit" | "initial" | "normal" | "-moz-initial" | "revert" | "unset" | string | number;
type Props = HTMLAttributes<HTMLElement> & {
action?: React.ReactElement;
avatar?: React.ReactElement;
@@ -35,7 +36,7 @@ type Props = HTMLAttributes<HTMLElement> & {
* @default "0.5rem"
* @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",
"typecheck": "tsc",
"lint": "eslint src",
"test": "jest"
"test": "jest",
"depcheck": "depcheck"
},
"dependencies": {
"@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"react": "^17.0.1"
},
"devDependencies": {
"peerDependencies": {
"@scm-manager/babel-preset": "^2.13.1",
"@scm-manager/eslint-config": "^2.17.0",
"@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",
"@types/enzyme": "^3.10.3",
"@types/jest": "^26.0.24",
"@types/enzyme": "^3.10.18",
"@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": {
"presets": [
@@ -46,4 +48,4 @@
"publishConfig": {
"access": "public"
}
}
}

View File

@@ -3,13 +3,27 @@
"private": false,
"version": "3.5.1-SNAPSHOT",
"main": "index.ts",
"license": "AGPL-3.0-only",
"devDependencies": {
"@scm-manager/eslint-config": "^2.16.0",
"@scm-manager/prettier-config": "^2.10.1",
"@scm-manager/tsconfig": "^2.13.0"
"scripts": {
"depcheck": "depcheck"
},
"license": "AGPL-3.0-only",
"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"
},
"prettier": "@scm-manager/prettier-config",
@@ -19,4 +33,4 @@
"publishConfig": {
"access": "public"
}
}
}

View File

@@ -3,13 +3,20 @@
"private": false,
"version": "3.5.1-SNAPSHOT",
"main": "index.ts",
"license": "AGPL-3.0-only",
"devDependencies": {
"@scm-manager/eslint-config": "^2.16.0",
"@scm-manager/prettier-config": "^2.10.1",
"@scm-manager/tsconfig": "^2.13.0"
"scripts": {
"depcheck": "depcheck"
},
"license": "AGPL-3.0-only",
"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"
},
"prettier": "@scm-manager/prettier-config",
@@ -19,4 +26,4 @@
"publishConfig": {
"access": "public"
}
}
}

View File

@@ -9,23 +9,26 @@
"build": "tsup ./src/index.ts -d build --format esm,cjs --dts",
"typecheck": "tsc",
"lint": "eslint src",
"test": "jest --passWithNoTests"
"test": "jest --passWithNoTests",
"depcheck": "depcheck"
},
"dependencies": {
"@scm-manager/ui-api": "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",
"redux": "^4.0.0"
},
"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/eslint-config": "^2.17.0",
"@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-redux": "5.0.7",
"react": "^17.0.1",
"tsup": "^5.12.6"
},
"babel": {
@@ -43,4 +46,4 @@
"publishConfig": {
"access": "public"
}
}
}

View File

@@ -3,13 +3,25 @@
"private": false,
"version": "3.5.1-SNAPSHOT",
"main": "index.ts",
"license": "AGPL-3.0-only",
"devDependencies": {
"@scm-manager/eslint-config": "^2.16.0",
"@scm-manager/prettier-config": "^2.10.1",
"@scm-manager/tsconfig": "^2.13.0"
"scripts": {
"depcheck": "depcheck"
},
"license": "AGPL-3.0-only",
"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"
},
"prettier": "@scm-manager/prettier-config",
@@ -19,4 +31,4 @@
"publishConfig": {
"access": "public"
}
}
}

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",
"types": "./build/provided-modules.d.ts",
"scripts": {
"build": "node ./generateStatic.js"
"build": "node ./generateStatic.js",
"depcheck": "depcheck"
},
"dependencies": {
"react": "17",
"react-dom": "17",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-router": "^5.3.1",
"react-router-dom": "^5.3.1",
"react-i18next": "11",
@@ -24,12 +25,12 @@
"@scm-manager/ui-forms": "3.5.1-SNAPSHOT",
"@scm-manager/ui-layout": "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",
"redux": "^4.0.0",
"react-redux": "^5.0.7",
"react-hook-form": "^7.5.1",
"react-query": "^3.25.1"
"react-hook-form": "^7.33.1",
"react-query": "^3.39.2"
},
"lazyDependencies": [
"redux",
@@ -40,13 +41,12 @@
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.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/ui-tests": "3.5.1-SNAPSHOT",
"@scm-manager/ui-types": "3.5.1-SNAPSHOT",
"@types/classnames": "^2.2.9",
"@types/enzyme": "^3.10.3",
"@types/fetch-mock": "^7.3.1",
"@types/classnames": "^2.3.1",
"@types/enzyme": "^3.10.18",
"@types/i18next": "^13.0.0",
"@types/jest": "^26.0.24",
"@types/react": "^17.0.1",
@@ -58,4 +58,4 @@
"publishConfig": {
"access": "public"
}
}
}

View File

@@ -4,16 +4,22 @@
"license": "AGPL-3.0-only",
"private": true,
"main": "index.ts",
"peerDependencies": {
"@scm-manager/ui-core": "3.5.1-SNAPSHOT"
"scripts": {
"depcheck": "depcheck"
},
"devDependencies": {
"@scm-manager/eslint-config": "^2.16.0",
"@scm-manager/prettier-config": "^2.10.1",
"@scm-manager/tsconfig": "^2.13.0"
"peerDependencies": {
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/prettier-config": "^2.12.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",
"eslintConfig": {
"extends": "@scm-manager/eslint-config"
}
}
}

View File

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

View File

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

View File

@@ -15,29 +15,27 @@
"dependencies": {
"@scm-manager/ui-text": "3.5.1-SNAPSHOT",
"nanoid": "^3.3.2",
"react-diff-view": "^2.4.10",
"refractor": "^4.5.0"
},
"peerDependencies": {
"react": "^17.0.1",
"react-dom": "^17.0.1"
},
"devDependencies": {
"@scm-manager/babel-preset": "^2.13.1",
"@scm-manager/eslint-config": "^2.17.0",
"@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",
"@storybook/addon-essentials": "^6.4.20",
"@storybook/builder-webpack5": "^6.4.20",
"@storybook/manager-webpack5": "^6.4.20",
"@storybook/react": "^6.4.20",
"@types/hast": "^2.3.1",
"@storybook/addon-essentials": "^6.5.10",
"@storybook/builder-webpack5": "^6.5.10",
"@storybook/manager-webpack5": "^6.5.10",
"@storybook/react": "^6.5.10",
"react": "^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"
},
"devDependencies": {
"@types/hast": "^2.3.1",
"depcheck": "^1.4.3"
},
"babel": {
"presets": [
"@scm-manager/babel-preset"
@@ -53,4 +51,4 @@
"publishConfig": {
"access": "restricted"
}
}
}

View File

@@ -6,25 +6,23 @@
"license": "AGPL-3.0-only",
"private": false,
"scripts": {
"typecheck": "tsc"
"typecheck": "tsc",
"depcheck": "depcheck"
},
"dependencies": {
"@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-react-router-4": "^2.0.0",
"jest": "^26.6.3",
"raf": "^3.4.1",
"react-test-renderer": "^17.0.1"
"raf": "^3.4.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",
"publishConfig": {
"access": "public"
},
"devDependencies": {
"@scm-manager/tsconfig": "^2.13.0",
"@types/enzyme": "^3.10.3",
"@types/jest": "^26.0.24"
}
}
}

View File

@@ -3,16 +3,20 @@
"version": "3.5.1-SNAPSHOT",
"private": true,
"main": "index.ts",
"peerDependencies": {
"@scm-manager/ui-core": "3.5.1-SNAPSHOT"
"scripts": {
"depcheck": "depcheck"
},
"devDependencies": {
"peerDependencies": {
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/prettier-config": "^2.10.1",
"@scm-manager/tsconfig": "^2.13.0"
"@scm-manager/prettier-config": "^2.12.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",
"eslintConfig": {
"extends": "@scm-manager/eslint-config"
}
}
}

View File

@@ -12,11 +12,13 @@
"license": "AGPL-3.0-only",
"scripts": {
"typecheck": "tsc",
"lint": "eslint src"
"lint": "eslint src",
"depcheck": "depcheck"
},
"devDependencies": {
"peerDependencies": {
"@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": {
"presets": [
@@ -30,4 +32,4 @@
"publishConfig": {
"access": "public"
}
}
}

View File

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

992
yarn.lock

File diff suppressed because it is too large Load Diff