@adeficior/data-modifier-farmersdelight 2.0.0-rc.20260814115618
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/module.d.ts +2 -0
- package/dist/module.js +13 -0
- package/dist/module.js.map +1 -0
- package/dist/registration.d.ts +2 -0
- package/dist/registration.js +9 -0
- package/dist/registration.js.map +1 -0
- package/dist/serializer/cooking.d.ts +23 -0
- package/dist/serializer/cooking.js +41 -0
- package/dist/serializer/cooking.js.map +1 -0
- package/dist/serializer/cutting.d.ts +19 -0
- package/dist/serializer/cutting.js +36 -0
- package/dist/serializer/cutting.js.map +1 -0
- package/dist/serializer/module.d.ts +4 -0
- package/dist/serializer/module.js +18 -0
- package/dist/serializer/module.js.map +1 -0
- package/package.json +36 -0
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
|
package/dist/module.d.ts
ADDED
package/dist/module.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { defineModule } from "@adeficior/data-modifier-core";
|
|
2
|
+
import { name } from "../package.json";
|
|
3
|
+
import { registerParsers } from "./registration";
|
|
4
|
+
export default defineModule({
|
|
5
|
+
importModule: name,
|
|
6
|
+
dependencies: {
|
|
7
|
+
"@adeficior/data-modifier-recipes": "required",
|
|
8
|
+
},
|
|
9
|
+
setup: (pack) => {
|
|
10
|
+
pack.hook("recipes:register-parser", registerParsers);
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,eAAe,YAAY,CAAC;IAC1B,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE;QACZ,kCAAkC,EAAE,UAAU;KAC/C;IACD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import {} from "@adeficior/data-modifier-recipes";
|
|
2
|
+
import { CookingRecipeParser } from "./serializer/cooking";
|
|
3
|
+
import { CuttingRecipeParser } from "./serializer/cutting";
|
|
4
|
+
export function registerParsers(event) {
|
|
5
|
+
event.register("farmersdelight:cooking", new CookingRecipeParser());
|
|
6
|
+
event.register("farmersdelight:cutting", new CuttingRecipeParser());
|
|
7
|
+
event.register("farmersrespite:brewing", new CookingRecipeParser());
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=registration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../src/registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,KAAK,CAAC,QAAQ,CAAC,wBAAwB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACpE,KAAK,CAAC,QAAQ,CAAC,wBAAwB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACpE,KAAK,CAAC,QAAQ,CAAC,wBAAwB,EAAE,IAAI,mBAAmB,EAAE,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type Ingredient, type Result } from "@adeficior/data-modifier-ingredients";
|
|
2
|
+
import { Recipe, RecipeParser, type RecipeDefinition, type RecipeModifier, type RecipeParseContext } from "@adeficior/data-modifier-recipes";
|
|
3
|
+
export type CookingRecipeDefinition = RecipeDefinition & Readonly<{
|
|
4
|
+
ingredients: unknown[];
|
|
5
|
+
container?: unknown;
|
|
6
|
+
result: unknown;
|
|
7
|
+
cookingTime?: number;
|
|
8
|
+
experience?: number;
|
|
9
|
+
recipe_book_tab?: string;
|
|
10
|
+
}>;
|
|
11
|
+
export declare class CookingRecipe extends Recipe {
|
|
12
|
+
private readonly ingredients;
|
|
13
|
+
private readonly result;
|
|
14
|
+
private readonly container?;
|
|
15
|
+
constructor(ingredients: Ingredient[], result: Result, container?: Ingredient | undefined);
|
|
16
|
+
getIngredients(): Ingredient[];
|
|
17
|
+
getResults(): Result[];
|
|
18
|
+
modify(modifier: RecipeModifier): CookingRecipe;
|
|
19
|
+
serialize(context: RecipeParseContext): Partial<CookingRecipeDefinition>;
|
|
20
|
+
}
|
|
21
|
+
export declare class CookingRecipeParser extends RecipeParser<CookingRecipeDefinition, CookingRecipe> {
|
|
22
|
+
deserialize(definition: CookingRecipeDefinition, context: RecipeParseContext): CookingRecipe;
|
|
23
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import {} from "@adeficior/data-modifier-ingredients";
|
|
2
|
+
import { Recipe, RecipeParser, } from "@adeficior/data-modifier-recipes";
|
|
3
|
+
import { notNull } from "@adeficior/pack-resolver";
|
|
4
|
+
export class CookingRecipe extends Recipe {
|
|
5
|
+
ingredients;
|
|
6
|
+
result;
|
|
7
|
+
container;
|
|
8
|
+
constructor(ingredients, result, container) {
|
|
9
|
+
super();
|
|
10
|
+
this.ingredients = ingredients;
|
|
11
|
+
this.result = result;
|
|
12
|
+
this.container = container;
|
|
13
|
+
}
|
|
14
|
+
getIngredients() {
|
|
15
|
+
return [this.container, ...this.ingredients].filter(notNull);
|
|
16
|
+
}
|
|
17
|
+
getResults() {
|
|
18
|
+
return [this.result];
|
|
19
|
+
}
|
|
20
|
+
modify(modifier) {
|
|
21
|
+
return new CookingRecipe(this.ingredients.map(modifier.ingredient), modifier.result(this.result), this.container && modifier.ingredient(this.container));
|
|
22
|
+
}
|
|
23
|
+
serialize(context) {
|
|
24
|
+
return {
|
|
25
|
+
ingredients: context.ingredients.serializeList(this.ingredients),
|
|
26
|
+
result: context.results.serialize(this.result),
|
|
27
|
+
container: context.results.serializeOptional(this.container?.asResult()),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export class CookingRecipeParser extends RecipeParser {
|
|
32
|
+
deserialize(definition, context) {
|
|
33
|
+
const ingredients = context.ingredients.deserializeList(definition.ingredients);
|
|
34
|
+
const result = context.results.deserialize(definition.result);
|
|
35
|
+
const container = context.results
|
|
36
|
+
.deserializeOptional(definition.container)
|
|
37
|
+
?.asIngredient();
|
|
38
|
+
return new CookingRecipe(ingredients, result, container);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=cooking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cooking.js","sourceRoot":"","sources":["../../src/serializer/cooking.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,MAAM,EACN,YAAY,GAIb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAYnD,MAAM,OAAO,aAAc,SAAQ,MAAM;IAEpB;IACA;IACA;IAHnB,YACmB,WAAyB,EACzB,MAAc,EACd,SAAsB;QAEvC,KAAK,EAAE,CAAC;QAJS,gBAAW,GAAX,WAAW,CAAc;QACzB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAa;IAGzC,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEQ,MAAM,CAAC,QAAwB;QACtC,OAAO,IAAI,aAAa,CACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EACzC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAC5B,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CACtD,CAAC;IACJ,CAAC;IAEQ,SAAS,CAChB,OAA2B;QAE3B,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;YAChE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9C,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;SACzE,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,YAGxC;IACC,WAAW,CACT,UAAmC,EACnC,OAA2B;QAE3B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,CACrD,UAAU,CAAC,WAAW,CACvB,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO;aAC9B,mBAAmB,CAAC,UAAU,CAAC,SAAS,CAAC;YAC1C,EAAE,YAAY,EAAE,CAAC;QACnB,OAAO,IAAI,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Ingredient, type Result } from "@adeficior/data-modifier-ingredients";
|
|
2
|
+
import { ManyToManyRecipe, RecipeParser, type ManyToManyRecipeDefinition, type RecipeModifier, type RecipeParseContext } from "@adeficior/data-modifier-recipes";
|
|
3
|
+
export type CuttingRecipeDefinition = Omit<ManyToManyRecipeDefinition, "results"> & Readonly<{
|
|
4
|
+
tool: unknown;
|
|
5
|
+
result: ManyToManyRecipeDefinition["results"];
|
|
6
|
+
}>;
|
|
7
|
+
export declare class CuttingRecipe extends ManyToManyRecipe {
|
|
8
|
+
private readonly tool;
|
|
9
|
+
constructor(ingredients: Ingredient[], results: Result[], tool: Ingredient);
|
|
10
|
+
getIngredients(): Ingredient[];
|
|
11
|
+
modify(modifier: RecipeModifier): CuttingRecipe;
|
|
12
|
+
serialize(context: RecipeParseContext): Partial<CuttingRecipeDefinition>;
|
|
13
|
+
}
|
|
14
|
+
export declare class CuttingRecipeParser extends RecipeParser<CuttingRecipeDefinition, CuttingRecipe> {
|
|
15
|
+
resultModules(): {
|
|
16
|
+
44: import("@adeficior/data-modifier-core/serializer").SerializerModule<Result, unknown>;
|
|
17
|
+
};
|
|
18
|
+
deserialize(definition: CuttingRecipeDefinition, context: RecipeParseContext): CuttingRecipe;
|
|
19
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {} from "@adeficior/data-modifier-ingredients";
|
|
2
|
+
import { ManyToManyRecipe, RecipeParser, } from "@adeficior/data-modifier-recipes";
|
|
3
|
+
import { resultSerializerModules } from "./module";
|
|
4
|
+
export class CuttingRecipe extends ManyToManyRecipe {
|
|
5
|
+
tool;
|
|
6
|
+
constructor(ingredients, results, tool) {
|
|
7
|
+
super(ingredients, results);
|
|
8
|
+
this.tool = tool;
|
|
9
|
+
}
|
|
10
|
+
getIngredients() {
|
|
11
|
+
return [...super.getIngredients(), this.tool];
|
|
12
|
+
}
|
|
13
|
+
modify(modifier) {
|
|
14
|
+
return new CuttingRecipe(this.ingredients.map(modifier.ingredient), this.results.map(modifier.result), modifier.ingredient(this.tool));
|
|
15
|
+
}
|
|
16
|
+
serialize(context) {
|
|
17
|
+
const { results, ...rest } = super.serialize(context);
|
|
18
|
+
return {
|
|
19
|
+
...rest,
|
|
20
|
+
result: results,
|
|
21
|
+
tool: context.ingredients.serialize(this.tool),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export class CuttingRecipeParser extends RecipeParser {
|
|
26
|
+
resultModules() {
|
|
27
|
+
return resultSerializerModules;
|
|
28
|
+
}
|
|
29
|
+
deserialize(definition, context) {
|
|
30
|
+
const ingredients = context.ingredients.deserializeList(definition.ingredients);
|
|
31
|
+
const result = context.results.deserializeList(definition.result);
|
|
32
|
+
const tool = context.ingredients.deserialize(definition.tool);
|
|
33
|
+
return new CuttingRecipe(ingredients, result, tool);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=cutting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cutting.js","sourceRoot":"","sources":["../../src/serializer/cutting.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,YAAY,GAIb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAWnD,MAAM,OAAO,aAAc,SAAQ,gBAAgB;IAI9B;IAHnB,YACE,WAAyB,EACzB,OAAiB,EACA,IAAgB;QAEjC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAFX,SAAI,GAAJ,IAAI,CAAY;IAGnC,CAAC;IAEQ,cAAc;QACrB,OAAO,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEQ,MAAM,CAAC,QAAwB;QACtC,OAAO,IAAI,aAAa,CACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EACjC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/B,CAAC;IACJ,CAAC;IAEQ,SAAS,CAChB,OAA2B;QAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/C,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,YAGxC;IACU,aAAa;QACpB,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,WAAW,CACT,UAAmC,EACnC,OAA2B;QAE3B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,CACrD,UAAU,CAAC,WAAW,CACvB,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO,IAAI,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IdSchema } from "@adeficior/data-modifier-core";
|
|
2
|
+
import { createSerializerModule, isObjectWith, } from "@adeficior/data-modifier-core/serializer";
|
|
3
|
+
import { ChanceSchema, CountSchema, ItemResult, } from "@adeficior/data-modifier-ingredients";
|
|
4
|
+
import * as z from "zod";
|
|
5
|
+
const chanceResultSchema = z.object({
|
|
6
|
+
chance: ChanceSchema,
|
|
7
|
+
item: z.object({
|
|
8
|
+
id: IdSchema,
|
|
9
|
+
count: CountSchema,
|
|
10
|
+
}),
|
|
11
|
+
});
|
|
12
|
+
const resultSerializer44 = createSerializerModule((builder) => {
|
|
13
|
+
builder.register(ItemResult, isObjectWith("item"), chanceResultSchema, ({ item, chance }) => new ItemResult(item.id, item.count, chance), ({ id, count, chance }) => ({ item: { id, count }, chance }));
|
|
14
|
+
});
|
|
15
|
+
export const resultSerializerModules = {
|
|
16
|
+
44: resultSerializer44,
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/serializer/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,GAEX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,WAAW;KACnB,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,sBAAsB,CAAS,CAAC,OAAO,EAAE,EAAE;IACpE,OAAO,CAAC,QAAQ,CACd,UAAU,EACV,YAAY,CAAC,MAAM,CAAC,EACpB,kBAAkB,EAClB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EACjE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAC7D,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,EAAE,EAAE,kBAAkB;CACvB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@adeficior/data-modifier-farmersdelight",
|
|
3
|
+
"version": "2.0.0-rc.20260814115618",
|
|
4
|
+
"exports": {
|
|
5
|
+
".": "./dist/index.js"
|
|
6
|
+
},
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"type": "module",
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "tsc --project tsconfig.build.json",
|
|
14
|
+
"check": "tsc --noEmit",
|
|
15
|
+
"dev": "bun run build --watch",
|
|
16
|
+
"lint": "eslint {src,test}",
|
|
17
|
+
"test": "bun test --timeout 10000",
|
|
18
|
+
"prune": "bun run datamod-dev --prune",
|
|
19
|
+
"prepare": "datamod-dev --configs && datamod-dev --types",
|
|
20
|
+
"test:ci": "bun run lint && bun run check && bun run test --coverage"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@adeficior/configs": "workspace:*",
|
|
24
|
+
"@adeficior/testing": "workspace:*",
|
|
25
|
+
"@adeficior/data-modifier-recipes": "workspace:*"
|
|
26
|
+
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"@adeficior/pack-resolver": "catalog:",
|
|
29
|
+
"typescript": "catalog:",
|
|
30
|
+
"zod": "catalog:",
|
|
31
|
+
"@adeficior/data-modifier-core": "workspace:*",
|
|
32
|
+
"@adeficior/data-modifier-recipes": "workspace:*",
|
|
33
|
+
"@adeficior/data-modifier-ingredients": "workspace:*",
|
|
34
|
+
"@adeficior/data-modifier-tags": "workspace:*"
|
|
35
|
+
}
|
|
36
|
+
}
|