@overmap-ai/core 1.0.50-document-attachments.1 → 1.0.50-fix-error-messaging.0

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.
@@ -1,11 +1,14 @@
1
1
  import request from "superagent";
2
2
  export interface APIErrorOptions {
3
- discard: boolean;
3
+ response?: request.Response;
4
+ innerError?: unknown;
5
+ message?: string;
6
+ discard?: boolean;
4
7
  }
5
8
  export declare class APIError extends Error {
6
9
  status: number;
7
- message: string;
8
10
  response: request.Response | undefined;
11
+ message: string;
9
12
  options: APIErrorOptions;
10
- constructor(message: string, response?: request.Response, options?: APIErrorOptions);
13
+ constructor(options: APIErrorOptions);
11
14
  }
@@ -1,6 +1,6 @@
1
1
  import { BaseApiService } from "./BaseApiService";
2
2
  import type { OptimisticModelResult } from "../typings";
3
- import { ComponentAttachment, ComponentTypeAttachment, Created, IssueAttachment, MaybeObjectURL, AttachmentPayload, Stored, ProjectAttachment, DocumentAttachment, ProjectDocument } from "../../typings";
3
+ import { ComponentAttachment, ComponentTypeAttachment, Created, IssueAttachment, MaybeObjectURL, AttachmentPayload, Stored, ProjectAttachment, Project } from "../../typings";
4
4
  /**
5
5
  * Handles creation and caching of attachments
6
6
  */
@@ -15,25 +15,24 @@ interface CreatedAttachments {
15
15
  component_attachments: Created<ComponentAttachment>[];
16
16
  component_type_attachments: Created<ComponentTypeAttachment>[];
17
17
  project_attachments: Created<ProjectAttachment>[];
18
- document_attachments: Created<DocumentAttachment>[];
19
18
  }
