Skip to content

Commit

Permalink
fix(monorepo): Resolve inter-repo dependencies issues
Browse files Browse the repository at this point in the history
  • Loading branch information
sullivanpj committed Dec 12, 2023
1 parent 9f458e4 commit 750b10a
Show file tree
Hide file tree
Showing 20 changed files with 76 additions and 20 deletions.
2 changes: 1 addition & 1 deletion docs/api-reports/packages/serialization/api-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ export { register as register_alias_1 };

// @public (undocumented)
const Serializable: <TData = any>(options: {
name: string;
name?: string | undefined;
serialize: SerializationFunct<TData>;
deserialize: DeserializeFunct<TData>;
}) => <TClass extends new (...args: any) => any = new (...args: any) => TData>(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1710,7 +1710,7 @@
},
{
"kind": "Content",
"text": "<TData = any>(options: {\n name: string;\n serialize: "
"text": "<TData = any>(options: {\n name?: string | undefined;\n serialize: "
},
{
"kind": "Reference",
Expand Down
8 changes: 8 additions & 0 deletions packages/cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,16 @@
"console-table-printer": "2.11.2"
},
"devDependencies": {
"@storm-stack/logging": "*",
"@storm-stack/serialization": "*",
"@storm-stack/utilities": "*",
"@types/node": "^20.10.4"
},
"peerDependencies": {
"@storm-stack/logging": "workspace:*",
"@storm-stack/serialization": "workspace:*",
"@storm-stack/utilities": "workspace:*"
},
"publishConfig": {
"access": "public"
}
Expand Down
10 changes: 10 additions & 0 deletions packages/date-time/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,16 @@
"dependencies": {
"@js-temporal/polyfill": "0.4.4"
},
"devDependencies": {
"@storm-stack/errors": "*",
"@storm-stack/serialization": "*",
"@storm-stack/utilities": "*"
},
"peerDependencies": {
"@storm-stack/errors": "workspace:*",
"@storm-stack/serialization": "workspace:*",
"@storm-stack/utilities": "workspace:*"
},
"publishConfig": {
"access": "public"
}
Expand Down
2 changes: 0 additions & 2 deletions packages/date-time/src/storm-date-time.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import { Temporal } from "@js-temporal/polyfill";
import { Serializable } from "@storm-stack/serialization";
import { isBigInt } from "@storm-stack/utilities/type-checks/is-bigint";
Expand Down Expand Up @@ -52,7 +51,6 @@ export type DateTimeInput =
* @decorator `@Serializable()`
*/
@Serializable({
name: "StormDateTime",
serialize: serializeStormDateTime,
deserialize: deserializeStormDateTime
})
Expand Down
1 change: 0 additions & 1 deletion packages/date-time/src/storm-date.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import { validateDate } from "./utilities/validate-date";
* @decorator `@Serializable()`
*/
@Serializable({
name: "StormDate",
serialize: serializeStormDate,
deserialize: deserializeStormDate
})
Expand Down
1 change: 0 additions & 1 deletion packages/date-time/src/storm-time.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import {
* @decorator `@Serializable()`
*/
@Serializable({
name: "StormTime",
serialize: serializeStormTime,
deserialize: deserializeStormTime
})
Expand Down
2 changes: 1 addition & 1 deletion packages/date-time/src/utilities/format-date-time-iso.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Temporal } from "@js-temporal/polyfill";
import { EMPTY_STRING } from "@storm-stack/utilities";
import { EMPTY_STRING } from "@storm-stack/utilities/types";
import { StormDateTime } from "../storm-date-time";

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/date-time/src/utilities/format-date-time.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Temporal } from "@js-temporal/polyfill";
import { EMPTY_STRING } from "@storm-stack/utilities";
import { EMPTY_STRING } from "@storm-stack/utilities/types";
import { StormDateTime } from "../storm-date-time";

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/date-time/src/utilities/format-since.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Temporal } from "@js-temporal/polyfill";
import { StormError } from "@storm-stack/errors";
import { StormError } from "@storm-stack/errors/storm-error";
import { DateTimeErrorCode } from "../errors";
import { StormDate } from "../storm-date";
import { StormDateTime } from "../storm-date-time";
Expand Down
2 changes: 1 addition & 1 deletion packages/date-time/src/utilities/serialization.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { JsonValue } from "@storm-stack/serialization/types";
import { isSetString } from "@storm-stack/utilities";
import { isSetString } from "@storm-stack/utilities/type-checks/is-set-string";
import { StormDate } from "../storm-date";
import { StormDateTime } from "../storm-date-time";
import { StormTime } from "../storm-time";
Expand Down
3 changes: 2 additions & 1 deletion packages/date-time/src/utilities/validate-date-time.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { isBigInt, isNumber } from "@storm-stack/utilities";
import { isBigInt } from "@storm-stack/utilities/type-checks/is-bigint";
import { isDate } from "@storm-stack/utilities/type-checks/is-date";
import { isNumber } from "@storm-stack/utilities/type-checks/is-number";
import { RFC_3339_DATETIME_REGEX } from "../constants";
import { DateTimeInput, DateTimeOptions } from "../storm-date-time";
import { isDateTime } from "./is-date-time";
Expand Down
4 changes: 3 additions & 1 deletion packages/date-time/src/utilities/validate-time.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import { isBigInt, isDate, isNumber } from "@storm-stack/utilities";
import { isBigInt } from "@storm-stack/utilities/type-checks/is-bigint";
import { isDate } from "@storm-stack/utilities/type-checks/is-date";
import { isNumber } from "@storm-stack/utilities/type-checks/is-number";
import { RFC_3339_TIME_REGEX } from "../constants";
import { DateTimeInput, DateTimeOptions } from "../storm-date-time";
import { isDateTime } from "./is-date-time";
Expand Down
8 changes: 8 additions & 0 deletions packages/errors/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@
"@storm-software/workspace-tools": "latest",
"stacktracey": "2.1.8"
},
"devDependencies": {
"@storm-stack/serialization": "*",
"@storm-stack/utilities": "*"
},
"peerDependencies": {
"@storm-stack/serialization": "workspace:*",
"@storm-stack/utilities": "workspace:*"
},
"publishConfig": {
"access": "public"
}
Expand Down
1 change: 0 additions & 1 deletion packages/errors/src/storm-error.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@ export function getCauseFromUnknown(cause: unknown): StormError {
* @decorator `@Serializable()`
*/
@Serializable({
name: "StormError",
serialize: serializeStormError,
deserialize: deserializeStormError
})
Expand Down
12 changes: 12 additions & 0 deletions packages/file-system/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,21 @@
"semver": "7.5.4"
},
"devDependencies": {
"@storm-stack/cli": "*",
"@storm-stack/errors": "*",
"@storm-stack/logging": "*",
"@storm-stack/serialization": "*",
"@storm-stack/utilities": "*",
"@types/node": "^20.10.4",
"@types/semver": "7.5.6"
},
"peerDependencies": {
"@storm-stack/cli": "workspace:*",
"@storm-stack/errors": "workspace:*",
"@storm-stack/logging": "workspace:*",
"@storm-stack/serialization": "workspace:*",
"@storm-stack/utilities": "workspace:*"
},
"publishConfig": {
"access": "public"
}
Expand Down
10 changes: 10 additions & 0 deletions packages/logging/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,18 @@
"zod": "3.22.4"
},
"devDependencies": {
"@storm-stack/date-time": "*",
"@storm-stack/errors": "*",
"@storm-stack/logging": "*",
"@storm-stack/utilities": "*",
"@types/node": "^20.10.4"
},
"peerDependencies": {
"@storm-stack/date-time": "workspace:*",
"@storm-stack/errors": "workspace:*",
"@storm-stack/logging": "workspace:*",
"@storm-stack/utilities": "workspace:*"
},
"publishConfig": {
"access": "public"
}
Expand Down
4 changes: 4 additions & 0 deletions packages/serialization/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,13 @@
"superjson": "2.2.1"
},
"devDependencies": {
"@storm-stack/utilities": "*",
"@types/node": "^20.10.4",
"@types/qs": "6.9.10"
},
"peerDependencies": {
"@storm-stack/utilities": "workspace:*"
},
"publishConfig": {
"access": "public"
}
Expand Down
14 changes: 7 additions & 7 deletions packages/serialization/src/serializable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export const Serializable = <TData = any>(options: {
/**
* The type and/or name of the record
*/
name: string;
name?: string;

/**
* Serialize the class to a JSON object or string
Expand All @@ -34,25 +34,25 @@ export const Serializable = <TData = any>(options: {
>(
target: TClass
) => {
const name = options.name ? options.name : target.name;

let isTypeOf!: ClassTypeCheckable<TData>["isTypeOf"];
if (
isFunction((target?.prototype as ClassTypeCheckable<TData>)?.isTypeOf)
) {
isTypeOf = (target?.prototype as ClassTypeCheckable<TData>).isTypeOf;
if (isFunction((target.prototype as ClassTypeCheckable<TData>)?.isTypeOf)) {
isTypeOf = (target.prototype as ClassTypeCheckable<TData>).isTypeOf;
} else {
isTypeOf = (value: any): value is TData =>
value instanceof target || value?.__typename === name;
}

register(options.name, options.serialize, options.deserialize, isTypeOf);
register(name, options.serialize, options.deserialize, isTypeOf);
return class
extends target
implements ClassSerializable<TData>, ClassTypeCheckable<TData>, ITyped
{
/**
* The name of the class's type
*/
public __typename = options.name;
public __typename = name;

/**
* Serialize the class to a JSON object
Expand Down
6 changes: 6 additions & 0 deletions packages/unique-identifier/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@
"dependencies": {
"@noble/hashes": "1.3.2"
},
"devDependencies": {
"@storm-stack/utilities": "*"
},
"peerDependencies": {
"@storm-stack/utilities": "workspace:*"
},
"publishConfig": {
"access": "public"
}
Expand Down

0 comments on commit 750b10a

Please sign in to comment.