@sgftech/medusa-plugin-marketplace-v2 0.1.26
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/.babelrc.js +12 -0
- package/.eslintrc.js +68 -0
- package/.vscode/settings.json +2 -0
- package/.yarnrc.yml +1 -0
- package/README.md +70 -0
- package/SECURITY.md +21 -0
- package/data/seed-onboarding.json +141 -0
- package/data/seed.json +1006 -0
- package/dist/api/middlewares/authenticate-user.d.ts +15 -0
- package/dist/api/middlewares/authenticate-user.js +212 -0
- package/dist/api/middlewares/authenticate-user.js.map +1 -0
- package/dist/api/middlewares/logged-in-user-v2.d.ts +3 -0
- package/dist/api/middlewares/logged-in-user-v2.js +69 -0
- package/dist/api/middlewares/logged-in-user-v2.js.map +1 -0
- package/dist/api/middlewares/logged-in-user.d.ts +1 -0
- package/dist/api/middlewares/logged-in-user.js +18 -0
- package/dist/api/middlewares/logged-in-user.js.map +1 -0
- package/dist/api/routes/admin/create-product.d.ts +1 -0
- package/dist/api/routes/admin/create-product.js +19 -0
- package/dist/api/routes/admin/create-product.js.map +1 -0
- package/dist/api/routes/admin/create-store.d.ts +1 -0
- package/dist/api/routes/admin/create-store.js +19 -0
- package/dist/api/routes/admin/create-store.js.map +1 -0
- package/dist/api/routes/admin/create-user.d.ts +1 -0
- package/dist/api/routes/admin/create-user.js +19 -0
- package/dist/api/routes/admin/create-user.js.map +1 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations/1629000000000-create-workflow-table.d.ts +5 -0
- package/dist/migrations/1629000000000-create-workflow-table.js +29 -0
- package/dist/migrations/1629000000000-create-workflow-table.js.map +1 -0
- package/dist/migrations/1629000000001-workflow-table-stage.d.ts +5 -0
- package/dist/migrations/1629000000001-workflow-table-stage.js +48 -0
- package/dist/migrations/1629000000001-workflow-table-stage.js.map +1 -0
- package/dist/migrations/1632467997443-workflow-requests.d.ts +5 -0
- package/dist/migrations/1632467997443-workflow-requests.js +48 -0
- package/dist/migrations/1632467997443-workflow-requests.js.map +1 -0
- package/dist/migrations/1632468000000-update-workflow-keys-table.d.ts +5 -0
- package/dist/migrations/1632468000000-update-workflow-keys-table.js +31 -0
- package/dist/migrations/1632468000000-update-workflow-keys-table.js.map +1 -0
- package/dist/migrations/1632470000000-add-approvers-to-workflow-stage.d.ts +5 -0
- package/dist/migrations/1632470000000-add-approvers-to-workflow-stage.js +52 -0
- package/dist/migrations/1632470000000-add-approvers-to-workflow-stage.js.map +1 -0
- package/dist/migrations/1632471000000-update-user-table-for-approvers.d.ts +5 -0
- package/dist/migrations/1632471000000-update-user-table-for-approvers.js +43 -0
- package/dist/migrations/1632471000000-update-user-table-for-approvers.js.map +1 -0
- package/dist/migrations/1632472000000-update-workflow-request-table-for-approvals.d.ts +5 -0
- package/dist/migrations/1632472000000-update-workflow-request-table-for-approvals.js +43 -0
- package/dist/migrations/1632472000000-update-workflow-request-table-for-approvals.js.map +1 -0
- package/dist/migrations/1632473000000-create-approval-table.d.ts +5 -0
- package/dist/migrations/1632473000000-create-approval-table.js +54 -0
- package/dist/migrations/1632473000000-create-approval-table.js.map +1 -0
- package/dist/migrations/1652101349791-order.migration.d.ts +6 -0
- package/dist/migrations/1652101349791-order.migration.js +26 -0
- package/dist/migrations/1652101349791-order.migration.js.map +1 -0
- package/dist/migrations/1655123458263-invite.migration.d.ts +6 -0
- package/dist/migrations/1655123458263-invite.migration.js +23 -0
- package/dist/migrations/1655123458263-invite.migration.js.map +1 -0
- package/dist/migrations/1655131148363-role.migration.d.ts +6 -0
- package/dist/migrations/1655131148363-role.migration.js +32 -0
- package/dist/migrations/1655131148363-role.migration.js.map +1 -0
- package/dist/migrations/1655131601491-permission.migration.d.ts +6 -0
- package/dist/migrations/1655131601491-permission.migration.js +47 -0
- package/dist/migrations/1655131601491-permission.migration.js.map +1 -0
- package/dist/migrations/1655132360987-user.migration.d.ts +6 -0
- package/dist/migrations/1655132360987-user.migration.js +29 -0
- package/dist/migrations/1655132360987-user.migration.js.map +1 -0
- package/dist/migrations/1666588571522-user.migration.d.ts +6 -0
- package/dist/migrations/1666588571522-user.migration.js +27 -0
- package/dist/migrations/1666588571522-user.migration.js.map +1 -0
- package/dist/migrations/1666588577183-store.migration.d.ts +6 -0
- package/dist/migrations/1666588577183-store.migration.js +26 -0
- package/dist/migrations/1666588577183-store.migration.js.map +1 -0
- package/dist/migrations/1667045765051-customer.migration.d.ts +6 -0
- package/dist/migrations/1667045765051-customer.migration.js +33 -0
- package/dist/migrations/1667045765051-customer.migration.js.map +1 -0
- package/dist/migrations/1683175918497-add-user-stores.migration.d.ts +6 -0
- package/dist/migrations/1683175918497-add-user-stores.migration.js +60 -0
- package/dist/migrations/1683175918497-add-user-stores.migration.js.map +1 -0
- package/dist/migrations/1683177500538-add-product-store-id.migration.d.ts +6 -0
- package/dist/migrations/1683177500538-add-product-store-id.migration.js +53 -0
- package/dist/migrations/1683177500538-add-product-store-id.migration.js.map +1 -0
- package/dist/migrations/address.migration.d.ts +6 -0
- package/dist/migrations/address.migration.js +25 -0
- package/dist/migrations/address.migration.js.map +1 -0
- package/dist/migrations/product.migration.d.ts +6 -0
- package/dist/migrations/product.migration.js +21 -0
- package/dist/migrations/product.migration.js.map +1 -0
- package/dist/migrations/stage-status.d.ts +5 -0
- package/dist/migrations/stage-status.js +22 -0
- package/dist/migrations/stage-status.js.map +1 -0
- package/dist/migrations/user.migration.d.ts +6 -0
- package/dist/migrations/user.migration.js +21 -0
- package/dist/migrations/user.migration.js.map +1 -0
- package/dist/models/address.d.ts +3 -0
- package/dist/models/address.js +18 -0
- package/dist/models/address.js.map +1 -0
- package/dist/models/customer.d.ts +9 -0
- package/dist/models/customer.js +49 -0
- package/dist/models/customer.js.map +1 -0
- package/dist/models/invite.d.ts +6 -0
- package/dist/models/invite.js +32 -0
- package/dist/models/invite.js.map +1 -0
- package/dist/models/order.d.ts +9 -0
- package/dist/models/order.js +48 -0
- package/dist/models/order.js.map +1 -0
- package/dist/models/permission.d.ts +8 -0
- package/dist/models/permission.js +56 -0
- package/dist/models/permission.js.map +1 -0
- package/dist/models/product.d.ts +5 -0
- package/dist/models/product.js +43 -0
- package/dist/models/product.js.map +1 -0
- package/dist/models/role.d.ts +12 -0
- package/dist/models/role.js +68 -0
- package/dist/models/role.js.map +1 -0
- package/dist/models/setting.d.ts +69 -0
- package/dist/models/setting.js +46 -0
- package/dist/models/setting.js.map +1 -0
- package/dist/models/store.d.ts +15 -0
- package/dist/models/store.js +85 -0
- package/dist/models/store.js.map +1 -0
- package/dist/models/user.d.ts +15 -0
- package/dist/models/user.js +76 -0
- package/dist/models/user.js.map +1 -0
- package/dist/models/workflow-approval.d.ts +8 -0
- package/dist/models/workflow-approval.js +37 -0
- package/dist/models/workflow-approval.js.map +1 -0
- package/dist/models/workflow-requests.d.ts +9 -0
- package/dist/models/workflow-requests.js +42 -0
- package/dist/models/workflow-requests.js.map +1 -0
- package/dist/models/workflow-stage.d.ts +8 -0
- package/dist/models/workflow-stage.js +38 -0
- package/dist/models/workflow-stage.js.map +1 -0
- package/dist/models/workflow.d.ts +8 -0
- package/dist/models/workflow.js +37 -0
- package/dist/models/workflow.js.map +1 -0
- package/dist/repositories/address.d.ts +7 -0
- package/dist/repositories/address.js +11 -0
- package/dist/repositories/address.js.map +1 -0
- package/dist/repositories/currency.d.ts +7 -0
- package/dist/repositories/currency.js +11 -0
- package/dist/repositories/currency.js.map +1 -0
- package/dist/repositories/customer.d.ts +12 -0
- package/dist/repositories/customer.js +11 -0
- package/dist/repositories/customer.js.map +1 -0
- package/dist/repositories/invite.d.ts +7 -0
- package/dist/repositories/invite.js +11 -0
- package/dist/repositories/invite.js.map +1 -0
- package/dist/repositories/order.d.ts +9 -0
- package/dist/repositories/order.js +11 -0
- package/dist/repositories/order.js.map +1 -0
- package/dist/repositories/permission.d.ts +3 -0
- package/dist/repositories/permission.js +8 -0
- package/dist/repositories/permission.js.map +1 -0
- package/dist/repositories/product.d.ts +43 -0
- package/dist/repositories/product.js +11 -0
- package/dist/repositories/product.js.map +1 -0
- package/dist/repositories/role.d.ts +3 -0
- package/dist/repositories/role.js +8 -0
- package/dist/repositories/role.js.map +1 -0
- package/dist/repositories/store.d.ts +7 -0
- package/dist/repositories/store.js +11 -0
- package/dist/repositories/store.js.map +1 -0
- package/dist/repositories/user.d.ts +7 -0
- package/dist/repositories/user.js +11 -0
- package/dist/repositories/user.js.map +1 -0
- package/dist/services/currency.d.ts +24 -0
- package/dist/services/currency.js +49 -0
- package/dist/services/currency.js.map +1 -0
- package/dist/services/customer.d.ts +34 -0
- package/dist/services/customer.js +137 -0
- package/dist/services/customer.js.map +1 -0
- package/dist/services/process-constant.d.ts +17 -0
- package/dist/services/process-constant.js +27 -0
- package/dist/services/process-constant.js.map +1 -0
- package/dist/services/product.d.ts +121 -0
- package/dist/services/product.js +382 -0
- package/dist/services/product.js.map +1 -0
- package/dist/services/region.d.ts +42 -0
- package/dist/services/region.js +190 -0
- package/dist/services/region.js.map +1 -0
- package/dist/services/store.d.ts +98 -0
- package/dist/services/store.js +607 -0
- package/dist/services/store.js.map +1 -0
- package/dist/services/user.d.ts +74 -0
- package/dist/services/user.js +356 -0
- package/dist/services/user.js.map +1 -0
- package/dist/services/workflow-request.d.ts +14 -0
- package/dist/services/workflow-request.js +100 -0
- package/dist/services/workflow-request.js.map +1 -0
- package/dist/services/workflow-stage.d.ts +19 -0
- package/dist/services/workflow-stage.js +46 -0
- package/dist/services/workflow-stage.js.map +1 -0
- package/dist/services/workflow.d.ts +22 -0
- package/dist/services/workflow.js +108 -0
- package/dist/services/workflow.js.map +1 -0
- package/dist/subscribers/customer.d.ts +5 -0
- package/dist/subscribers/customer.js +20 -0
- package/dist/subscribers/customer.js.map +1 -0
- package/dist/subscribers/product.d.ts +11 -0
- package/dist/subscribers/product.js +30 -0
- package/dist/subscribers/product.js.map +1 -0
- package/dist/subscribers/store.d.ts +25 -0
- package/dist/subscribers/store.js +54 -0
- package/dist/subscribers/store.js.map +1 -0
- package/dist/subscribers/user.d.ts +16 -0
- package/dist/subscribers/user.js +62 -0
- package/dist/subscribers/user.js.map +1 -0
- package/dist/types/global.d.ts +1 -0
- package/dist/types/global.js +3 -0
- package/dist/types/global.js.map +1 -0
- package/dist/types/oidc-types.d.ts +13 -0
- package/dist/types/oidc-types.js +3 -0
- package/dist/types/oidc-types.js.map +1 -0
- package/index.js +50 -0
- package/package.json +105 -0
- package/tsconfig.admin.json +8 -0
- package/tsconfig.json +33 -0
- package/tsconfig.server.json +8 -0
- package/tsconfig.spec.json +5 -0
- package/yarn-error.log +12869 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { WorkflowRequest } from "src/models/workflow-requests";
|
|
2
|
+
import { ApprovedActionCallback } from "../types/global";
|
|
3
|
+
import { AwilixContainer } from "awilix";
|
|
4
|
+
import { TransactionBaseService, User } from "@medusajs/medusa";
|
|
5
|
+
import { Workflow } from "../models/workflow";
|
|
6
|
+
import { WorkflowStage } from "../models/workflow-stage";
|
|
7
|
+
import { UpdateResult } from "typeorm";
|
|
8
|
+
export default class WorkflowService extends TransactionBaseService {
|
|
9
|
+
constructor(container: any, config: any);
|
|
10
|
+
createWorkflow(workflowData: Partial<Workflow>): Promise<Workflow>;
|
|
11
|
+
getWorkflow(id: string): Promise<Workflow>;
|
|
12
|
+
getAllWorkflows(limit?: number, offset?: number): Promise<[Workflow[], number]>;
|
|
13
|
+
deleteWorkflow(workflowId: string): Promise<UpdateResult | boolean>;
|
|
14
|
+
updateWorkflow(workflowId: string, updatedWorkflow: Partial<Workflow>): Promise<Workflow | undefined>;
|
|
15
|
+
addWorkflowStage(stage: WorkflowStage, workflowId: string): Promise<Workflow>;
|
|
16
|
+
getStageByName(workflowId: string, name: string): Promise<WorkflowStage | undefined>;
|
|
17
|
+
getApproversForStage(workflowId: string, stageName: string): Promise<User[] | undefined>;
|
|
18
|
+
getNextStage(workflowId: string, currentStageName: string): Promise<WorkflowStage | undefined>;
|
|
19
|
+
isFinalStage(workflowId: string, stageName: string): Promise<boolean>;
|
|
20
|
+
isLastApprover(workflowId: string, stageName: string, userId: string): Promise<boolean>;
|
|
21
|
+
isApproved(request: WorkflowRequest, callback?: ApprovedActionCallback, container?: AwilixContainer, config?: Record<string, unknown>): Promise<boolean>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable require-jsdoc */
|
|
3
|
+
// Define the WorkflowStage interface
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
const medusa_1 = require("@medusajs/medusa");
|
|
6
|
+
const workflow_1 = require("../models/workflow");
|
|
7
|
+
// Define the Workflow class
|
|
8
|
+
class WorkflowService extends medusa_1.TransactionBaseService {
|
|
9
|
+
constructor(container, config) {
|
|
10
|
+
super(container, config);
|
|
11
|
+
}
|
|
12
|
+
async createWorkflow(workflowData) {
|
|
13
|
+
const workflowRepo = this.manager_.getRepository(workflow_1.Workflow);
|
|
14
|
+
const newWorkflow = workflowRepo.create(workflowData);
|
|
15
|
+
return await workflowRepo.save(newWorkflow);
|
|
16
|
+
}
|
|
17
|
+
async getWorkflow(id) {
|
|
18
|
+
const workflowRepo = this.manager_.getRepository(workflow_1.Workflow);
|
|
19
|
+
return await workflowRepo.findOne({
|
|
20
|
+
where: { id },
|
|
21
|
+
relations: ["stages", "requests"]
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async getAllWorkflows(limit, offset) {
|
|
25
|
+
const workflowRepo = this.manager_.getRepository(workflow_1.Workflow);
|
|
26
|
+
return await workflowRepo.findAndCount({
|
|
27
|
+
skip: offset,
|
|
28
|
+
take: limit
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async deleteWorkflow(workflowId) {
|
|
32
|
+
const workflowRepo = this.manager_.getRepository(workflow_1.Workflow);
|
|
33
|
+
try {
|
|
34
|
+
return await workflowRepo.softDelete({ id: workflowId });
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async updateWorkflow(workflowId, updatedWorkflow) {
|
|
41
|
+
const workflowRepo = this.manager_.getRepository(workflow_1.Workflow);
|
|
42
|
+
const workflow = await workflowRepo.findOne({
|
|
43
|
+
where: { id: workflowId }
|
|
44
|
+
});
|
|
45
|
+
const update = workflowRepo.merge(workflow, updatedWorkflow);
|
|
46
|
+
return await workflowRepo.save(update);
|
|
47
|
+
}
|
|
48
|
+
async addWorkflowStage(stage, workflowId) {
|
|
49
|
+
const workflowRepo = this.manager_.getRepository(workflow_1.Workflow);
|
|
50
|
+
const workflow = await this.getWorkflow(workflowId);
|
|
51
|
+
workflow.stages.push(stage);
|
|
52
|
+
return await workflowRepo.save(workflow);
|
|
53
|
+
}
|
|
54
|
+
// Get a workflow stage by name
|
|
55
|
+
async getStageByName(workflowId, name) {
|
|
56
|
+
const workflow = await this.getWorkflow(workflowId);
|
|
57
|
+
return workflow.stages.find((stage) => stage.name === name);
|
|
58
|
+
}
|
|
59
|
+
// Get the list of approvers for a specific stage by name
|
|
60
|
+
async getApproversForStage(workflowId, stageName) {
|
|
61
|
+
const workflow = await this.getWorkflow(workflowId);
|
|
62
|
+
const stage = await this.getStageByName(workflow.id, stageName);
|
|
63
|
+
return stage.approvers;
|
|
64
|
+
}
|
|
65
|
+
// Get the next stage in the workflow sequence after the given stage
|
|
66
|
+
async getNextStage(workflowId, currentStageName) {
|
|
67
|
+
const workflow = await this.getWorkflow(workflowId);
|
|
68
|
+
const currentIndex = workflow.stages.findIndex((stage) => stage.name === currentStageName);
|
|
69
|
+
if (currentIndex !== -1 && currentIndex < workflow.stages.length - 1) {
|
|
70
|
+
return workflow.stages[currentIndex + 1];
|
|
71
|
+
}
|
|
72
|
+
return undefined; // No next stage found
|
|
73
|
+
}
|
|
74
|
+
// Check if a given stage is the final stage in the workflow
|
|
75
|
+
async isFinalStage(workflowId, stageName) {
|
|
76
|
+
const workflow = await this.getWorkflow(workflowId);
|
|
77
|
+
return workflow[workflow.stages.length - 1].name === stageName;
|
|
78
|
+
}
|
|
79
|
+
// Check if a user is the last approver for a specific stage
|
|
80
|
+
async isLastApprover(workflowId, stageName, userId) {
|
|
81
|
+
const stage = await this.getStageByName(workflowId, stageName);
|
|
82
|
+
if (stage) {
|
|
83
|
+
const approvers = stage.approvers;
|
|
84
|
+
return approvers[approvers.length - 1].id === userId;
|
|
85
|
+
}
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
async isApproved(request, callback, container, config) {
|
|
89
|
+
const totalStages = request.workflow.stages.length; // Total number of stages in the workflow
|
|
90
|
+
// Check if all stages are approved
|
|
91
|
+
if (request.workflow.stages.length === totalStages &&
|
|
92
|
+
request.stageStatus.every((status) => status === "Approved")) {
|
|
93
|
+
// Call the callback function with container and config
|
|
94
|
+
try {
|
|
95
|
+
await callback(container, config);
|
|
96
|
+
return true; // All stages are approved
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
// Handle errors and retries here
|
|
100
|
+
return false; // Return false if there was an error
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return false; // Not all stages are approved
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.default = WorkflowService;
|
|
107
|
+
// You can now use the 'workflow' instance to manage and interact with your workflow stages.
|
|
108
|
+
//# sourceMappingURL=workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/services/workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const customer_1 = require("../models/customer");
|
|
10
|
+
const typeorm_1 = require("typeorm");
|
|
11
|
+
let CustomerSubscriber = class CustomerSubscriber {
|
|
12
|
+
listenTo() {
|
|
13
|
+
return customer_1.Customer;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
CustomerSubscriber = __decorate([
|
|
17
|
+
(0, typeorm_1.EventSubscriber)()
|
|
18
|
+
], CustomerSubscriber);
|
|
19
|
+
exports.default = CustomerSubscriber;
|
|
20
|
+
//# sourceMappingURL=customer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customer.js","sourceRoot":"","sources":["../../src/subscribers/customer.ts"],"names":[],"mappings":";;;;;;;;AAAA,iDAA6C;AAC7C,qCAKiB;AAGF,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAG9B,QAAQ;QACb,OAAO,mBAAQ,CAAC;IAClB,CAAC;CAaF,CAAA;AAlBoB,kBAAkB;IADtC,IAAA,yBAAe,GAAE;GACG,kBAAkB,CAkBtC;kBAlBoB,kBAAkB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ProductService } from "../services/product";
|
|
2
|
+
import { Product } from "../models/product";
|
|
3
|
+
import { EntitySubscriberInterface, InsertEvent } from "typeorm";
|
|
4
|
+
export default class ProductSubscriber implements EntitySubscriberInterface<Product> {
|
|
5
|
+
protected productService: ProductService;
|
|
6
|
+
constructor(container: {
|
|
7
|
+
productService: ProductService;
|
|
8
|
+
});
|
|
9
|
+
listenTo(): typeof Product;
|
|
10
|
+
beforeInsert(event: InsertEvent<Product>): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const product_1 = require("../models/product");
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
let ProductSubscriber = class ProductSubscriber {
|
|
15
|
+
constructor(container) {
|
|
16
|
+
this.productService = container.productService;
|
|
17
|
+
}
|
|
18
|
+
listenTo() {
|
|
19
|
+
return product_1.Product;
|
|
20
|
+
}
|
|
21
|
+
async beforeInsert(event) {
|
|
22
|
+
await this.productService.attachProductToUserStores(event);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
ProductSubscriber = __decorate([
|
|
26
|
+
(0, typeorm_1.EventSubscriber)(),
|
|
27
|
+
__metadata("design:paramtypes", [Object])
|
|
28
|
+
], ProductSubscriber);
|
|
29
|
+
exports.default = ProductSubscriber;
|
|
30
|
+
//# sourceMappingURL=product.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product.js","sourceRoot":"","sources":["../../src/subscribers/product.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,+CAA4C;AAC5C,qCAIiB;AAGF,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAIlC,YAAY,SAA6C;QACrD,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;IACnD,CAAC;IAEM,QAAQ;QACX,OAAO,iBAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAA2B;QAC1C,MAAM,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;CAeJ,CAAA;AA7BoB,iBAAiB;IADrC,IAAA,yBAAe,GAAE;;GACG,iBAAiB,CA6BrC;kBA7BoB,iBAAiB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import StoreService from "../services/store";
|
|
2
|
+
import { Store } from "../models/store";
|
|
3
|
+
import { EntitySubscriberInterface, InsertEvent, UpdateEvent } from "typeorm";
|
|
4
|
+
import RegionService from "../services/region";
|
|
5
|
+
import UserService from "../services/user";
|
|
6
|
+
import { Logger } from "@medusajs/medusa";
|
|
7
|
+
export default class StoreSubscriber implements EntitySubscriberInterface<Store> {
|
|
8
|
+
storeService: StoreService;
|
|
9
|
+
regionService: RegionService;
|
|
10
|
+
logger: Logger;
|
|
11
|
+
userService: UserService;
|
|
12
|
+
constructor(container: {
|
|
13
|
+
storeService: StoreService;
|
|
14
|
+
regionService: RegionService;
|
|
15
|
+
logger: Logger;
|
|
16
|
+
userService: UserService;
|
|
17
|
+
});
|
|
18
|
+
listenTo(): typeof Store;
|
|
19
|
+
/**
|
|
20
|
+
* Relay the event to the handlers.
|
|
21
|
+
* @param event Event to pass to the event handler
|
|
22
|
+
*/
|
|
23
|
+
afterUpdate(event: UpdateEvent<Store>): Promise<void>;
|
|
24
|
+
afterInsert(event: InsertEvent<Store>): Promise<void>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const store_1 = require("../models/store");
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
let StoreSubscriber = class StoreSubscriber {
|
|
15
|
+
constructor(container) {
|
|
16
|
+
this.storeService = container.storeService;
|
|
17
|
+
this.regionService = container.regionService;
|
|
18
|
+
this.userService = container.userService;
|
|
19
|
+
this.logger = container.logger;
|
|
20
|
+
}
|
|
21
|
+
listenTo() {
|
|
22
|
+
return store_1.Store;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Relay the event to the handlers.
|
|
26
|
+
* @param event Event to pass to the event handler
|
|
27
|
+
*/
|
|
28
|
+
/* public async afterInsert(event: InsertEvent<Store>): Promise<void> {
|
|
29
|
+
const eventName = OnMedusaEntityEvent.After.InsertEvent(Store);
|
|
30
|
+
return await eventEmitter.emitAsync(eventName, {
|
|
31
|
+
event,
|
|
32
|
+
transactionalEntityManager: event.manager
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
public async beforeInsert(event: InsertEvent<Store>): Promise<void> {
|
|
36
|
+
const eventName = OnMedusaEntityEvent.Before.InsertEvent(Store);
|
|
37
|
+
return await eventEmitter.emitAsync(eventName, {
|
|
38
|
+
event,
|
|
39
|
+
transactionalEntityManager: event.manager
|
|
40
|
+
});
|
|
41
|
+
}*/
|
|
42
|
+
async afterUpdate(event) {
|
|
43
|
+
this.logger.info("Store Updated:" + JSON.stringify(event.entity));
|
|
44
|
+
}
|
|
45
|
+
async afterInsert(event) {
|
|
46
|
+
await this.userService.associateUserWithNewStore(event);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
StoreSubscriber = __decorate([
|
|
50
|
+
(0, typeorm_1.EventSubscriber)(),
|
|
51
|
+
__metadata("design:paramtypes", [Object])
|
|
52
|
+
], StoreSubscriber);
|
|
53
|
+
exports.default = StoreSubscriber;
|
|
54
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/subscribers/store.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,2CAAwC;AAExC,qCAOiB;AAMF,IAAM,eAAe,GAArB,MAAM,eAAe;IAOhC,YAAY,SAKX;QACG,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IACnC,CAAC;IAEM,QAAQ;QACX,OAAO,aAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH;;;;;;;;;;;;;OAaG;IACI,KAAK,CAAC,WAAW,CAAC,KAAyB;QAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,KAAyB;QAC9C,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;CACJ,CAAA;AAhDoB,eAAe;IADnC,IAAA,yBAAe,GAAE;;GACG,eAAe,CAgDnC;kBAhDoB,eAAe"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import StoreService from "../services/store";
|
|
2
|
+
import { User } from "../models/user";
|
|
3
|
+
import { EntitySubscriberInterface, InsertEvent, UpdateEvent } from "typeorm";
|
|
4
|
+
export default class UserSubscriber implements EntitySubscriberInterface<User> {
|
|
5
|
+
storeService: StoreService;
|
|
6
|
+
constructor(container: {
|
|
7
|
+
storeService: StoreService;
|
|
8
|
+
});
|
|
9
|
+
listenTo(): typeof User;
|
|
10
|
+
/**
|
|
11
|
+
* Relay the event to the handlers.
|
|
12
|
+
* @param event Event to pass to the event handler
|
|
13
|
+
*/
|
|
14
|
+
afterUpdate(event: UpdateEvent<User>): Promise<void>;
|
|
15
|
+
beforeInsert(event: InsertEvent<User>): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const user_1 = require("../models/user");
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
let UserSubscriber = class UserSubscriber {
|
|
15
|
+
constructor(container) {
|
|
16
|
+
this.storeService = container.storeService;
|
|
17
|
+
}
|
|
18
|
+
listenTo() {
|
|
19
|
+
return user_1.User;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Relay the event to the handlers.
|
|
23
|
+
* @param event Event to pass to the event handler
|
|
24
|
+
*/
|
|
25
|
+
/* public async beforeInsert(event: InsertEvent<User>): Promise<void> {
|
|
26
|
+
console.log("BEFORE ENTITY INSERT: ", event.entity);
|
|
27
|
+
const eventName = OnMedusaEntityEvent.Before.InsertEvent(User);
|
|
28
|
+
return await eventEmitter.emitAsync(eventName, {
|
|
29
|
+
event,
|
|
30
|
+
transactionalEntityManager: event.manager
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
public async afterInsert(event: InsertEvent<User>): Promise<void> {
|
|
34
|
+
console.log("AFTER ENTITY INSERT: ", event.entity);
|
|
35
|
+
const eventName = OnMedusaEntityEvent.Before.InsertEvent(User);
|
|
36
|
+
return await eventEmitter.emitAsync(eventName, {
|
|
37
|
+
event,
|
|
38
|
+
transactionalEntityManager: event.manager
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
public async beforeUpdate(event: UpdateEvent<User>): Promise<void> {
|
|
43
|
+
console.log("BEFORE ENTITY UPDATE: ", event.entity);
|
|
44
|
+
const eventName = OnMedusaEntityEvent.Before.UpdateEvent(User);
|
|
45
|
+
return await eventEmitter.emitAsync(eventName, {
|
|
46
|
+
event,
|
|
47
|
+
transactionalEntityManager: event.manager
|
|
48
|
+
});
|
|
49
|
+
}*/
|
|
50
|
+
async afterUpdate(event) {
|
|
51
|
+
await this.storeService.attachExternalAccountToStoreAfterUpdate(event);
|
|
52
|
+
}
|
|
53
|
+
async beforeInsert(event) {
|
|
54
|
+
await this.storeService.createRegisteredStore(event);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
UserSubscriber = __decorate([
|
|
58
|
+
(0, typeorm_1.EventSubscriber)(),
|
|
59
|
+
__metadata("design:paramtypes", [Object])
|
|
60
|
+
], UserSubscriber);
|
|
61
|
+
exports.default = UserSubscriber;
|
|
62
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/subscribers/user.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,yCAAsC;AACtC,qCAKiB;AAGF,IAAM,cAAc,GAApB,MAAM,cAAc;IAG/B,YAAY,SAAyC;QACjD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;IAC/C,CAAC;IAEM,QAAQ;QACX,OAAO,WAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IAEI,KAAK,CAAC,WAAW,CAAC,KAAwB;QAC7C,MAAM,IAAI,CAAC,YAAY,CAAC,uCAAuC,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,KAAwB;QAC9C,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;CACJ,CAAA;AAhDoB,cAAc;IADlC,IAAA,yBAAe,GAAE;;GACG,cAAc,CAgDlC;kBAhDoB,cAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ApprovedActionCallback = (container: any, config: any) => Promise<unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../src/types/global.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface SaasFormUserAuthenticationTokenFormat {
|
|
2
|
+
nonce: string;
|
|
3
|
+
provider: string /** to identify method of creation */;
|
|
4
|
+
url: string;
|
|
5
|
+
id: string;
|
|
6
|
+
account_id?: string;
|
|
7
|
+
account_name?: string;
|
|
8
|
+
status?: string;
|
|
9
|
+
email?: string;
|
|
10
|
+
email_verified?: boolean;
|
|
11
|
+
staff?: boolean;
|
|
12
|
+
username?: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc-types.js","sourceRoot":"","sources":["../../src/types/oidc-types.ts"],"names":[],"mappings":""}
|
package/index.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const express = require("express")
|
|
2
|
+
const { GracefulShutdownServer } = require("medusa-core-utils")
|
|
3
|
+
|
|
4
|
+
const loaders = require("@medusajs/medusa/dist/loaders/index").default
|
|
5
|
+
|
|
6
|
+
;(async() => {
|
|
7
|
+
async function start() {
|
|
8
|
+
const app = express()
|
|
9
|
+
const directory = process.cwd()
|
|
10
|
+
|
|
11
|
+
try {
|
|
12
|
+
const { container } = await loaders({
|
|
13
|
+
directory,
|
|
14
|
+
expressApp: app
|
|
15
|
+
})
|
|
16
|
+
const configModule = container.resolve("configModule")
|
|
17
|
+
const port = process.env.PORT ?? configModule.projectConfig.port ?? 9000
|
|
18
|
+
|
|
19
|
+
const server = GracefulShutdownServer.create(
|
|
20
|
+
app.listen(port, (err) => {
|
|
21
|
+
if (err) {
|
|
22
|
+
return
|
|
23
|
+
}
|
|
24
|
+
console.log(`Server is ready on port: ${port}`)
|
|
25
|
+
})
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
// Handle graceful shutdown
|
|
29
|
+
const gracefulShutDown = () => {
|
|
30
|
+
server
|
|
31
|
+
.shutdown()
|
|
32
|
+
.then(() => {
|
|
33
|
+
console.info("Gracefully stopping the server.")
|
|
34
|
+
process.exit(0)
|
|
35
|
+
})
|
|
36
|
+
.catch((e) => {
|
|
37
|
+
console.error("Error received when shutting down the server.", e)
|
|
38
|
+
process.exit(1)
|
|
39
|
+
})
|
|
40
|
+
}
|
|
41
|
+
process.on("SIGTERM", gracefulShutDown)
|
|
42
|
+
process.on("SIGINT", gracefulShutDown)
|
|
43
|
+
} catch (err) {
|
|
44
|
+
console.error("Error starting server", err)
|
|
45
|
+
process.exit(1)
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
await start()
|
|
50
|
+
})()
|
package/package.json
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sgftech/medusa-plugin-marketplace-v2",
|
|
3
|
+
"version": "0.1.26",
|
|
4
|
+
"description": "A pluging to initiate marketplace and associated workflow",
|
|
5
|
+
"author": "Govind Diwakar",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"sqlite",
|
|
9
|
+
"postgres",
|
|
10
|
+
"typescript",
|
|
11
|
+
"ecommerce",
|
|
12
|
+
"headless",
|
|
13
|
+
"medusa",
|
|
14
|
+
"marketplace",
|
|
15
|
+
"workflows"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"clean": "cross-env ./node_modules/.bin/rimraf dist",
|
|
19
|
+
"build": "cross-env npm run clean && yarn run build:server",
|
|
20
|
+
"build:server": "cross-env npm run clean && tsc -p tsconfig.json",
|
|
21
|
+
"watch": "cross-env tsc --watch",
|
|
22
|
+
"test": "cross-env jest"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@medusajs/admin": "^7.0.1",
|
|
26
|
+
"@medusajs/cache-inmemory": "^1.8.8",
|
|
27
|
+
"@medusajs/cache-redis": "^1.8.8",
|
|
28
|
+
"@medusajs/event-bus-local": "^1.9.6",
|
|
29
|
+
"@medusajs/event-bus-redis": "^1.8.9",
|
|
30
|
+
"@medusajs/file-local": "^1.0.2",
|
|
31
|
+
"@medusajs/icons": "^1.0.0",
|
|
32
|
+
"@medusajs/ui": "^1.0.0",
|
|
33
|
+
"@sgftech/medusa-plugin-marketplace-v2": "/home/ec2-user/hercules/medusa-plugin-marketplace-v2/sgftech-medusa-plugin-marketplace-v2-v0.0.6.tgz",
|
|
34
|
+
"@tanstack/react-query": "4.22.0",
|
|
35
|
+
"awilix": "^8.0.1",
|
|
36
|
+
"axios": "0.27",
|
|
37
|
+
"babel-preset-medusa-package": "^1.1.13",
|
|
38
|
+
"body-parser": "^1.19.0",
|
|
39
|
+
"cors": "^2.8.5",
|
|
40
|
+
"dotenv": "^16.3.1",
|
|
41
|
+
"express": "^4.17.2",
|
|
42
|
+
"medusa-fulfillment-manual": "^1.1.38",
|
|
43
|
+
"medusa-interfaces": "^1.3.7",
|
|
44
|
+
"medusa-payment-manual": "^1.0.24",
|
|
45
|
+
"medusa-payment-stripe": "^6.0.3",
|
|
46
|
+
"prism-react-renderer": "^2.0.4",
|
|
47
|
+
"typeorm": "^0.3.16"
|
|
48
|
+
},
|
|
49
|
+
"peerDependencies": {
|
|
50
|
+
"@medusajs/medusa": "^1.15.1"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@babel/cli": "^7.14.3",
|
|
54
|
+
"@babel/core": "^7.14.3",
|
|
55
|
+
"@babel/preset-typescript": "^7.21.4",
|
|
56
|
+
"@medusajs/medusa": "^1.15.1",
|
|
57
|
+
"@medusajs/medusa-cli": "^1.3.16",
|
|
58
|
+
"@types/express": "^4.17.13",
|
|
59
|
+
"@types/jest": "^27.4.0",
|
|
60
|
+
"@types/node": "^17.0.8",
|
|
61
|
+
"@typescript-eslint/eslint-plugin": "^5.0.0",
|
|
62
|
+
"@typescript-eslint/parser": "^5.0.0",
|
|
63
|
+
"babel-preset-medusa-package": "^1.1.13",
|
|
64
|
+
"cross-env": "^7.0.3",
|
|
65
|
+
"eslint": "^8.23.1",
|
|
66
|
+
"eslint-config-google": "^0.14.0",
|
|
67
|
+
"eslint-config-prettier": "^8.5.0",
|
|
68
|
+
"eslint-config-typescript": "^3.0.0",
|
|
69
|
+
"eslint-plugin-file-progress": "^1.3.0",
|
|
70
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
71
|
+
"jest": "^27.3.1",
|
|
72
|
+
"mongoose": "^5.13.14",
|
|
73
|
+
"prettier": "^2.7.1",
|
|
74
|
+
"rimraf": "^3.0.2",
|
|
75
|
+
"ts-jest": "^27.0.7",
|
|
76
|
+
"ts-loader": "^9.2.6",
|
|
77
|
+
"typescript": "^4.5.2"
|
|
78
|
+
},
|
|
79
|
+
"jest": {
|
|
80
|
+
"globals": {
|
|
81
|
+
"ts-jest": {
|
|
82
|
+
"tsconfig": "tsconfig.spec.json"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"moduleFileExtensions": [
|
|
86
|
+
"js",
|
|
87
|
+
"json",
|
|
88
|
+
"ts"
|
|
89
|
+
],
|
|
90
|
+
"testPathIgnorePatterns": [
|
|
91
|
+
"/node_modules/",
|
|
92
|
+
"<rootDir>/node_modules/"
|
|
93
|
+
],
|
|
94
|
+
"rootDir": "src",
|
|
95
|
+
"testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|js)$",
|
|
96
|
+
"transform": {
|
|
97
|
+
".ts": "ts-jest"
|
|
98
|
+
},
|
|
99
|
+
"collectCoverageFrom": [
|
|
100
|
+
"**/*.(t|j)s"
|
|
101
|
+
],
|
|
102
|
+
"coverageDirectory": "./coverage",
|
|
103
|
+
"testEnvironment": "node"
|
|
104
|
+
}
|
|
105
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es2019",
|
|
4
|
+
"allowJs": true,
|
|
5
|
+
"esModuleInterop": true,
|
|
6
|
+
"module": "commonjs",
|
|
7
|
+
"moduleResolution": "node",
|
|
8
|
+
"emitDecoratorMetadata": true,
|
|
9
|
+
"experimentalDecorators": true,
|
|
10
|
+
"skipLibCheck": true,
|
|
11
|
+
"skipDefaultLibCheck": true,
|
|
12
|
+
"declaration": true,
|
|
13
|
+
"sourceMap": true,
|
|
14
|
+
"outDir": "./dist",
|
|
15
|
+
"rootDir": "./src",
|
|
16
|
+
"baseUrl": ".",
|
|
17
|
+
"jsx": "react-jsx",
|
|
18
|
+
"forceConsistentCasingInFileNames": true,
|
|
19
|
+
"resolveJsonModule": true,
|
|
20
|
+
"checkJs": false
|
|
21
|
+
},
|
|
22
|
+
"include": [
|
|
23
|
+
"src/",
|
|
24
|
+
],
|
|
25
|
+
"exclude": [
|
|
26
|
+
"**/__tests__",
|
|
27
|
+
"**/__fixtures__",
|
|
28
|
+
"node_modules",
|
|
29
|
+
"build",
|
|
30
|
+
".cache",
|
|
31
|
+
"**/**plugin**/src/**"
|
|
32
|
+
]
|
|
33
|
+
}
|