Skip to content

Commit

Permalink
refactor: update "effect" & switch to alias imports (#775)
Browse files Browse the repository at this point in the history
Co-authored-by: juliusmarminge <julius0216@outlook.com>
  • Loading branch information
tim-smart and juliusmarminge committed Apr 29, 2024
1 parent 6906254 commit 0abfa03
Show file tree
Hide file tree
Showing 28 changed files with 1,082 additions and 201 deletions.
6 changes: 6 additions & 0 deletions .changeset/old-pans-wink.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"uploadthing": patch
"@uploadthing/shared": patch
---

update "effect" & switch to alias imports
15 changes: 13 additions & 2 deletions packages/dropzone/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,19 @@
"error",
{
"patterns": [
"@uploadthing/dropzone",
"@uploadthing/dropzone/*"
{
"group": [
"@uploadthing/dropzone",
"@uploadthing/dropzone/*"
],
"message": "Use relative src imports instead"
}
],
"paths": [
{
"name": "effect",
"message": "Use alias imports instead (import * as X from \"effect/X\")"
}
]
}
]
Expand Down
15 changes: 13 additions & 2 deletions packages/mime-types/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,19 @@
"error",
{
"patterns": [
"@uploadthing/mime-types",
"@uploadthing/mime-types/*"
{
"group": [
"@uploadthing/mime-types",
"@uploadthing/mime-types/*"
],
"message": "Use relative src imports instead"
}
],
"paths": [
{
"name": "effect",
"message": "Use alias imports instead (import * as X from \"effect/X\")"
}
]
}
]
Expand Down
22 changes: 21 additions & 1 deletion packages/nuxt/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,27 @@
"@uploadthing/eslint-config/base"
],
"rules": {
"@typescript-eslint/no-unused-vars": "off"
"@typescript-eslint/no-unused-vars": "off",
"no-restricted-imports": [
"error",
{
"patterns": [
{
"group": [
"@uploadthing/nuxt",
"@uploadthing/nuxt/*"
],
"message": "Use relative src imports instead"
}
],
"paths": [
{
"name": "effect",
"message": "Use alias imports instead (import * as X from \"effect/X\")"
}
]
}
]
}
}
}
15 changes: 13 additions & 2 deletions packages/react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,19 @@
"error",
{
"patterns": [
"@uploadthing/react",
"@uploadthing/react/*"
{
"group": [
"@uploadthing/react",
"@uploadthing/react/*"
],
"message": "Use relative src imports instead"
}
],
"paths": [
{
"name": "effect",
"message": "Use alias imports instead (import * as X from \"effect/X\")"
}
]
}
]
Expand Down
27 changes: 19 additions & 8 deletions packages/shared/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@effect/schema": "^0.66.0",
"effect": "^3.0.0",
"@effect/schema": "^0.66.10",
"effect": "^3.0.7",
"std-env": "^3.7.0"
},
"devDependencies": {
Expand All @@ -61,19 +61,30 @@
},
"eslintConfig": {
"root": true,
"extends": [
"@uploadthing/eslint-config/base"
],
"rules": {
"no-restricted-imports": [
"error",
{
"patterns": [
"@uploadthing/shared",
"@uploadthing/shared/*"
{
"group": [
"@uploadthing/shared",
"@uploadthing/shared/*"
],
"message": "Use relative src imports instead"
}
],
"paths": [
{
"name": "effect",
"message": "Use alias imports instead (import * as X from \"effect/X\")"
}
]
}
]
},
"extends": [
"@uploadthing/eslint-config/base"
]
}
}
}
6 changes: 5 additions & 1 deletion packages/shared/src/effect.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import type { ParseError } from "@effect/schema/ParseResult";
import * as S from "@effect/schema/Schema";
import { Context, Duration, Effect, pipe, Schedule } from "effect";
import * as Context from "effect/Context";
import * as Duration from "effect/Duration";
import * as Effect from "effect/Effect";
import { pipe } from "effect/Function";
import * as Schedule from "effect/Schedule";

import { FetchError } from "./tagged-errors";
import type { FetchEsque, ResponseEsque } from "./types";
Expand Down
3 changes: 2 additions & 1 deletion packages/shared/src/utils.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { Effect, Unify } from "effect";
import * as Effect from "effect/Effect";
import * as Unify from "effect/Unify";
import { process } from "std-env";

import { lookup } from "@uploadthing/mime-types";
Expand Down
15 changes: 13 additions & 2 deletions packages/solid/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,19 @@
"error",
{
"patterns": [
"@uploadthing/solid",
"@uploadthing/solid/*"
{
"group": [
"@uploadthing/solid",
"@uploadthing/solid/*"
],
"message": "Use relative src imports instead"
}
],
"paths": [
{
"name": "effect",
"message": "Use alias imports instead (import * as X from \"effect/X\")"
}
]
}
]
Expand Down
24 changes: 23 additions & 1 deletion packages/svelte/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,28 @@
],
"ignorePatterns": [
"*.config.*"
]
],
"rules": {
"no-restricted-imports": [
"error",
{
"patterns": [
{
"group": [
"@uploadthing/svelte",
"@uploadthing/svelte/*"
],
"message": "Use relative src imports instead"
}
],
"paths": [
{
"name": "effect",
"message": "Use alias imports instead (import * as X from \"effect/X\")"
}
]
}
]
}
}
}
19 changes: 15 additions & 4 deletions packages/uploadthing/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,11 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@effect/schema": "^0.66.0",
"@effect/schema": "^0.66.10",
"@uploadthing/mime-types": "workspace:*",
"@uploadthing/shared": "workspace:*",
"consola": "^3.2.3",
"effect": "^3.0.0",
"effect": "^3.0.7",
"std-env": "^3.7.0"
},
"devDependencies": {
Expand Down Expand Up @@ -204,8 +204,19 @@
"error",
{
"patterns": [
"uploadthing",
"uploadthing/*"
{
"group": [
"uploadthing",
"uploadthing/*"
],
"message": "Use relative src imports instead"
}
],
"paths": [
{
"name": "effect",
"message": "Use alias imports instead (import * as X from \"effect/X\")"
}
]
}
]
Expand Down
7 changes: 4 additions & 3 deletions packages/uploadthing/src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