20
19
  export declare class AttachmentService extends BaseApiService {
21
20
  fetchAll(projectId: number): [StoredAttachments, Promise<CreatedAttachments>];
22
21
  addIssueAttachment(attachmentPayload: AttachmentPayload<IssueAttachment>): Promise<OptimisticModelResult<IssueAttachment>>;
23
22
  addComponentAttachment(attachmentPayload: AttachmentPayload<ComponentAttachment>): Promise<OptimisticModelResult<ComponentAttachment>>;
24
23
  addComponentTypeAttachment(attachmentPayload: AttachmentPayload<ComponentTypeAttachment>): Promise<OptimisticModelResult<ComponentTypeAttachment>>;
25
- addDocumentAttachment(attachmentPayload: AttachmentPayload<DocumentAttachment>): Promise<OptimisticModelResult<DocumentAttachment>>;
24
+ addProjectAttachment(attachmentPayload: AttachmentPayload<ProjectAttachment>): Promise<OptimisticModelResult<ProjectAttachment>>;
26
25
  /** the outer Promise is needed to await the hashing of each file, which is required before offline use. If wanting to
27
26
  * attach promise handlers to the request to add the attachment in the backend, apply it on the promise returned from the
28
27
  * OptimisticModelResult. */
29
28
  attachFilesToIssue(filesToSubmit: File[], issueId: string): Promise<OptimisticModelResult<IssueAttachment>>[];
30
29
  attachFilesToComponent(filesToSubmit: File[], componentId: string): Promise<OptimisticModelResult<ComponentAttachment>>[];
31
30
  attachFilesToComponentType(filesToSubmit: File[], componentTypeId: string): Promise<OptimisticModelResult<ComponentTypeAttachment>>[];
32
- attachFilesToDocument(filesToSubmit: File[], documentId: ProjectDocument["offline_id"]): Promise<OptimisticModelResult<DocumentAttachment>>[];
31
+ attachFilesToProject(filesToSubmit: File[], projectId: Project["id"]): Promise<OptimisticModelResult<ProjectAttachment>>[];
33
32
  replaceIssueAttachmentFile(attachmentId: string, newFile: MaybeObjectURL<File>): Promise<OptimisticModelResult<IssueAttachment>>;
34
33
  replaceComponentAttachmentFile(attachmentId: string, newFile: MaybeObjectURL<File>): Promise<OptimisticModelResult<ComponentAttachment>>;
35
34
  replaceComponentTypeAttachmentFile(attachmentId: string, newFile: MaybeObjectURL<File>): Promise<OptimisticModelResult<ComponentTypeAttachment>>;
36
- replaceDocumentAttachmentFile(attachmentId: string, newFile: MaybeObjectURL<File>): Promise<OptimisticModelResult<DocumentAttachment>>;
35
+ replaceProjectAttachmentFile(attachmentId: string, newFile: MaybeObjectURL<File>): Promise<OptimisticModelResult<ProjectAttachment>>;
37
36
  /**
38
37
  * Deletes an attachment and associated data in the cloud, in the Redux store and the cache.
39
38
  * @param issueAttachmentId
@@ -41,6 +40,6 @@ export declare class AttachmentService extends BaseApiService {
41
40
  deleteIssueAttachment(issueAttachmentId: string): Promise<undefined>;
42
41
  deleteComponentAttachment(componentAttachmentId: string): Promise<undefined>;
43
42
  deleteComponentTypeAttachment(componentTypeAttachmentId: string): Promise<undefined>;
44
- deleteDocumentAttachment(documentAttachmentId: string): Promise<undefined>;
43
+ deleteProjectAttachment(projectAttachmentId: string): Promise<undefined>;
45
44
  }
46
45
  export {};
@@ -1,6 +1,6 @@
1
1
  import { BaseApiService } from "./BaseApiService";
2
2
  import { Category, Offline, Payload } from "../../typings";
3
- import { OptimisticEmptyResult, OptimisticGenericResult, OptimisticModelResult } from "../typings";
3
+ import { OptimisticGenericResult, OptimisticModelResult } from "../typings";
4
4
  /**
5
5
  * Handles the creation of Category Service
6
6
  * TODO: Support editing and deleting categories
@@ -9,7 +9,7 @@ export declare class CategoryService extends BaseApiService {
9
9
  add(category: Omit<Payload<Category>, "workspace">, workspaceId: string): OptimisticModelResult<Category>;
10
10
  fetchAll(projectId: number): OptimisticGenericResult<Category[]>;
11
11
  update(category: Offline<Partial<Category>>, workspaceId: string): OptimisticModelResult<Category>;
12
- remove(category: Category, workspaceId: string): OptimisticEmptyResult;
12
+ remove(category: Category, workspaceId: string): Promise<undefined>;
13
13
  /**
14
14
  * Overwrites the store with whatever categories are on the server.
15
15
  * @returns A promise that resolves to an empty result.
@@ -1,6 +1,6 @@
1
1
  import { BaseApiService } from "./BaseApiService";
2
2
  import { ComponentStageCompletion } from "../../store";
3
- import { OptimisticEmptyResult, OptimisticModelResult } from "../typings";
3
+ import { OptimisticModelResult } from "../typings";
4
4
  import { Payload } from "../../typings";
5
5
  export declare class ComponentStageCompletionService extends BaseApiService {
6
6
  add(componentId: string, stageId: string): OptimisticModelResult<ComponentStageCompletion>;
@@ -13,5 +13,5 @@ export declare class ComponentStageCompletionService extends BaseApiService {
13
13
  * @param stageCompletions
14
14
  */
15
15
  bulkAdd(componentTypeId: string, stageCompletions: Payload<ComponentStageCompletion>[]): Promise<void>;
16
- bulkDelete(stageId: string, componentIds: string[]): OptimisticEmptyResult;
16
+ bulkDelete(stageId: string, componentIds: string[]): Promise<undefined>;
17
17
  }
@@ -1,9 +1,9 @@
1
1
  import { Payload } from '../../typings/models/base';
2
2
  import { Workspace } from '../../typings/models/workspace';
3
- import { ApiResult, OptimisticModelResult } from "../typings";
3
+ import { OptimisticModelResult } from "../typings";
4
4
  import { BaseApiService } from "./BaseApiService";
