Update package names

This commit is contained in:
Darren Clarke 2024-06-05 08:52:41 +02:00
parent 89d229eba9
commit 85a0fc11e5
106 changed files with 1908 additions and 2686 deletions

View file

@ -1,4 +1,4 @@
import { Create } from "bridge-ui"; import { Create } from "@link-stack/bridge-ui";
type PageProps = { type PageProps = {
params: { segment: string[] }; params: { segment: string[] };

View file

@ -1,5 +1,5 @@
import { db } from "bridge-common"; import { db } from "@link-stack/bridge-common";
import { serviceConfig, Detail } from "bridge-ui"; import { serviceConfig, Detail } from "@link-stack/bridge-ui";
type Props = { type Props = {
params: { segment: string[] }; params: { segment: string[] };

View file

@ -1,5 +1,5 @@
import { db } from "bridge-common"; import { db } from "@link-stack/bridge-common";
import { serviceConfig, Edit } from "bridge-ui"; import { serviceConfig, Edit } from "@link-stack/bridge-ui";
type PageProps = { type PageProps = {
params: { segment: string[] }; params: { segment: string[] };

View file

@ -1,3 +1,3 @@
import { ServiceLayout } from "bridge-ui"; import { ServiceLayout } from "@link-stack/bridge-ui";
export default ServiceLayout; export default ServiceLayout;

View file

@ -1,5 +1,5 @@
import { db } from "bridge-common"; import { db } from "@link-stack/bridge-common";
import { serviceConfig, List } from "bridge-ui"; import { serviceConfig, List } from "@link-stack/bridge-ui";
type PageProps = { type PageProps = {
params: { params: {

View file

@ -1,4 +1,4 @@
import { Home } from "bridge-ui"; import { Home } from "@link-stack/bridge-ui";
export default function Page() { export default function Page() {
return <Home />; return <Home />;

View file

@ -5,7 +5,7 @@ import { Grid } from "@mui/material";
import { CssBaseline } from "@mui/material"; import { CssBaseline } from "@mui/material";
import { SessionProvider } from "next-auth/react"; import { SessionProvider } from "next-auth/react";
import { css, Global } from "@emotion/react"; import { css, Global } from "@emotion/react";
import { fonts } from "ui"; import { fonts } from "@link-stack/ui";
import { Sidebar } from "./Sidebar"; import { Sidebar } from "./Sidebar";
export const InternalLayout: FC<PropsWithChildren> = ({ children }) => { export const InternalLayout: FC<PropsWithChildren> = ({ children }) => {

View file

@ -17,7 +17,7 @@ import {
import { signIn } from "next-auth/react"; import { signIn } from "next-auth/react";
import Image from "next/image"; import Image from "next/image";
import LinkLogo from "@/app/_images/link-logo-small.png"; import LinkLogo from "@/app/_images/link-logo-small.png";
import { colors, fonts } from "ui"; import { colors, fonts } from "@link-stack/ui";
import { useSearchParams } from "next/navigation"; import { useSearchParams } from "next/navigation";
type LoginProps = { type LoginProps = {

View file

@ -24,7 +24,7 @@ import {
import { usePathname } from "next/navigation"; import { usePathname } from "next/navigation";
import Link from "next/link"; import Link from "next/link";
import Image from "next/image"; import Image from "next/image";
import { typography, fonts } from "ui"; import { typography, fonts } from "@link-stack/ui";
import LinkLogo from "@/app/_images/link-logo-small.png"; import LinkLogo from "@/app/_images/link-logo-small.png";
import { useSession, signOut } from "next-auth/react"; import { useSession, signOut } from "next-auth/react";

View file

@ -1,6 +1,6 @@
import GoogleProvider from "next-auth/providers/google"; import GoogleProvider from "next-auth/providers/google";
import { KyselyAdapter } from "@auth/kysely-adapter"; import { KyselyAdapter } from "@auth/kysely-adapter";
import { db } from "bridge-common"; import { db } from "@link-stack/bridge-common";
export const authOptions = { export const authOptions = {
// @ts-ignore // @ts-ignore

View file

@ -1 +1 @@
export { receiveMessage as POST } from "bridge-ui"; export { receiveMessage as POST } from "@link-stack/bridge-ui";

View file

@ -1 +1 @@
export { getBot as GET } from "bridge-ui"; export { getBot as GET } from "@link-stack/bridge-ui";

View file

@ -1 +1 @@
export { sendMessage as POST } from "bridge-ui"; export { sendMessage as POST } from "@link-stack/bridge-ui";

View file

@ -1,3 +1,3 @@
import { handleWebhook } from "bridge-ui"; import { handleWebhook } from "@link-stack/bridge-ui";
export { handleWebhook as GET, handleWebhook as POST }; export { handleWebhook as GET, handleWebhook as POST };

View file

@ -1,6 +1,6 @@
/** @type {import('next').NextConfig} */ /** @type {import('next').NextConfig} */
const nextConfig = { const nextConfig = {
transpilePackages: ["ui", "bridge-common", "bridge-ui"], transpilePackages: ["@link-stack/ui", "@link-stack/bridge-common", "@link-stack/bridge-ui"],
}; };
export default nextConfig; export default nextConfig;

View file

@ -1,5 +1,5 @@
{ {
"name": "bridge-frontend", "name": "@link-stack/bridge-frontend",
"version": "0.1.0", "version": "0.1.0",
"type": "module", "type": "module",
"scripts": { "scripts": {
@ -13,7 +13,7 @@
"migrate:down:one": "tsx database/migrate.ts down:one" "migrate:down:one": "tsx database/migrate.ts down:one"
}, },
"dependencies": { "dependencies": {
"@auth/kysely-adapter": "^1.1.0", "@auth/kysely-adapter": "^1.2.0",
"@emotion/cache": "^11.11.0", "@emotion/cache": "^11.11.0",
"@emotion/react": "^11.11.4", "@emotion/react": "^11.11.4",
"@emotion/styled": "^11.11.5", "@emotion/styled": "^11.11.5",
@ -21,39 +21,38 @@
"@mui/lab": "^5.0.0-alpha.170", "@mui/lab": "^5.0.0-alpha.170",
"@mui/material": "^5", "@mui/material": "^5",
"@mui/material-nextjs": "^5.15.11", "@mui/material-nextjs": "^5.15.11",
"@mui/x-data-grid-pro": "^7.4.0", "@mui/x-data-grid-pro": "^7.6.1",
"@mui/x-date-pickers-pro": "^7.4.0", "@mui/x-date-pickers-pro": "^7.6.1",
"@mui/x-license": "^7.2.0", "@mui/x-license": "^7.6.1",
"bridge-common": "*", "@link-stack/bridge-common": "*",
"bridge-ui": "*", "@link-stack/bridge-ui": "*",
"date-fns": "^3.6.0", "date-fns": "^3.6.0",
"dotenv": "^16.4.5", "dotenv": "^16.4.5",
"graphile-worker": "^0.16.6", "graphile-worker": "^0.16.6",
"kysely": "0.26.1", "kysely": "0.26.1",
"material-ui-popup-state": "^5.1.0", "material-ui-popup-state": "^5.1.2",
"mui-chips-input": "^2.1.4", "mui-chips-input": "^2.1.4",
"next": "14.2.3", "next": "14.2.3",
"next-auth": "^4.24.7", "next-auth": "^4.24.7",
"pg": "^8.11.5", "pg": "^8.12.0",
"react": "18.3.1", "react": "18.3.1",
"react-cookie": "^7.1.4", "react-cookie": "^7.1.4",
"react-digit-input": "^2.1.0", "react-digit-input": "^2.1.0",
"react-dom": "18.3.1", "react-dom": "18.3.1",
"react-qr-code": "^2.0.13", "react-qr-code": "^2.0.14",
"react-timer-hook": "^3.0.7", "react-timer-hook": "^3.0.7",
"sharp": "^0.33.3", "sharp": "^0.33.4",
"tss-react": "^4.9.10", "tss-react": "^4.9.10",
"tsx": "^4.10.2", "tsx": "^4.11.2",
"ui": "*" "@link-stack/ui": "*"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20", "@types/node": "^20",
"@types/pg": "^8.11.6", "@types/pg": "^8.11.6",
"@types/react": "^18", "@types/react": "^18",
"@types/react-dom": "^18", "@types/react-dom": "^18",
"eslint": "^8", "@link-stack/eslint-config": "*",
"eslint-config-next": "14.2.3", "@link-stack/typescript-config": "*",
"ts-config": "*",
"typescript": "^5" "typescript": "^5"
} }
} }

View file

@ -1,5 +1,5 @@
{ {
"name": "bridge-whatsapp", "name": "@link-stack/bridge-whatsapp",
"version": "0.3.0", "version": "0.3.0",
"main": "build/main/index.js", "main": "build/main/index.js",
"author": "Darren Clarke <darren@redaranj.com>", "author": "Darren Clarke <darren@redaranj.com>",
@ -10,15 +10,15 @@
"@hapi/boom": "^10.0.1", "@hapi/boom": "^10.0.1",
"@hapipal/schmervice": "^3.0.0", "@hapipal/schmervice": "^3.0.0",
"@hapipal/toys": "^4.0.0", "@hapipal/toys": "^4.0.0",
"@whiskeysockets/baileys": "^6.7.2", "@whiskeysockets/baileys": "^6.7.4",
"hapi-pino": "^12.1.0" "hapi-pino": "^12.1.0"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "*", "@types/node": "*",
"eslint-config": "*", "@link-stack/eslint-config": "*",
"jest-config": "*", "@link-stack/jest-config": "*",
"ts-config": "*", "@link-stack/typescript-config": "*",
"tsx": "^4.10.2", "tsx": "^4.11.2",
"typescript": "^5.4.5" "typescript": "^5.4.5"
}, },
"scripts": { "scripts": {

View file

@ -1,5 +1,5 @@
{ {
"extends": "ts-config", "extends": "@link-stack/typescript-config",
"compilerOptions": { "compilerOptions": {
"module": "commonjs", "module": "commonjs",
"target": "es2018", "target": "es2018",

View file

@ -1,5 +1,5 @@
{ {
"name": "bridge-worker", "name": "@link-stack/bridge-worker",
"version": "0.2.0", "version": "0.2.0",
"type": "module", "type": "module",
"main": "build/main/index.js", "main": "build/main/index.js",
@ -12,25 +12,25 @@
}, },
"dependencies": { "dependencies": {
"@hapi/wreck": "^18.1.0", "@hapi/wreck": "^18.1.0",
"bridge-common": "*", "@link-stack/bridge-common": "*",
"fluent-ffmpeg": "^2.1.2", "fluent-ffmpeg": "^2.1.3",
"graphile-worker": "^0.16.6", "graphile-worker": "^0.16.6",
"html-to-text": "^9.0.5", "html-to-text": "^9.0.5",
"jest": "^29.7.0", "jest": "^29.7.0",
"kysely": "^0.27.3", "kysely": "^0.27.3",
"pg": "^8.11.5", "pg": "^8.12.0",
"remeda": "^1.61.0", "remeda": "^2.0.4",
"twilio": "^5.0.4" "twilio": "^5.1.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "7.24.5", "@babel/core": "7.24.6",
"@babel/preset-env": "7.24.5", "@babel/preset-env": "7.24.6",
"@babel/preset-typescript": "7.24.1", "@babel/preset-typescript": "7.24.6",
"@types/fluent-ffmpeg": "^2.1.24", "@types/fluent-ffmpeg": "^2.1.24",
"dotenv-cli": "^7.4.2", "dotenv-cli": "^7.4.2",
"eslint": "^9.0.0", "@link-stack/eslint-config": "*",
"prettier": "^3.2.5", "prettier": "^3.3.0",
"ts-config": "*", "@link-stack/typescript-config": "*",
"ts-node": "^10.9.2", "ts-node": "^10.9.2",
"typedoc": "^0.25.13", "typedoc": "^0.25.13",
"typescript": "^5.4.5" "typescript": "^5.4.5"

View file

@ -1,4 +1,4 @@
import { db } from "bridge-common"; import { db } from "@link-stack/bridge-common";
export interface NotifyWebhooksOptions { export interface NotifyWebhooksOptions {
backendId: string; backendId: string;

View file

@ -1,4 +1,4 @@
import { db, getWorkerUtils } from "bridge-common"; import { db, getWorkerUtils } from "@link-stack/bridge-common";
interface ReceiveFacebookMessageTaskOptions { interface ReceiveFacebookMessageTaskOptions {
message: any; message: any;

View file

@ -1,4 +1,4 @@
import { db } from "bridge-common"; import { db } from "@link-stack/bridge-common";
interface SendFacebookMessageTaskOptions { interface SendFacebookMessageTaskOptions {
token: string; token: string;

View file

@ -1,4 +1,4 @@
// import { db, getWorkerUtils } from "bridge-common"; // import { db, getWorkerUtils } from "@link-stack/bridge-common";
interface ReceiveSignalMessageTaskOptions { interface ReceiveSignalMessageTaskOptions {
message: any; message: any;

View file

@ -1,4 +1,4 @@
// import { db, getWorkerUtils } from "bridge-common"; // import { db, getWorkerUtils } from "@link-stack/bridge-common";
interface SendSignalMessageTaskOptions { interface SendSignalMessageTaskOptions {
message: any; message: any;

View file

@ -1,4 +1,4 @@
// import { db, getWorkerUtils } from "bridge-common"; // import { db, getWorkerUtils } from "@link-stack/bridge-common";
interface ReceiveVoiceMessageTaskOptions { interface ReceiveVoiceMessageTaskOptions {
message: any; message: any;

View file

@ -1,4 +1,4 @@
// import { db, getWorkerUtils } from "bridge-common"; // import { db, getWorkerUtils } from "@link-stack/bridge-common";
interface SendVoiceMessageTaskOptions { interface SendVoiceMessageTaskOptions {
message: any; message: any;

View file

@ -1,4 +1,4 @@
import { db, getWorkerUtils } from "bridge-common"; import { db, getWorkerUtils } from "@link-stack/bridge-common";
interface ReceiveWhatsappMessageTaskOptions { interface ReceiveWhatsappMessageTaskOptions {
token: string; token: string;

View file

@ -1,4 +1,4 @@
import { db } from "bridge-common"; import { db } from "@link-stack/bridge-common";
interface SendWhatsappMessageTaskOptions { interface SendWhatsappMessageTaskOptions {
token: string; token: string;

View file

@ -1,5 +1,5 @@
{ {
"extends": "ts-config", "extends": "@link-stack/typescript-config",
"compilerOptions": { "compilerOptions": {
"outDir": "build/main", "outDir": "build/main",
"module": "esnext", "module": "esnext",

View file

@ -9,7 +9,7 @@ import { useTranslate } from "react-polyglot";
import { LanguageSelect } from "app/_components/LanguageSelect"; import { LanguageSelect } from "app/_components/LanguageSelect";
import LeafcutterLogoLarge from "images/leafcutter-logo-large.png"; import LeafcutterLogoLarge from "images/leafcutter-logo-large.png";
import { signIn } from "next-auth/react"; import { signIn } from "next-auth/react";
import { useLeafcutterContext } from "leafcutter-ui"; import { useLeafcutterContext } from "@link-stack/leafcutter-ui";
type LoginProps = { type LoginProps = {
session: any; session: any;

View file

@ -1,4 +1,4 @@
import { About } from "leafcutter-ui"; import { About } from "@link-stack/leafcutter-ui";
export default function Page() { export default function Page() {
return <About />; return <About />;

View file

@ -1,5 +1,5 @@
import { getTemplates } from "app/_lib/opensearch"; import { getTemplates } from "app/_lib/opensearch";
import { Create } from "leafcutter-ui"; import { Create } from "@link-stack/leafcutter-ui";
export default async function Page() { export default async function Page() {
const templates = await getTemplates(100); const templates = await getTemplates(100);

View file

@ -1,4 +1,4 @@
import { FAQ } from "leafcutter-ui"; import { FAQ } from "@link-stack/leafcutter-ui";
export default function Page() { export default function Page() {
return <FAQ />; return <FAQ />;

View file

@ -1,7 +1,7 @@
import { getServerSession } from "next-auth"; import { getServerSession } from "next-auth";
import { authOptions } from "app/_lib/auth"; import { authOptions } from "app/_lib/auth";
import { getUserVisualizations } from "app/_lib/opensearch"; import { getUserVisualizations } from "app/_lib/opensearch";
import { Home } from "leafcutter-ui"; import { Home } from "@link-stack/leafcutter-ui";
export default async function Page() { export default async function Page() {
const session = await getServerSession(authOptions); const session = await getServerSession(authOptions);

View file

@ -1,6 +1,6 @@
/* eslint-disable no-underscore-dangle */ /* eslint-disable no-underscore-dangle */
// import { Client } from "@opensearch-project/opensearch"; // import { Client } from "@opensearch-project/opensearch";
import { Preview } from "leafcutter-ui"; import { Preview } from "@link-stack/leafcutter-ui";
// import { createVisualization } from "lib/opensearch"; // import { createVisualization } from "lib/opensearch";
export default function Page() { export default function Page() {

View file

@ -5,7 +5,7 @@ import { useLayoutEffect } from "react";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import { Grid, CircularProgress } from "@mui/material"; import { Grid, CircularProgress } from "@mui/material";
import Iframe from "react-iframe"; import Iframe from "react-iframe";
import { useLeafcutterContext } from "leafcutter-ui/components/LeafcutterProvider"; import { useLeafcutterContext } from "@link-stack/leafcutter-ui/components/LeafcutterProvider";
export const Setup: FC = () => { export const Setup: FC = () => {
const { const {

View file

@ -1,5 +1,5 @@
import { getTrends } from "app/_lib/opensearch"; import { getTrends } from "app/_lib/opensearch";
import { Trends } from "leafcutter-ui"; import { Trends } from "@link-stack/leafcutter-ui";
export default async function Page() { export default async function Page() {
const visualizations = await getTrends(25); const visualizations = await getTrends(25);

View file

@ -1,6 +1,6 @@
/* eslint-disable no-underscore-dangle */ /* eslint-disable no-underscore-dangle */
import { Client } from "@opensearch-project/opensearch"; import { Client } from "@opensearch-project/opensearch";
import { VisualizationDetail } from "leafcutter-ui"; import { VisualizationDetail } from "@link-stack/leafcutter-ui";
const getVisualization = async (visualizationID: string) => { const getVisualization = async (visualizationID: string) => {
const node = `https://${process.env.OPENSEARCH_USERNAME}:${process.env.OPENSEARCH_PASSWORD}@${process.env.OPENSEARCH_URL}`; const node = `https://${process.env.OPENSEARCH_USERNAME}:${process.env.OPENSEARCH_PASSWORD}@${process.env.OPENSEARCH_URL}`;

View file

@ -11,7 +11,7 @@ import {
bindTrigger, bindTrigger,
bindMenu, bindMenu,
} from "material-ui-popup-state/hooks"; } from "material-ui-popup-state/hooks";
import { useLeafcutterContext } from "leafcutter-ui/components/LeafcutterProvider"; import { useLeafcutterContext } from "@link-stack/leafcutter-ui/components/LeafcutterProvider";
export const AccountButton: FC = () => { export const AccountButton: FC = () => {
const t = useTranslate(); const t = useTranslate();

View file

@ -8,7 +8,7 @@ import {
useState, useState,
PropsWithChildren, PropsWithChildren,
} from "react"; } from "react";
import { colors, typography } from "leafcutter-ui/styles/theme"; import { colors, typography } from "@link-stack/leafcutter-ui/styles/theme";
const basePath = process.env.GITLAB_CI const basePath = process.env.GITLAB_CI
? "/link/link-stack/apps/leafcutter" ? "/link/link-stack/apps/leafcutter"

View file

@ -4,7 +4,7 @@ import { FC, useState } from "react";
import { useRouter, usePathname } from "next/navigation"; import { useRouter, usePathname } from "next/navigation";
import { Button } from "@mui/material"; import { Button } from "@mui/material";
import { QuestionMark as QuestionMarkIcon } from "@mui/icons-material"; import { QuestionMark as QuestionMarkIcon } from "@mui/icons-material";
import { useLeafcutterContext } from "leafcutter-ui/components/LeafcutterProvider"; import { useLeafcutterContext } from "@link-stack/leafcutter-ui/components/LeafcutterProvider";
export const HelpButton: FC = () => { export const HelpButton: FC = () => {
const router = useRouter(); const router = useRouter();

View file

@ -7,8 +7,8 @@ import CookieConsent from "react-cookie-consent";
import { useCookies } from "react-cookie"; import { useCookies } from "react-cookie";
import { TopNav } from "./TopNav"; import { TopNav } from "./TopNav";
import { Sidebar } from "./Sidebar"; import { Sidebar } from "./Sidebar";
import { GettingStartedDialog } from "leafcutter-ui"; import { GettingStartedDialog } from "@link-stack/leafcutter-ui";
import { useLeafcutterContext } from "leafcutter-ui/components/LeafcutterProvider"; import { useLeafcutterContext } from "@link-stack/leafcutter-ui/components/LeafcutterProvider";
// import { Footer } from "./Footer"; // import { Footer } from "./Footer";
type LayoutProps = PropsWithChildren<{ type LayoutProps = PropsWithChildren<{

View file

@ -8,7 +8,7 @@ import {
bindTrigger, bindTrigger,
bindMenu, bindMenu,
} from "material-ui-popup-state/hooks"; } from "material-ui-popup-state/hooks";
import { useLeafcutterContext } from "leafcutter-ui/components/LeafcutterProvider"; import { useLeafcutterContext } from "@link-stack/leafcutter-ui/components/LeafcutterProvider";
// import { Tooltip } from "./Tooltip"; // import { Tooltip } from "./Tooltip";
export const LanguageSelect = () => { export const LanguageSelect = () => {

View file

@ -8,10 +8,10 @@ import { CookiesProvider } from "react-cookie";
import { I18n } from "react-polyglot"; import { I18n } from "react-polyglot";
import { AdapterDateFns } from "@mui/x-date-pickers-pro/AdapterDateFnsV3"; import { AdapterDateFns } from "@mui/x-date-pickers-pro/AdapterDateFnsV3";
import { LocalizationProvider } from "@mui/x-date-pickers-pro"; import { LocalizationProvider } from "@mui/x-date-pickers-pro";
import { LeafcutterProvider } from "leafcutter-ui/components/LeafcutterProvider"; import { LeafcutterProvider } from "@link-stack/leafcutter-ui/components/LeafcutterProvider";
import { NextAppDirEmotionCacheProvider } from "tss-react/next/appDir"; import { NextAppDirEmotionCacheProvider } from "tss-react/next/appDir";
import en from "leafcutter-ui/locales/en.json"; import en from "@link-stack/leafcutter-ui/locales/en.json";
import fr from "leafcutter-ui/locales/fr.json"; import fr from "@link-stack/leafcutter-ui/locales/fr.json";
import { LicenseInfo } from "@mui/x-license"; import { LicenseInfo } from "@mui/x-license";
LicenseInfo.setLicenseKey( LicenseInfo.setLicenseKey(

View file

@ -20,8 +20,8 @@ import {
import Link from "next/link"; import Link from "next/link";
import { usePathname } from "next/navigation"; import { usePathname } from "next/navigation";
import { useTranslate } from "react-polyglot"; import { useTranslate } from "react-polyglot";
import { useLeafcutterContext } from "leafcutter-ui/components/LeafcutterProvider"; import { useLeafcutterContext } from "@link-stack/leafcutter-ui/components/LeafcutterProvider";
import { Tooltip } from "leafcutter-ui"; import { Tooltip } from "@link-stack/leafcutter-ui";
// import { ArrowCircleRight as ArrowCircleRightIcon } from "@mui/icons-material"; // import { ArrowCircleRight as ArrowCircleRightIcon } from "@mui/icons-material";
const MenuItem = ({ const MenuItem = ({

View file

@ -8,8 +8,8 @@ import { useTranslate } from "react-polyglot";
import LeafcutterLogo from "images/leafcutter-logo.png"; import LeafcutterLogo from "images/leafcutter-logo.png";
import { AccountButton } from "./AccountButton"; import { AccountButton } from "./AccountButton";
import { HelpButton } from "./HelpButton"; import { HelpButton } from "./HelpButton";
import { Tooltip } from "leafcutter-ui"; import { Tooltip } from "@link-stack/leafcutter-ui";
import { useLeafcutterContext } from "leafcutter-ui/components/LeafcutterProvider"; import { useLeafcutterContext } from "@link-stack/leafcutter-ui/components/LeafcutterProvider";
// import { LanguageSelect } from "./LanguageSelect"; // import { LanguageSelect } from "./LanguageSelect";
export const TopNav: FC = () => { export const TopNav: FC = () => {

View file

@ -7,7 +7,7 @@ const ContentSecurityPolicy = `
`; `;
module.exports = { module.exports = {
transpilePackages: ["leafcutter-ui", "opensearch-common"], transpilePackages: ["@link-stack/leafcutter-ui", "@link-stack/opensearch-common"],
experimental: { experimental: {
missingSuspenseWithCSRBailout: false, missingSuspenseWithCSRBailout: false,
}, },

View file

@ -1,5 +1,5 @@
{ {
"name": "leafcutter", "name": "@link-stack/leafcutter",
"version": "0.2.0", "version": "0.2.0",
"scripts": { "scripts": {
"dev": "next dev -p 3001", "dev": "next dev -p 3001",
@ -20,18 +20,18 @@
"@mui/icons-material": "^5", "@mui/icons-material": "^5",
"@mui/lab": "^5.0.0-alpha.170", "@mui/lab": "^5.0.0-alpha.170",
"@mui/material": "^5", "@mui/material": "^5",
"@mui/x-data-grid-pro": "^7.4.0", "@mui/x-data-grid-pro": "^7.6.1",
"@mui/x-date-pickers-pro": "^7.4.0", "@mui/x-date-pickers-pro": "^7.6.1",
"@opensearch-project/opensearch": "^2.8.0", "@opensearch-project/opensearch": "^2.9.0",
"cryptr": "^6.3.0", "cryptr": "^6.3.0",
"date-fns": "^3.6.0", "date-fns": "^3.6.0",
"http-proxy-middleware": "^3.0.0", "http-proxy-middleware": "^3.0.0",
"leafcutter-ui": "*", "@link-stack/leafcutter-ui": "*",
"material-ui-popup-state": "^5.1.0", "material-ui-popup-state": "^5.1.2",
"next": "14.2.3", "next": "14.2.3",
"next-auth": "^4.24.7", "next-auth": "^4.24.7",
"next-http-proxy-middleware": "^1.2.6", "next-http-proxy-middleware": "^1.2.6",
"opensearch-common": "*", "@link-stack/opensearch-common": "*",
"nodemailer": "^6.9.13", "nodemailer": "^6.9.13",
"react": "18.3.1", "react": "18.3.1",
"react-cookie": "^7.1.4", "react-cookie": "^7.1.4",
@ -40,15 +40,15 @@
"react-iframe": "^1.8.5", "react-iframe": "^1.8.5",
"react-markdown": "^9.0.1", "react-markdown": "^9.0.1",
"react-polyglot": "^0.7.2", "react-polyglot": "^0.7.2",
"sharp": "^0.33.3", "sharp": "^0.33.4",
"swr": "^2.2.5", "swr": "^2.2.5",
"tss-react": "^4.9.10", "tss-react": "^4.9.10",
"uuid": "^9.0.1" "uuid": "^9.0.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.24.5", "@babel/core": "^7.24.6",
"@types/node": "^20.12.12", "@types/node": "^20.14.1",
"@types/react": "18.3.2", "@types/react": "18.3.3",
"@types/uuid": "^9.0.8", "@types/uuid": "^9.0.8",
"babel-loader": "^9.1.3", "babel-loader": "^9.1.3",
"eslint": "^8.0.0", "eslint": "^8.0.0",
@ -57,7 +57,7 @@
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-prettier": "^5.1.3", "eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-react": "^7.34.1", "eslint-plugin-react": "^7.34.2",
"typescript": "5.4.5" "typescript": "5.4.5"
} }
} }

View file

@ -17,7 +17,7 @@ import {
import { signIn } from "next-auth/react"; import { signIn } from "next-auth/react";
import Image from "next/image"; import Image from "next/image";
import LinkLogo from "public/link-logo-small.png"; import LinkLogo from "public/link-logo-small.png";
import { colors, fonts } from "ui"; import { colors, fonts } from "@link-stack/ui";
import { useSearchParams } from "next/navigation"; import { useSearchParams } from "next/navigation";
type LoginProps = { type LoginProps = {

View file

@ -1,7 +1,7 @@
"use client"; "use client";
import { FC } from "react"; import { FC } from "react";
import { OpenSearchWrapper } from "leafcutter-ui"; import { OpenSearchWrapper } from "@link-stack/leafcutter-ui";
export const Home: FC = () => ( export const Home: FC = () => (
<OpenSearchWrapper url="/app/visualize#/edit/237b8f00-e6a0-11ee-94b3-d7b7409294e7?embed=true" marginTop="0" <OpenSearchWrapper url="/app/visualize#/edit/237b8f00-e6a0-11ee-94b3-d7b7409294e7?embed=true" marginTop="0"

View file

@ -3,7 +3,7 @@ import { usePathname, useRouter } from "next/navigation";
import useSWR from "swr"; import useSWR from "swr";
import { Grid, Box, TextField, Autocomplete } from "@mui/material"; import { Grid, Box, TextField, Autocomplete } from "@mui/material";
import { searchQuery } from "@/app/_graphql/searchQuery"; import { searchQuery } from "@/app/_graphql/searchQuery";
import { colors } from "ui"; import { colors } from "@link-stack/ui";
type SearchResultProps = { type SearchResultProps = {
props: any; props: any;

View file

@ -35,7 +35,7 @@ import LinkLogo from "public/link-logo-small.png";
import { useSession, signOut } from "next-auth/react"; import { useSession, signOut } from "next-auth/react";
import { getTicketOverviewCountsQuery } from "app/_graphql/getTicketOverviewCountsQuery"; import { getTicketOverviewCountsQuery } from "app/_graphql/getTicketOverviewCountsQuery";
import { SearchBox } from "./SearchBox"; import { SearchBox } from "./SearchBox";
import { fonts } from "ui"; import { fonts } from "@link-stack/ui";
const openWidth = 270; const openWidth = 270;
const closedWidth = 70; const closedWidth = 70;

View file

@ -1,4 +1,4 @@
import { Create } from "bridge-ui"; import { Create } from "@link-stack/bridge-ui";
type PageProps = { type PageProps = {
params: { segment: string[] }; params: { segment: string[] };

View file

@ -1,5 +1,5 @@
import { db } from "bridge-common"; import { db } from "@link-stack/bridge-common";
import { serviceConfig, Detail } from "bridge-ui"; import { serviceConfig, Detail } from "@link-stack/bridge-ui";
type Props = { type Props = {
params: { segment: string[] }; params: { segment: string[] };

View file

@ -1,5 +1,5 @@
import { db } from "bridge-common"; import { db } from "@link-stack/bridge-common";
import { serviceConfig, Edit } from "bridge-ui"; import { serviceConfig, Edit } from "@link-stack/bridge-ui";
type PageProps = { type PageProps = {
params: { segment: string[] }; params: { segment: string[] };

View file

@ -1,3 +1,3 @@
import { ServiceLayout } from "bridge-ui"; import { ServiceLayout } from "@link-stack/bridge-ui";
export default ServiceLayout; export default ServiceLayout;

View file

@ -1,5 +1,5 @@
import { db } from "bridge-common"; import { db } from "@link-stack/bridge-common";
import { serviceConfig, List } from "bridge-ui"; import { serviceConfig, List } from "@link-stack/bridge-ui";
type PageProps = { type PageProps = {
params: { params: {

View file

@ -1,4 +1,4 @@
import { Home } from "bridge-ui"; import { Home } from "@link-stack/bridge-ui";
export default function Page() { export default function Page() {
return <Home />; return <Home />;

View file

@ -1,4 +1,4 @@
import { About } from "leafcutter-ui"; import { About } from "@link-stack/leafcutter-ui";
export default function Page() { export default function Page() {
return <About />; return <About />;

View file

@ -1,5 +1,5 @@
import { getTemplates } from "opensearch-common"; import { getTemplates } from "@link-stack/opensearch-common";
import { Create } from "leafcutter-ui"; import { Create } from "@link-stack/leafcutter-ui";
export const dynamic = "force-dynamic"; export const dynamic = "force-dynamic";

View file

@ -1,4 +1,4 @@
import { FAQ } from "leafcutter-ui"; import { FAQ } from "@link-stack/leafcutter-ui";
export default function Page() { export default function Page() {
return <FAQ />; return <FAQ />;

View file

@ -1,5 +1,5 @@
import { ReactNode } from "react"; import { ReactNode } from "react";
import { LeafcutterWrapper } from "leafcutter-ui"; import { LeafcutterWrapper } from "@link-stack/leafcutter-ui";
type LayoutProps = { type LayoutProps = {
children: ReactNode; children: ReactNode;

View file

@ -1,4 +1,4 @@
import { Home, LeafcutterWrapper } from "leafcutter-ui"; import { Home, LeafcutterWrapper } from "@link-stack/leafcutter-ui";
export const dynamic = "force-dynamic"; export const dynamic = "force-dynamic";

View file

@ -1,4 +1,4 @@
import { Trends } from "leafcutter-ui"; import { Trends } from "@link-stack/leafcutter-ui";
export const dynamic = "force-dynamic"; export const dynamic = "force-dynamic";

View file

@ -3,7 +3,7 @@
import { FC } from "react"; import { FC } from "react";
import { useFormState } from "react-dom"; import { useFormState } from "react-dom";
import { Grid } from "@mui/material"; import { Grid } from "@mui/material";
import { Dialog, Button, TextField, Autocomplete } from "ui"; import { Dialog, Button, TextField, Autocomplete } from "@link-stack/ui";
import { createTicketAction } from "app/_actions/tickets"; import { createTicketAction } from "app/_actions/tickets";
import useSWR from "swr"; import useSWR from "swr";

View file

@ -4,7 +4,7 @@ import { FC, useState } from "react";
import { Grid, Box } from "@mui/material"; import { Grid, Box } from "@mui/material";
import { GridColDef } from "@mui/x-data-grid-pro"; import { GridColDef } from "@mui/x-data-grid-pro";
import { StyledDataGrid } from "app/(main)/_components/StyledDataGrid"; import { StyledDataGrid } from "app/(main)/_components/StyledDataGrid";
import { Button, List, typography } from "ui"; import { Button, List, typography } from "@link-stack/ui";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import { TicketCreateDialog } from "./TicketCreateDialog"; import { TicketCreateDialog } from "./TicketCreateDialog";

View file

@ -1,8 +1,8 @@
import { Metadata } from "next"; import { Metadata } from "next";
import { getServerSession } from "app/_lib/authentication"; import { getServerSession } from "app/_lib/authentication";
import { Home } from "leafcutter-ui"; import { Home } from "@link-stack/leafcutter-ui";
import { getUserVisualizations } from "opensearch-common"; import { getUserVisualizations } from "@link-stack/opensearch-common";
import { LeafcutterWrapper } from "leafcutter-ui"; import { LeafcutterWrapper } from "@link-stack/leafcutter-ui";
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Link", title: "Link",

View file

@ -5,7 +5,7 @@ import useSWR from "swr";
import { getTicketQuery } from "app/_graphql/getTicketQuery"; import { getTicketQuery } from "app/_graphql/getTicketQuery";
import { getTicketArticlesQuery } from "app/_graphql/getTicketArticlesQuery"; import { getTicketArticlesQuery } from "app/_graphql/getTicketArticlesQuery";
import { Grid, Box, Typography } from "@mui/material"; import { Grid, Box, Typography } from "@mui/material";
import { Button, fonts, colors } from "ui"; import { Button, fonts, colors } from "@link-stack/ui";
import "@chatscope/chat-ui-kit-styles/dist/default/styles.min.css"; import "@chatscope/chat-ui-kit-styles/dist/default/styles.min.css";
import { import {

View file

@ -3,7 +3,7 @@
import { FC, useEffect, useState } from "react"; import { FC, useEffect, useState } from "react";
import { Grid, Box, MenuItem } from "@mui/material"; import { Grid, Box, MenuItem } from "@mui/material";
import { useFormState } from "react-dom"; import { useFormState } from "react-dom";
import { Select, Button } from "ui"; import { Select, Button } from "@link-stack/ui";
import { MuiChipsInput } from "mui-chips-input"; import { MuiChipsInput } from "mui-chips-input";
import useSWR, { useSWRConfig } from "swr"; import useSWR, { useSWRConfig } from "swr";
import { getTicketQuery } from "app/_graphql/getTicketQuery"; import { getTicketQuery } from "app/_graphql/getTicketQuery";

View file

@ -11,7 +11,7 @@ import { I18n } from "react-polyglot";
import { AdapterDateFns } from "@mui/x-date-pickers-pro/AdapterDateFnsV3"; import { AdapterDateFns } from "@mui/x-date-pickers-pro/AdapterDateFnsV3";
import { LocalizationProvider } from "@mui/x-date-pickers-pro"; import { LocalizationProvider } from "@mui/x-date-pickers-pro";
import { LicenseInfo } from "@mui/x-license"; import { LicenseInfo } from "@mui/x-license";
import { locales, LeafcutterProvider } from "leafcutter-ui"; import { locales, LeafcutterProvider } from "@link-stack/leafcutter-ui";
LicenseInfo.setLicenseKey( LicenseInfo.setLicenseKey(
"c787ac6613c5f2aa0494c4285fe3e9f2Tz04OTY1NyxFPTE3NDYzNDE0ODkwMDAsUz1wcm8sTE09c3Vic2NyaXB0aW9uLEtWPTI=", "c787ac6613c5f2aa0494c4285fe3e9f2Tz04OTY1NyxFPTE3NDYzNDE0ODkwMDAsUz1wcm8sTE09c3Vic2NyaXB0aW9uLEtWPTI=",

View file

@ -4,11 +4,11 @@ const nextConfig = {
missingSuspenseWithCSRBailout: false, missingSuspenseWithCSRBailout: false,
}, },
transpilePackages: [ transpilePackages: [
"leafcutter-ui", "@link-stack/leafcutter-ui",
"opensearch-common", "@link-stack/opensearch-common",
"ui", "@link-stack/ui",
"bridge-common", "@link-stack/bridge-common",
"bridge-ui", "@link-stack/bridge-ui",
], ],
publicRuntimeConfig: { publicRuntimeConfig: {
linkURL: process.env.LINK_URL ?? "http://localhost:3000", linkURL: process.env.LINK_URL ?? "http://localhost:3000",

View file

@ -1,5 +1,5 @@
{ {
"name": "link", "name": "@link-stack/link",
"version": "0.0.1", "version": "0.0.1",
"type": "module", "type": "module",
"scripts": { "scripts": {
@ -19,34 +19,34 @@
"@mui/icons-material": "^5", "@mui/icons-material": "^5",
"@mui/lab": "^5.0.0-alpha.170", "@mui/lab": "^5.0.0-alpha.170",
"@mui/material": "^5", "@mui/material": "^5",
"@mui/x-data-grid-pro": "^7.4.0", "@mui/x-data-grid-pro": "^7.6.1",
"@mui/x-date-pickers-pro": "^7.4.0", "@mui/x-date-pickers-pro": "^7.6.1",
"bridge-common": "*", "@link-stack/bridge-common": "*",
"bridge-ui": "*", "@link-stack/bridge-ui": "*",
"date-fns": "^3.6.0", "date-fns": "^3.6.0",
"graphql": "^16.8.1", "graphql": "^16.8.1",
"graphql-request": "^7.0.1", "graphql-request": "^7.0.1",
"leafcutter-ui": "*", "@link-stack/leafcutter-ui": "*",
"material-ui-popup-state": "^5.1.0", "material-ui-popup-state": "^5.1.2",
"mui-chips-input": "^2.1.4", "mui-chips-input": "^2.1.4",
"next": "14.2.3", "next": "14.2.3",
"next-auth": "^4.24.7", "next-auth": "^4.24.7",
"opensearch-common": "*", "@link-stack/opensearch-common": "*",
"react": "18.3.1", "react": "18.3.1",
"react-cookie": "^7.1.4", "react-cookie": "^7.1.4",
"react-dom": "18.3.1", "react-dom": "18.3.1",
"react-iframe": "^1.8.5", "react-iframe": "^1.8.5",
"react-polyglot": "^0.7.2", "react-polyglot": "^0.7.2",
"sharp": "^0.33.3", "sharp": "^0.33.4",
"swr": "^2.2.5", "swr": "^2.2.5",
"tss-react": "^4.9.10", "tss-react": "^4.9.10",
"twilio-client": "^1.15.1", "twilio-client": "^1.15.1",
"ui": "*" "@link-stack/ui": "*"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.24.5", "@babel/core": "^7.24.6",
"@types/node": "^20.12.12", "@types/node": "^20.14.1",
"@types/react": "18.3.2", "@types/react": "18.3.3",
"@types/uuid": "^9.0.8", "@types/uuid": "^9.0.8",
"babel-loader": "^9.1.3", "babel-loader": "^9.1.3",
"eslint": "^8.0.0", "eslint": "^8.0.0",
@ -55,7 +55,7 @@
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-prettier": "^5.1.3", "eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-react": "^7.34.1", "eslint-plugin-react": "^7.34.2",
"typescript": "5.4.5" "typescript": "5.4.5"
} }
} }

View file

@ -1,5 +1,5 @@
{ {
"name": "database", "name": "@link-stack/database",
"version": "1.0.0", "version": "1.0.0",
"description": "", "description": "",
"main": "index.js", "main": "index.js",

4091
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,16 +1,16 @@
{ {
"name": "link-stack", "name": "@link-stack",
"version": "2.2.0", "version": "2.2.0",
"description": "Link from the Center for Digital Resilience", "description": "Link from the Center for Digital Resilience",
"scripts": { "scripts": {
"dev": "dotenv -- turbo dev", "dev": "dotenv turbo dev",
"build": "turbo build", "build": "dotenv turbo build",
"migrate": "dotenv -- npm run migrate --workspace=database", "migrate": "dotenv -- npm run migrate --workspace=database",
"fmt": "turbo run fmt", "lint": "dotenv turbo lint",
"upgrade:setup": "npm i -g npm-check-updates", "upgrade:setup": "npm i -g npm-check-updates",
"upgrade:check": "ncu && ncu -ws", "upgrade:check": "ncu && ncu -ws",
"upgrade:all": "ncu -u -x eslint -x kysely && ncu -ws -u -x eslint -x kysely && npm i", "upgrade:all": "ncu -u -x eslint -x kysely && ncu -ws -u -x eslint -x kysely && npm i",
"clean": "rm -f package-lock.json && rm -rf node_modules && rm -rf .turbo && rm -rf apps/*/node_modules && rm -rf packages/*/node_modules && rm -rf apps/*/.next && rm -rf packages/*/.turbo && rm -rf apps/*/.turbo && rm -rf docker/zammad/addons/*", "clean": "rm -f package-lock.json && rm -rf node_modules && rm -rf .turbo && rm -rf apps/*/node_modules && rm -rf apps/*/package-lock.json && rm -rf apps/*/.next && rm -rf packages/*/node_modules && rm -rf apps/*/.next && rm -rf packages/*/.turbo && rm -rf packages/*/build && rm -rf docker/zammad/addons/*",
"docker:all:up": "node docker/scripts/docker.js all up", "docker:all:up": "node docker/scripts/docker.js all up",
"docker:all:down": "node docker/scripts/docker.js all down", "docker:all:down": "node docker/scripts/docker.js all down",
"docker:all:build": "node docker/scripts/docker.js all build", "docker:all:build": "node docker/scripts/docker.js all build",

View file

@ -1,5 +1,5 @@
{ {
"name": "bridge-common", "name": "@link-stack/bridge-common",
"version": "1.0.0", "version": "1.0.0",
"main": "build/main/index.js", "main": "build/main/index.js",
"type": "module", "type": "module",
@ -9,19 +9,18 @@
"build": "tsc -p tsconfig.json" "build": "tsc -p tsconfig.json"
}, },
"dependencies": { "dependencies": {
"@auth/kysely-adapter": "^1.1.0", "@auth/kysely-adapter": "^1.2.0",
"graphile-worker": "^0.16.6", "graphile-worker": "^0.16.6",
"kysely": "0.26.1", "kysely": "0.26.1",
"pg": "^8.11.5" "pg": "^8.12.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "7.24.5", "@babel/core": "7.24.6",
"@babel/preset-env": "7.24.5", "@babel/preset-env": "7.24.6",
"@babel/preset-typescript": "7.24.1", "@babel/preset-typescript": "7.24.6",
"eslint": "^9.0.0", "prettier": "^3.3.0",
"prettier": "^3.2.5", "@link-stack/typescript-config": "*",
"ts-config": "*", "tsx": "^4.11.2",
"tsx": "^4.10.2",
"typescript": "^5.4.5" "typescript": "^5.4.5"
} }
} }

View file

@ -1,5 +1,5 @@
{ {
"extends": "ts-config", "extends": "@link-stack/typescript-config",
"compilerOptions": { "compilerOptions": {
"outDir": "build/main", "outDir": "build/main",
"module": "esnext", "module": "esnext",

View file

@ -1,7 +1,7 @@
"use server"; "use server";
import { revalidatePath } from "next/cache"; import { revalidatePath } from "next/cache";
import { db, Database } from "bridge-common"; import { db, Database } from "@link-stack/bridge-common";
import { FieldDescription, Entity } from "../lib/service"; import { FieldDescription, Entity } from "../lib/service";
import crypto from "crypto"; import crypto from "crypto";

View file

@ -4,7 +4,13 @@ import { FC, useEffect, useState } from "react";
import { useFormState } from "react-dom"; import { useFormState } from "react-dom";
import { Grid } from "@mui/material"; import { Grid } from "@mui/material";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import { Button, Dialog, TextField, Select, MultiValueField } from "ui"; import {
Button,
Dialog,
TextField,
Select,
MultiValueField,
} from "@link-stack/ui";
import { generateCreateAction } from "../lib/actions"; import { generateCreateAction } from "../lib/actions";
import { FieldDescription } from "../lib/service"; import { FieldDescription } from "../lib/service";
import { serviceConfig } from "../config/config"; import { serviceConfig } from "../config/config";

View file

@ -3,9 +3,15 @@
import { FC, useState } from "react"; import { FC, useState } from "react";
import { Grid, Box } from "@mui/material"; import { Grid, Box } from "@mui/material";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import { DisplayTextField, Button, Dialog, colors, typography } from "ui"; import {
DisplayTextField,
Button,
Dialog,
colors,
typography,
} from "@link-stack/ui";
import { Selectable } from "kysely"; import { Selectable } from "kysely";
import { type Database } from "bridge-common"; import { type Database } from "@link-stack/bridge-common";
import { QRCode } from "./QRCode"; import { QRCode } from "./QRCode";
import { generateDeleteAction } from "../lib/actions"; import { generateDeleteAction } from "../lib/actions";
import { serviceConfig } from "../config/config"; import { serviceConfig } from "../config/config";

View file

@ -4,9 +4,15 @@ import { FC, useEffect, useState } from "react";
import { useFormState } from "react-dom"; import { useFormState } from "react-dom";
import { Grid } from "@mui/material"; import { Grid } from "@mui/material";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import { TextField, Dialog, Button, Select, MultiValueField } from "ui"; import {
TextField,
Dialog,
Button,
Select,
MultiValueField,
} from "@link-stack/ui";
import { Selectable } from "kysely"; import { Selectable } from "kysely";
import { type Database } from "bridge-common"; import { type Database } from "@link-stack/bridge-common";
import { generateUpdateAction } from "../lib/actions"; import { generateUpdateAction } from "../lib/actions";
import { serviceConfig } from "../config/config"; import { serviceConfig } from "../config/config";
import { FieldDescription } from "../lib/service"; import { FieldDescription } from "../lib/service";

View file

@ -2,9 +2,9 @@
import { FC } from "react"; import { FC } from "react";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import { List as InternalList, Button } from "ui"; import { List as InternalList, Button } from "@link-stack/ui";
import { type Selectable } from "kysely"; import { type Selectable } from "kysely";
import { type Database } from "bridge-common"; import { type Database } from "@link-stack/bridge-common";
import { serviceConfig } from "../config/config"; import { serviceConfig } from "../config/config";
import { getBasePath } from "../lib/frontendUtils"; import { getBasePath } from "../lib/frontendUtils";

View file

@ -1,4 +1,4 @@
import { type Database } from "bridge-common"; import { type Database } from "@link-stack/bridge-common";
import type { ServiceConfig } from "../lib/service"; import type { ServiceConfig } from "../lib/service";
import { facebookConfig as facebook } from "./facebook"; import { facebookConfig as facebook } from "./facebook";
import { signalConfig as signal } from "./signal"; import { signalConfig as signal } from "./signal";

View file

@ -1,4 +1,4 @@
import { Database } from "bridge-common"; import { Database } from "@link-stack/bridge-common";
import { import {
createAction, createAction,
updateAction, updateAction,

View file

@ -1,6 +1,6 @@
import { NextRequest, NextResponse } from "next/server"; import { NextRequest, NextResponse } from "next/server";
import { Service } from "./service"; import { Service } from "./service";
import { db, getWorkerUtils } from "bridge-common"; import { db, getWorkerUtils } from "@link-stack/bridge-common";
export class Facebook extends Service { export class Facebook extends Service {
async handleWebhook(req: NextRequest) { async handleWebhook(req: NextRequest) {

View file

@ -1,6 +1,6 @@
import { NextRequest, NextResponse } from "next/server"; import { NextRequest, NextResponse } from "next/server";
import { GridColDef } from "@mui/x-data-grid-pro"; import { GridColDef } from "@mui/x-data-grid-pro";
import { Database, db, getWorkerUtils } from "bridge-common"; import { Database, db, getWorkerUtils } from "@link-stack/bridge-common";
import { getServiceTable } from "../config/config"; import { getServiceTable } from "../config/config";
const entities = [ const entities = [

View file

@ -1,5 +1,5 @@
import { NextResponse } from "next/server"; import { NextResponse } from "next/server";
import { db } from "bridge-common"; import { db } from "@link-stack/bridge-common";
import { revalidatePath } from "next/cache"; import { revalidatePath } from "next/cache";
import { Service, ServiceParams } from "./service"; import { Service, ServiceParams } from "./service";

View file

@ -1,11 +1,11 @@
{ {
"name": "bridge-ui", "name": "@link-stack/bridge-ui",
"version": "0.2.0", "version": "0.2.0",
"scripts": { "scripts": {
"build": "tsc -p tsconfig.json" "build": "tsc -p tsconfig.json"
}, },
"dependencies": { "dependencies": {
"@auth/kysely-adapter": "^1.1.0", "@auth/kysely-adapter": "^1.2.0",
"@emotion/cache": "^11.11.0", "@emotion/cache": "^11.11.0",
"@emotion/react": "^11.11.4", "@emotion/react": "^11.11.4",
"@emotion/server": "^11.11.0", "@emotion/server": "^11.11.0",
@ -13,11 +13,11 @@
"@mui/icons-material": "^5", "@mui/icons-material": "^5",
"@mui/lab": "^5.0.0-alpha.170", "@mui/lab": "^5.0.0-alpha.170",
"@mui/material": "^5", "@mui/material": "^5",
"@mui/x-data-grid-pro": "^7.4.0", "@mui/x-data-grid-pro": "^7.6.1",
"@mui/x-date-pickers-pro": "^7.4.0", "@mui/x-date-pickers-pro": "^7.6.1",
"date-fns": "^3.6.0", "date-fns": "^3.6.0",
"kysely": "0.26.1", "kysely": "0.26.1",
"material-ui-popup-state": "^5.1.0", "material-ui-popup-state": "^5.1.2",
"next": "14.2.3", "next": "14.2.3",
"react": "18.3.1", "react": "18.3.1",
"react-cookie": "^7.1.4", "react-cookie": "^7.1.4",
@ -26,14 +26,14 @@
"react-iframe": "^1.8.5", "react-iframe": "^1.8.5",
"react-markdown": "^9.0.1", "react-markdown": "^9.0.1",
"react-polyglot": "^0.7.2", "react-polyglot": "^0.7.2",
"react-qr-code": "^2.0.13", "react-qr-code": "^2.0.14",
"tss-react": "^4.9.10", "tss-react": "^4.9.10",
"uuid": "^9.0.1" "uuid": "^9.0.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.24.5", "@babel/core": "^7.24.6",
"@types/node": "^20.12.12", "@types/node": "^20.14.1",
"@types/react": "18.3.2", "@types/react": "18.3.3",
"@types/react-dom": "^18.3.0", "@types/react-dom": "^18.3.0",
"@types/uuid": "^9.0.8", "@types/uuid": "^9.0.8",
"babel-loader": "^9.1.3", "babel-loader": "^9.1.3",
@ -43,7 +43,7 @@
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-prettier": "^5.1.3", "eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-react": "^7.34.1", "eslint-plugin-react": "^7.34.2",
"file-loader": "^6.2.0", "file-loader": "^6.2.0",
"typescript": "5.4.5" "typescript": "5.4.5"
} }

View file

@ -1,5 +1,5 @@
{ {
"name": "eslint-config", "name": "@link-stack/eslint-config",
"version": "0.3.10", "version": "0.3.10",
"description": "amigo's eslint config", "description": "amigo's eslint config",
"author": "Abel Luck <abel@guardianproject.info>", "author": "Abel Luck <abel@guardianproject.info>",
@ -9,22 +9,20 @@
"fmt": "prettier \"profile/**/*.js\" --write" "fmt": "prettier \"profile/**/*.js\" --write"
}, },
"dependencies": { "dependencies": {
"@rushstack/eslint-patch": "^1.10.2", "@rushstack/eslint-patch": "^1.10.3",
"@typescript-eslint/eslint-plugin": "^7.9.0", "@typescript-eslint/eslint-plugin": "^7.12.0",
"@typescript-eslint/parser": "^7.9.0", "@typescript-eslint/parser": "^7.12.0",
"eslint-config-prettier": "^9.1.0", "eslint-config-prettier": "^9.1.0",
"eslint-config-xo-space": "^0.35.0", "eslint-config-xo-space": "^0.35.0",
"eslint-plugin-cypress": "^3.2.0", "eslint-plugin-cypress": "^3.3.0",
"eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-jest": "^28.5.0", "eslint-plugin-jest": "^28.5.0",
"eslint-plugin-no-use-extend-native": "^0.5.0", "eslint-plugin-promise": "^6.2.0",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-unicorn": "53.0.0", "eslint-plugin-unicorn": "53.0.0",
"@babel/eslint-parser": "7.24.5" "@babel/eslint-parser": "7.24.6"
}, },
"peerDependencies": { "peerDependencies": {
"eslint": "^8",
"typescript": "^4.9.5" "typescript": "^4.9.5"
}, },
"devDependencies": { "devDependencies": {

View file

@ -1,5 +1,5 @@
{ {
"name": "jest-config", "name": "@link-stack/jest-config",
"version": "0.0.1", "version": "0.0.1",
"description": "", "description": "",
"author": "Abel Luck <abel@guardianproject.info>", "author": "Abel Luck <abel@guardianproject.info>",

View file

@ -4,7 +4,7 @@ import {
performLeafcutterQuery, performLeafcutterQuery,
performZammadQuery, performZammadQuery,
createUserVisualization, createUserVisualization,
} from "opensearch-common"; } from "@link-stack/opensearch-common";
export const createUserVisualizationAction = async ({ export const createUserVisualizationAction = async ({
visualizationID, visualizationID,

View file

@ -1,5 +1,5 @@
{ {
"name": "leafcutter-ui", "name": "@link-stack/leafcutter-ui",
"version": "0.2.0", "version": "0.2.0",
"scripts": { "scripts": {
"build": "tsc -p tsconfig.json" "build": "tsc -p tsconfig.json"
@ -12,11 +12,11 @@
"@mui/icons-material": "^5", "@mui/icons-material": "^5",
"@mui/lab": "^5.0.0-alpha.170", "@mui/lab": "^5.0.0-alpha.170",
"@mui/material": "^5", "@mui/material": "^5",
"@mui/x-data-grid-pro": "^7.4.0", "@mui/x-data-grid-pro": "^7.6.1",
"@mui/x-date-pickers-pro": "^7.4.0", "@mui/x-date-pickers-pro": "^7.6.1",
"opensearch-common": "*", "@link-stack/opensearch-common": "*",
"date-fns": "^3.6.0", "date-fns": "^3.6.0",
"material-ui-popup-state": "^5.1.0", "material-ui-popup-state": "^5.1.2",
"next": "14.2.3", "next": "14.2.3",
"react": "18.3.1", "react": "18.3.1",
"react-cookie": "^7.1.4", "react-cookie": "^7.1.4",
@ -29,9 +29,9 @@
"uuid": "^9.0.1" "uuid": "^9.0.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.24.5", "@babel/core": "^7.24.6",
"@types/node": "^20.12.12", "@types/node": "^20.14.1",
"@types/react": "18.3.2", "@types/react": "18.3.3",
"@types/uuid": "^9.0.8", "@types/uuid": "^9.0.8",
"babel-loader": "^9.1.3", "babel-loader": "^9.1.3",
"eslint": "^8.0.0", "eslint": "^8.0.0",
@ -40,7 +40,7 @@
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-prettier": "^5.1.3", "eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-react": "^7.34.1", "eslint-plugin-react": "^7.34.2",
"file-loader": "^6.2.0", "file-loader": "^6.2.0",
"typescript": "5.4.5" "typescript": "5.4.5"
} }

View file

@ -1,26 +1,21 @@
{ {
"name": "opensearch-common", "name": "@link-stack/opensearch-common",
"version": "0.2.0", "version": "0.2.0",
"scripts": { "scripts": {
"build": "tsc -p tsconfig.json" "build": "tsc -p tsconfig.json"
}, },
"dependencies": { "dependencies": {
"@opensearch-project/opensearch": "^2.8.0", "@opensearch-project/opensearch": "^2.9.0",
"uuid": "^9.0.1" "uuid": "^9.0.1"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.24.5", "@babel/core": "^7.24.6",
"@types/node": "^20.12.12", "@types/node": "^20.14.1",
"@types/react": "18.3.2", "@types/react": "18.3.3",
"@types/uuid": "^9.0.8", "@types/uuid": "^9.0.8",
"babel-loader": "^9.1.3", "babel-loader": "^9.1.3",
"eslint": "^8.0.0", "@link-stack/typescript-config": "*",
"eslint-config-next": "^14.2.3", "@link-stack/eslint-config": "*",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-react": "^7.34.1",
"file-loader": "^6.2.0", "file-loader": "^6.2.0",
"typescript": "5.4.5" "typescript": "5.4.5"
} }

View file

@ -0,0 +1,8 @@
{
"name": "@link-stack/signal-api",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
}
}

View file

@ -8,7 +8,7 @@ In `tsconfig.json`
```json ```json
{ {
"extends": "ts-config", "extends": "@link-stack/typescript-config",
"compilerOptions": { "compilerOptions": {
"incremental": true, "incremental": true,
"outDir": "build/main", "outDir": "build/main",

View file

@ -1,5 +1,5 @@
{ {
"name": "ts-config", "name": "@link-stack/typescript-config",
"version": "0.1.4", "version": "0.1.4",
"description": "Shared TypeScript config", "description": "Shared TypeScript config",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",

View file

@ -1,5 +1,5 @@
{ {
"name": "ui", "name": "@link-stack/ui",
"version": "1.0.0", "version": "1.0.0",
"description": "", "description": "",
"scripts": { "scripts": {
@ -11,15 +11,15 @@
"@mui/icons-material": "^5", "@mui/icons-material": "^5",
"@mui/lab": "^5.0.0-alpha.170", "@mui/lab": "^5.0.0-alpha.170",
"@mui/material": "^5", "@mui/material": "^5",
"@mui/x-data-grid-pro": "^7.4.0", "@mui/x-data-grid-pro": "^7.6.1",
"@mui/x-date-pickers-pro": "^7.4.0", "@mui/x-date-pickers-pro": "^7.6.1",
"next": "14.2.3", "next": "14.2.3",
"react": "18.3.1", "react": "18.3.1",
"react-dom": "18.3.1" "react-dom": "18.3.1"
}, },
"devDependencies": { "devDependencies": {
"@types/node": "^20.12.12", "@types/node": "^20.14.1",
"@types/react": "18.3.2", "@types/react": "18.3.3",
"typescript": "^5.4.5" "typescript": "^5.4.5"
} }
} }

Some files were not shown because too many files have changed in this diff Show more