import type { ParseError } from "@effect/schema/ParseResult";
import * as S from "@effect/schema/Schema";
import { Effect, Layer } from "effect";
import * as Effect from "effect/Effect";
import * as Layer from "effect/Layer";

import type { FetchContextTag, FetchError } from "@uploadthing/shared";
import {
Expand Down Expand Up @@ -34,11 +35,11 @@ import type {
} from "./types";

export {
/** @public */
generateMimeTypes,
/** @public */
generateClientDropzoneAccept,
/** @public */
generateMimeTypes,
/** @public */
generatePermittedFileTypes,
} from "@uploadthing/shared";

Expand Down
6 changes: 3 additions & 3 deletions packages/uploadthing/src/express.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Effect } from "effect";
import { Router as ExpressRouter } from "express";
import * as Effect from "effect/Effect";
import type {
Request as ExpressRequest,
Response as ExpressResponse,
} from "express";
import { Router as ExpressRouter } from "express";

import type { Json } from "@uploadthing/shared";
import { getStatusCodeFromError, UploadThingError } from "@uploadthing/shared";
Expand All @@ -22,8 +22,8 @@ import type { FileRouter, RouteHandlerOptions } from "./internal/types";
import type { CreateBuilderOptions } from "./internal/upload-builder";
import { createBuilder } from "./internal/upload-builder";

export type { FileRouter };
export { UTFiles } from "./internal/types";
export type { FileRouter };

type MiddlewareArgs = {
req: ExpressRequest;
Expand Down
2 changes: 1 addition & 1 deletion packages/uploadthing/src/internal/dev-hook.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Effect } from "effect";
import * as Effect from "effect/Effect";

import {
exponentialBackoff,
Expand Down
3 changes: 2 additions & 1 deletion packages/uploadthing/src/internal/handler.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import * as S from "@effect/schema/Schema";
import { Effect, Layer } from "effect";
import * as Effect from "effect/Effect";
import * as Layer from "effect/Layer";
import { isDevelopment } from "std-env";

import {
Expand Down
3 changes: 2 additions & 1 deletion packages/uploadthing/src/internal/multi-part.browser.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import * as S from "@effect/schema/Schema";
import { Cause, Effect } from "effect";
import * as Cause from "effect/Cause";
import * as Effect from "effect/Effect";
import { isTest } from "std-env";

import {
Expand Down
2 changes: 1 addition & 1 deletion packages/uploadthing/src/internal/multi-part.server.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as S from "@effect/schema/Schema";
import { Effect } from "effect";
import * as Effect from "effect/Effect";

import {
contentDisposition,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as S from "@effect/schema/Schema";
import { Effect } from "effect";
import * as Effect from "effect/Effect";

import type { FetchContextTag, UploadThingError } from "@uploadthing/shared";

Expand Down
2 changes: 1 addition & 1 deletion packages/uploadthing/src/internal/presigned-post.server.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Effect } from "effect";
import * as Effect from "effect/Effect";

import {
fetchEff,
Expand Down
2 changes: 1 addition & 1 deletion packages/uploadthing/src/internal/resolve-url.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Effect } from "effect";
import * as Effect from "effect/Effect";
import { process } from "std-env";

import { getFullApiUrl } from "@uploadthing/shared";
Expand Down
2 changes: 1 addition & 1 deletion packages/uploadthing/src/internal/to-web-request.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Effect } from "effect";
import { TaggedError } from "effect/Data";
import * as Effect from "effect/Effect";
import { process } from "std-env";

import { filterObjectValues, UploadThingError } from "@uploadthing/shared";
Expand Down
2 changes: 1 addition & 1 deletion packages/uploadthing/src/internal/types.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { Schema } from "@effect/schema/Schema";
import type * as S from "@effect/schema/Schema";
import type { Effect } from "effect";
import type * as Effect from "effect/Effect";

import type {
ErrorMessage,
Expand Down
2 changes: 1 addition & 1 deletion packages/uploadthing/src/internal/ut-reporter.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type * as S from "@effect/schema/Schema";
import { Effect } from "effect";
import * as Effect from "effect/Effect";

import type { FetchContextTag, MaybePromise } from "@uploadthing/shared";
import { fetchEffJson, UploadThingError } from "@uploadthing/shared";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type * as S from "@effect/schema/Schema";
import { Effect } from "effect";
import { TaggedError } from "effect/Data";
import * as Effect from "effect/Effect";

import type {
ExpandedRouteConfig,
Expand Down
3 changes: 2 additions & 1 deletion packages/uploadthing/src/sdk/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import * as S from "@effect/schema/Schema";
import { Effect, Layer } from "effect";
import * as Effect from "effect/Effect";
import * as Layer from "effect/Layer";

import type {
ACL,
Expand Down
2 changes: 1 addition & 1 deletion packages/uploadthing/src/sdk/utils.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as S from "@effect/schema/Schema";
import { Effect } from "effect";
import * as Effect from "effect/Effect";

import {
exponentialBackoff,
Expand Down

0 comments on commit 0abfa03

Please sign in to comment.