5
5
  export declare class WorkspaceService extends BaseApiService {
6
6
  add(workspace: Payload<Workspace>): OptimisticModelResult<Workspace>;
7
7
  update(workspace: Workspace): OptimisticModelResult<Workspace>;
8
- delete(workspaceId: string): Promise<ApiResult<undefined>>;
8
+ delete(workspaceId: string): Promise<undefined>;
9
9
  }
@@ -55,7 +55,6 @@ export declare const selectNumberOfComponentsOfComponentType: SelectorWithArgs<s
55
55
  export declare const selectComponentTypesFromIds: SelectorWithArgs<string[], ComponentType[]>;
56
56
  export declare const selectComponentAttachmentMapping: (state: RootState) => Record<string, Stored<ComponentAttachment>>;
57
57
  export declare const selectAllComponentAttachments: Selector<Stored<ComponentAttachment>[]>;
58
- export declare const selectComponentAttachment: SelectorWithArgs<string, Stored<ComponentAttachment>>;
59
58
  export declare const selectAttachmentsOfComponent: (args: string) => (state: RootState) => Stored<ComponentAttachment>[];
60
59
  export declare const selectAttachmentsOfComponentByType: (args: string) => (state: RootState) => {
61
60
  fileAttachments: Stored<ComponentAttachment>[];
@@ -1,10 +1,9 @@
1
1
  /// <reference types="@redux-offline/redux-offline" />
2
2
  import { Reducer } from "@reduxjs/toolkit";
3
- import { DocumentAttachment, MovePosition, ProjectDocument, RootState, Selector, SelectorWithArgs, Stored, Submitted } from "../../typings";
3
+ import { MovePosition, ProjectDocument, RootState, Stored, Submitted } from "../../typings";
4
4
  import { AppSelector } from "./componentTypeSlice";
5
5
  export interface DocumentState {
6
6
  documents: Record<string, Stored<ProjectDocument>>;
7
- attachments: Record<string, Stored<DocumentAttachment>>;
8
7
  }
9
8
  export interface MoveDocumentPayload {
10
9
  documentId: ProjectDocument["offline_id"];
@@ -27,32 +26,8 @@ export declare const documentSlice: import("@reduxjs/toolkit").Slice<DocumentSta
27
26
  removeDocuments: (state: import("immer/dist/internal.js").WritableDraft<DocumentState>, action: {
28
27
  payload: string[];
29
28
  }) => void;
30
- setDocumentAttachments: (state: DocumentState, action: {
31
- payload: import('../../typings/models/issues').Created<DocumentAttachment>[];
32
- type: string;
33
- }) => void;
34
- addDocumentAttachment: (state: DocumentState, action: {
35
- payload: Submitted<DocumentAttachment>;
36
- type: string;
37
- }) => void;
38
- addDocumentAttachments: (state: DocumentState, action: {
39
- payload: Submitted<DocumentAttachment>[];
40
- type: string;
41
- }) => void;
42
- updateDocumentAttachment: (state: DocumentState, action: {
43
- payload: Submitted<DocumentAttachment>;
44
- type: string;
45
- }) => void;
46
- removeDocumentAttachment: (state: DocumentState, action: {
47
- payload: string;
48
- type: string;
49
- }) => void;
50
- removeDocumentAttachments: (state: DocumentState, action: {
51
- payload: string[];
52
- type: string;
53
- }) => void;
54
29
  }, "documents">;
55
- export declare const setDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<ProjectDocument[], "documents/setDocuments">, addDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<ProjectDocument[], "documents/addDocuments">, updateDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<Partial<ProjectDocument>>[], "documents/updateDocuments">, moveDocument: import("@reduxjs/toolkit").ActionCreatorWithPayload<MoveDocumentPayload, "documents/moveDocument">, removeDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "documents/removeDocuments">, setDocumentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<import('../../typings/models/issues').Created<DocumentAttachment>[], "documents/setDocumentAttachments">, addDocumentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<DocumentAttachment>, "documents/addDocumentAttachment">, addDocumentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<DocumentAttachment>[], "documents/addDocumentAttachments">, updateDocumentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<DocumentAttachment>, "documents/updateDocumentAttachment">, removeDocumentAttachment: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "documents/removeDocumentAttachment">, removeDocumentAttachments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "documents/removeDocumentAttachments">;
30
+ export declare const setDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<ProjectDocument[], "documents/setDocuments">, addDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<ProjectDocument[], "documents/addDocuments">, updateDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<Submitted<Partial<ProjectDocument>>[], "documents/updateDocuments">, moveDocument: import("@reduxjs/toolkit").ActionCreatorWithPayload<MoveDocumentPayload, "documents/moveDocument">, removeDocuments: import("@reduxjs/toolkit").ActionCreatorWithPayload<string[], "documents/removeDocuments">;
56
31
  export declare const selectDocumentsMapping: AppSelector<Record<string, Stored<ProjectDocument>>>;
57
32
  export declare const selectDocuments: AppSelector<Stored<ProjectDocument>[]>;
58
33
  export declare const selectDocument: (args: string) => (state: RootState) => Stored<ProjectDocument> | undefined;
@@ -89,12 +64,4 @@ export declare const selectRootDocuments: ((state: import("redux").EmptyObject &
89
64
  }> & {
90
65
  clearCache: () => void;
91
66
  };
92
- export declare const selectDocumentAttachmentMapping: (state: RootState) => Record<string, Stored<DocumentAttachment>>;
93
- export declare const selectAllDocumentAttachments: Selector<Stored<DocumentAttachment>[]>;
94
- export declare const selectDocumentAttachment: SelectorWithArgs<string, Stored<DocumentAttachment>>;
95
- export declare const selectAttachmentsOfDocument: (args: string) => (state: RootState) => Stored<DocumentAttachment>[];
96
- export declare const selectAttachmentsOfDocumentByType: (args: string) => (state: RootState) => {
97
- fileAttachments: Stored<DocumentAttachment>[];
98
- imageAttachments: Stored<DocumentAttachment>[];
99
- };
100
67
  export declare const documentsReducer: Reducer<DocumentState>;
@@ -106,7 +106,6 @@ export declare const selectCommentsOfIssue: (args: string) => (state: RootState)
106
106
  export declare const selectIssueUpdateMapping: (state: RootState) => Record<string, Stored<IssueUpdate>>;
107
107
  export declare const selectIssueUpdatesOfIssue: (args: string) => (state: RootState) => Stored<IssueUpdate>[];
108
108
  export declare const selectAttachmentsOfIssue: (args: string) => (state: RootState) => Stored<IssueAttachment>[];
109
- export declare const selectIssueAttachment: SelectorWithArgs<string, Stored<IssueAttachment>>;
110
109
  export declare const selectAttachmentsOfIssueByType: (args: string) => (state: RootState) => {
111
110
  fileAttachments: Stored<IssueAttachment>[];
112
111
  imageAttachments: Stored<IssueAttachment>[];
@@ -3,7 +3,7 @@ import { AnyAction, Reducer } from "redux";
3
3
  import { Config, OfflineAction, OfflineMetadata, OfflineState } from "@redux-offline/redux-offline/lib/types";
4
4
  import request from "superagent";
5
5
  import { type OfflineMetaEffect, type OvermapSDK, RequestDetails } from "../sdk";
6
- import { AuthState, CategoryState, ComponentStageCompletionState, ComponentStageState, ComponentState, ComponentTypeState, EmailDomainState, FileState, IssueState, LicenseState, MapState, OrganizationAccessState, OrganizationState, OutboxState, ProjectAccessState, ProjectFileState, ProjectState, RehydratedState, SettingState, UserFormState, UserState, WorkspaceState, DocumentState } from "./slices";
6
+ import { AuthState, CategoryState, ComponentStageCompletionState, ComponentStageState, ComponentState, ComponentTypeState, DocumentState, EmailDomainState, FileState, IssueState, LicenseState, MapState, OrganizationAccessState, OrganizationState, OutboxState, ProjectAccessState, ProjectFileState, ProjectState, RehydratedState, SettingState, UserFormState, UserState, WorkspaceState } from "./slices";
7
7
  import { VersioningState } from "./slices/versioningSlice";
8
8
  import { RootState } from "../typings";
9
9
  export declare const overmapReducers: {
@@ -1,7 +1,6 @@
1
1
  import { OfflineModel } from "./base";
2
2
  import { MaybeObjectURL, UploadedFileModel } from "../files";
3
3
  import { Project } from "./projects";
4
- import { ProjectDocument } from "./documents";
5
4
  export interface Attachment extends OfflineModel, UploadedFileModel {
6
5
  description?: string;
7
6
  file_name: string;
@@ -21,9 +20,6 @@ export interface ComponentTypeAttachment extends Attachment, UploadedFileModel {
21
20
  export interface ProjectAttachment extends Attachment, UploadedFileModel {
22
21
  project: Project["id"];
23
22
  }
24
- export interface DocumentAttachment extends Attachment, UploadedFileModel {
25
- document: ProjectDocument["offline_id"];
26
- }
27
23
  /** to get an AttachmentPayload for a specific type, pass in the given AttachmentType
28
24
  * ex. AttachmentPayload<IssueAttachment> */
29
25
  export type AttachmentPayload<TAttachment> = Omit<TAttachment, "file" | "submitted_at" | "created_by"> & {
package/package.json CHANGED
@@ -1,152 +1,152 @@
1
- {
2
- "name": "@overmap-ai/core",
3
- "description": "Core functionality for Overmap",
4
- "author": "Wôrdn Inc.",
5
- "license": "UNLICENSED",
6
- "version": "1.0.50-document-attachments.1",
7
- "type": "module",
8
- "main": "dist/overmap-core.umd.cjs",
9
- "module": "dist/overmap-core.js",
10
- "types": "dist/index.d.ts",
11
- "scripts": {
12
- "dev": "vite",
13
- "build": "tsc --noEmit && vite build",
14
- "lint": "tsc --noEmit && eslint . --ext ts,tsx,js,jsx --report-unused-disable-directives --max-warnings 0",
15
- "lint:fix": "eslint . --ext ts,tsx,js,jsx --report-unused-disable-directives --max-warnings 0 --fix",
16
- "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md,html,sass,yaml}\"",
17
- "preview": "vite preview",
18
- "prepare": "husky install",
19
- "storybook": "storybook dev -p 6006",
20
- "build-storybook": "storybook build",
21
- "test": "npx vitest"
22
- },
23
- "dependencies": {
24
- "@hello-pangea/dnd": "^16.5.0",
25
- "@redux-offline/redux-offline": "^2.6.0",
26
- "@reduxjs/toolkit": "^1.9.5",
27
- "color": "^4.2.3",
28
- "dependency-graph": "^1.0.0",
29
- "eslint-plugin-vitest": "^0.3.20",
30
- "file-saver": "^2.0.5",
31
- "formik": "^2.4.5",
32
- "idb": "^7.1.1",
33
- "jwt-decode": "^3.1.2",
34
- "leaflet-draw": "^1.0.4",
35
- "leaflet.markercluster": "^1.5.3",
36
- "linkify-react": "^4.1.3",
37
- "linkifyjs": "^4.1.3",
38
- "localforage": "^1.10.0",
39
- "lodash.clonedeep": "^4.5.0",
40
- "lodash.get": "^4.4.2",
41
- "lodash.set": "^4.3.2",
42
- "react-leaflet": "^4.2.1",
43
- "react-pdf": "^8.0.2",
44
- "react-sketch-canvas": "^6.2.0",
45
- "react-spreadsheet": "^0.9.4",
46
- "redux-persist-migrate": "^5.0.0",
47
- "superagent": "^8.1.2",
48
- "uuid": "^9.0.0",
49
- "xlsx": "^0.18.5"
50
- },
51
- "devDependencies": {
52
- "@esbuild-plugins/node-globals-polyfill": "^0.2.3",
53
- "@esbuild-plugins/node-modules-polyfill": "^0.2.2",
54
- "@overmap-ai/blocks": "^1.0.29-alpha.1",
55
- "@rollup/plugin-commonjs": "^25.0.4",
56
- "@storybook/addon-essentials": "7.3.2",
57
- "@storybook/addon-interactions": "7.3.2",
58
- "@storybook/addon-links": "7.3.2",
59
- "@storybook/addon-onboarding": "1.0.8",
60
- "@storybook/blocks": "7.3.2",
61
- "@storybook/react": "7.3.2",
62
- "@storybook/react-vite": "7.3.2",
63
- "@storybook/testing-library": "0.2.0",
64
- "@testing-library/dom": "^9.3.4",
65
- "@testing-library/react": "^14.1.2",
66
- "@testing-library/user-event": "^14.5.2",
67
- "@tiptap/core": "^2.4.0",
68
- "@types/color": "^3.0.4",
69
- "@types/file-saver": "^2.0.7",
70
- "@types/jwt-decode": "^3.1.0",
71
- "@types/leaflet": "^1.9.3",
72
- "@types/lodash.clonedeep": "^4.5.9",
73
- "@types/lodash.get": "^4.4.9",
74
- "@types/lodash.set": "^4.3.9",
75
- "@types/node": "^20.12.11",
76
- "@types/react": "^18.3.1",
77
- "@types/react-dom": "^18.2.7",
78
- "@types/react-redux": "^7.1.26",
79
- "@types/superagent": "^4.1.18",
80
- "@types/uuid": "^9.0.3",
81
- "@types/xlsx": "^0.0.36",
82
- "@typescript-eslint/eslint-plugin": "^6.4.1",
83
- "@typescript-eslint/parser": "^6.4.1",
84
- "@vitejs/plugin-react-swc": "^3.3.2",
85
- "@vitest/coverage-v8": "^1.2.1",
86
- "eslint": "^8.47.0",
87
- "eslint-config-prettier": "^9.0.0",
88
- "eslint-plugin-import": "^2.28.1",
89
- "eslint-plugin-prettier": "^5.0.0",
90
- "eslint-plugin-react": "^7.33.2",
91
- "eslint-plugin-react-hooks": "^4.6.0",
92
- "eslint-plugin-react-refresh": "^0.4.3",
93
- "eslint-plugin-simple-import-sort": "^10.0.0",
94
- "eslint-plugin-storybook": "^0.6.13",
95
- "happy-dom": "^13.3.1",
96
- "husky": "^8.0.3",
97
- "jsdom": "^23.2.0",
98
- "leaflet": "^1.9.0",
99
- "lint-staged": "^15.1.0",
100
- "prettier": "^3.0.2",
101
- "react": "^18.2.0",
102
- "react-dom": "^18.2.0",
103
- "react-hooks": "^1.0.1",
104
- "react-redux": "^8.1.2",
105
- "redux": "^4.2.1",
106
- "rollup-plugin-polyfill-node": "^0.12.0",
107
- "sass": "^1.66.1",
108
- "storybook": "7.3.2",
109
- "typescript": "^5.2.2",
110
- "vite": "^4.4.5",
111
- "vite-plugin-dts": "^3.5.2",
112
- "vite-plugin-externalize-deps": "^0.7.0",
113
- "vitest": "^1.2.1"
114
- },
115
- "peerDependencies": {
116
- "@overmap-ai/blocks": "1.0.8",
117
- "@tiptap/core": "^2.4.0",
118
- "leaflet": "^1.9.0",
119
- "react": "^18.2.0",
120
- "react-dom": "^18.2.0",
121
- "react-redux": "^8.1.2"
122
- },
123
- "resolutions": {
124
- "//": "Workaround for eslint issue: https://github.com/eslint/eslint/discussions/17215",
125
- "strip-ansi": "6.0.1",
126
- "string-width": "4.2.2",
127
- "wrap-ansi": "7.0.0"
128
- },
129
- "lint-staged": {
130
- "src/**/*.{js,jsx,ts,tsx}": [
131
- "yarn lint",
132
- "yarn format"
133
- ]
134
- },
135
- "files": [
136
- "dist"
137
- ],
138
- "keywords": [
139
- "react",
140
- "geospacial",
141
- "map",
142
- "components"
143
- ],
144
- "homepage": "https://overmap.ai",
145
- "repository": {
146
- "type": "git",
147
- "url": "git+https://github.com/hemora-app/overmap-core.git"
148
- },
149
- "bugs": {
150
- "url": "https://github.com/hemora-app/overmap-core/issues"
151
- }
152
- }
1
+ {
2
+ "name": "@overmap-ai/core",
3
+ "description": "Core functionality for Overmap",
4
+ "author": "Wôrdn Inc.",
5
+ "license": "UNLICENSED",
6
+ "version": "1.0.50-fix-error-messaging.0",
7
+ "type": "module",
8
+ "main": "dist/overmap-core.umd.cjs",
9
+ "module": "dist/overmap-core.js",
10
+ "types": "dist/index.d.ts",
11
+ "scripts": {
12
+ "dev": "vite",
13
+ "build": "tsc --noEmit && vite build",
14
+ "lint": "tsc --noEmit && eslint . --ext ts,tsx,js,jsx --report-unused-disable-directives --max-warnings 0",
15
+ "lint:fix": "eslint . --ext ts,tsx,js,jsx --report-unused-disable-directives --max-warnings 0 --fix",
16
+ "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md,html,sass,yaml}\"",
17
+ "preview": "vite preview",
18
+ "prepare": "husky install",
19
+ "storybook": "storybook dev -p 6006",
20
+ "build-storybook": "storybook build",
21
+ "test": "npx vitest"
22
+ },
23
+ "dependencies": {
24
+ "@hello-pangea/dnd": "^16.5.0",
25
+ "@redux-offline/redux-offline": "^2.6.0",
26
+ "@reduxjs/toolkit": "^1.9.5",
27
+ "color": "^4.2.3",
28
+ "dependency-graph": "^1.0.0",
29
+ "eslint-plugin-vitest": "^0.3.20",
30
+ "file-saver": "^2.0.5",
31
+ "formik": "^2.4.5",
32
+ "idb": "^7.1.1",
33
+ "jwt-decode": "^3.1.2",
34
+ "leaflet-draw": "^1.0.4",
35
+ "leaflet.markercluster": "^1.5.3",
36
+ "linkify-react": "^4.1.3",
37
+ "linkifyjs": "^4.1.3",
38
+ "localforage": "^1.10.0",
39
+ "lodash.clonedeep": "^4.5.0",
40
+ "lodash.get": "^4.4.2",
41
+ "lodash.set": "^4.3.2",
42
+ "react-leaflet": "^4.2.1",
43
+ "react-pdf": "^8.0.2",
44
+ "react-sketch-canvas": "^6.2.0",
45
+ "react-spreadsheet": "^0.9.4",
46
+ "redux-persist-migrate": "^5.0.0",
47
+ "superagent": "^8.1.2",
48
+ "uuid": "^9.0.0",
49
+ "xlsx": "^0.18.5"
50
+ },
51
+ "devDependencies": {
52
+ "@esbuild-plugins/node-globals-polyfill": "^0.2.3",
53
+ "@esbuild-plugins/node-modules-polyfill": "^0.2.2",
54
+ "@overmap-ai/blocks": "^1.0.29-alpha.1",
55
+ "@rollup/plugin-commonjs": "^25.0.4",
56
+ "@storybook/addon-essentials": "7.3.2",
57
+ "@storybook/addon-interactions": "7.3.2",
58
+ "@storybook/addon-links": "7.3.2",
59
+ "@storybook/addon-onboarding": "1.0.8",
60
+ "@storybook/blocks": "7.3.2",
61
+ "@storybook/react": "7.3.2",
62
+ "@storybook/react-vite": "7.3.2",
63
+ "@storybook/testing-library": "0.2.0",
64
+ "@testing-library/dom": "^9.3.4",
65
+ "@testing-library/react": "^14.1.2",
66
+ "@testing-library/user-event": "^14.5.2",
67
+ "@tiptap/core": "^2.4.0",
68
+ "@types/color": "^3.0.4",
69
+ "@types/file-saver": "^2.0.7",
70
+ "@types/jwt-decode": "^3.1.0",
71
+ "@types/leaflet": "^1.9.3",
72
+ "@types/lodash.clonedeep": "^4.5.9",
73
+ "@types/lodash.get": "^4.4.9",
74
+ "@types/lodash.set": "^4.3.9",
75
+ "@types/node": "^20.12.11",
76
+ "@types/react": "^18.3.1",
77
+ "@types/react-dom": "^18.2.7",
78
+ "@types/react-redux": "^7.1.26",
79
+ "@types/superagent": "^4.1.18",
80
+ "@types/uuid": "^9.0.3",
81
+ "@types/xlsx": "^0.0.36",
82
+ "@typescript-eslint/eslint-plugin": "^6.4.1",
83
+ "@typescript-eslint/parser": "^6.4.1",
84
+ "@vitejs/plugin-react-swc": "^3.3.2",
85
+ "@vitest/coverage-v8": "^1.2.1",
86
+ "eslint": "^8.47.0",
87
+ "eslint-config-prettier": "^9.0.0",
88
+ "eslint-plugin-import": "^2.28.1",
89
+ "eslint-plugin-prettier": "^5.0.0",
90
+ "eslint-plugin-react": "^7.33.2",
91
+ "eslint-plugin-react-hooks": "^4.6.0",
92
+ "eslint-plugin-react-refresh": "^0.4.3",
93
+ "eslint-plugin-simple-import-sort": "^10.0.0",
94
+ "eslint-plugin-storybook": "^0.6.13",
95
+ "happy-dom": "^13.3.1",
96
+ "husky": "^8.0.3",
97
+ "jsdom": "^23.2.0",
98
+ "leaflet": "^1.9.0",
99
+ "lint-staged": "^15.1.0",
100
+ "prettier": "^3.0.2",
101
+ "react": "^18.2.0",
102
+ "react-dom": "^18.2.0",
103
+ "react-hooks": "^1.0.1",
104
+ "react-redux": "^8.1.2",
105
+ "redux": "^4.2.1",
106
+ "rollup-plugin-polyfill-node": "^0.12.0",
107
+ "sass": "^1.66.1",
108
+ "storybook": "7.3.2",
109
+ "typescript": "^5.2.2",
110
+ "vite": "^4.4.5",
111
+ "vite-plugin-dts": "^3.5.2",
112
+ "vite-plugin-externalize-deps": "^0.7.0",
113
+ "vitest": "^1.2.1"
114
+ },
115
+ "peerDependencies": {
116
+ "@overmap-ai/blocks": "1.0.8",
117
+ "@tiptap/core": "^2.4.0",
118
+ "leaflet": "^1.9.0",
119
+ "react": "^18.2.0",
120
+ "react-dom": "^18.2.0",
121
+ "react-redux": "^8.1.2"
122
+ },
123
+ "resolutions": {
124
+ "//": "Workaround for eslint issue: https://github.com/eslint/eslint/discussions/17215",
125
+ "strip-ansi": "6.0.1",
126
+ "string-width": "4.2.2",
127
+ "wrap-ansi": "7.0.0"
128
+ },
129
+ "lint-staged": {
130
+ "src/**/*.{js,jsx,ts,tsx}": [
131
+ "yarn lint",
132
+ "yarn format"
133
+ ]
134
+ },
135
+ "files": [
136
+ "dist"
137
+ ],
138
+ "keywords": [
139
+ "react",
140
+ "geospacial",
141
+ "map",
142
+ "components"
143
+ ],
144
+ "homepage": "https://overmap.ai",
145
+ "repository": {
146
+ "type": "git",
147
+ "url": "git+https://github.com/hemora-app/overmap-core.git"
148
+ },
149
+ "bugs": {
150
+ "url": "https://github.com/hemora-app/overmap-core/issues"
151
+ }
152
+ }