@todesktop/shared 7.189.25 → 7.191.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.
Files changed (47) hide show
  1. package/.legacy-sync.json +6 -0
  2. package/.prettierignore +0 -2
  3. package/CHANGELOG.md +13 -0
  4. package/README.md +42 -15
  5. package/eslint.config.mjs +8 -55
  6. package/lib/base.d.ts +81 -75
  7. package/lib/base.js +9 -12
  8. package/lib/desktopify.d.ts +74 -74
  9. package/lib/desktopify.js +28 -35
  10. package/lib/desktopify2.d.ts +224 -220
  11. package/lib/desktopify2.js +2 -5
  12. package/lib/getSiteInfo.d.ts +6 -6
  13. package/lib/getSiteInfo.js +1 -2
  14. package/lib/hsm.d.ts +1 -1
  15. package/lib/hsm.js +5 -12
  16. package/lib/index.d.ts +12 -13
  17. package/lib/index.js +13 -31
  18. package/lib/invitePermissionLabels.d.ts +4 -2
  19. package/lib/invitePermissionLabels.js +14 -11
  20. package/lib/personalAccessTokens.d.ts +12 -12
  21. package/lib/personalAccessTokens.js +1 -2
  22. package/lib/plans.d.ts +27 -27
  23. package/lib/plans.js +181 -185
  24. package/lib/plugin.d.ts +23 -14
  25. package/lib/plugin.js +1 -2
  26. package/lib/toDesktop.d.ts +66 -66
  27. package/lib/toDesktop.js +1 -2
  28. package/lib/translation.d.ts +1 -1
  29. package/lib/translation.js +1 -2
  30. package/lib/validations.d.ts +66 -66
  31. package/lib/validations.js +54 -56
  32. package/package.json +11 -17
  33. package/src/base.ts +89 -82
  34. package/src/desktopify.ts +82 -80
  35. package/src/desktopify2.ts +241 -237
  36. package/src/getSiteInfo.ts +6 -6
  37. package/src/hsm.ts +7 -7
  38. package/src/index.ts +13 -14
  39. package/src/invitePermissionLabels.ts +20 -6
  40. package/src/personalAccessTokens.ts +12 -12
  41. package/src/plans.ts +191 -191
  42. package/src/plugin.ts +24 -14
  43. package/src/toDesktop.ts +70 -70
  44. package/src/translation.ts +2 -2
  45. package/src/validations.ts +51 -49
  46. package/tsconfig.json +6 -3
  47. package/.prettierrc +0 -5
package/src/plugin.ts CHANGED
@@ -1,47 +1,57 @@
1
1
  type AjvJSONSchemaType = object;
2
2
  export interface DesktopAppPlugin {
3
+ /**
4
+ * Package name, including version information.
5
+ * e.g. "@todesktop/plugin-foo", "@todesktop/plugin-baz@1.0.0"
6
+ */
7
+ package: string;
8
+
3
9
  /**
4
10
  * Configuration gathered from the todesktop plugin.
5
11
  * Named `todesktop` to clarify that it maps to the `todesktop` key on the package.json
6
12
  */
7
13
  todesktop?: ToDesktopPlugin;
14
+ }
8
15
 
9
- /**
10
- * Package name, including version information.
11
- * e.g. "@todesktop/plugin-foo", "@todesktop/plugin-baz@1.0.0"
12
- */
13
- package: string;
16
+ export interface CustomPlugin {
17
+ addedAt: string;
18
+ description?: string;
19
+ displayName?: string;
20
+ lastLinkedAt?: string;
21
+ packageName: string;
22
+ sourcePath: string;
23
+ todesktop: ToDesktopPlugin;
14
24
  }
15
25
 
16
26
  export type ToDesktopPlugin = {
17
- namespace: string;
18
- version: number;
19
27
  main?: string;
20
- preload?: string;
28
+ namespace: string;
21
29
  preferences?: PluginPreferences;
30
+ preload?: string;
31
+ version: number;
22
32
  };
23
33
 
24
34
  export type PluginPreferences = {
25
35
  [id: string]: PluginPreference;
26
36
  };
27
37
 
28
- export type PluginPreference = NumberSpec | TextSpec | CheckboxSpec;
38
+ export type PluginPreference = CheckboxSpec | NumberSpec | TextSpec;
29
39
 
30
40
  export type TextSpec = PreferenceSpec<
31
41
  'text',
32
42
  {
43
+ placeholder?: string;
33
44
  validator?: AjvJSONSchemaType;
34
45
  value?: string;
35
- placeholder?: string;
36
46
  }
37
47
  >;
38
48
 
39
49
  export type NumberSpec = PreferenceSpec<
40
50
  'number',
41
51
  {
52
+ placeholder?: number;
42
53
  validator?: AjvJSONSchemaType;
43
54
  value?: number;
44
- placeholder?: number;
45
55
  }
46
56
  >;
47
57
 
@@ -54,9 +64,9 @@ export type CheckboxSpec = PreferenceSpec<
54
64
  >;
55
65
 
56
66
  interface PreferenceSpec<T, V> {
57
- name: string;
58
67
  description: string;
59
- type: T;
60
- spec: V;
68
+ name: string;
61
69
  order?: number;
70
+ spec: V;
71
+ type: T;
62
72
  }
package/src/toDesktop.ts CHANGED
@@ -3,28 +3,28 @@ import { IAppBuilderLib } from './desktopify';
3
3
  import { PatSummary } from './personalAccessTokens';
4
4
 
5
5
  export type IUploadFileStatus =
6
+ | 'done'
6
7
  | 'error'
8
+ | 'removed'
7
9
  | 'success'
8
- | 'done'
9
- | 'uploading'
10
- | 'removed';
10
+ | 'uploading';
11
11
 
12
12
  export interface IUploadFile {
13
- uid: string;
14
- size: number;
15
- name: string;
13
+ error?: any;
16
14
  fileName?: string;
17
15
  lastModified?: number;
18
16
  lastModifiedDate?: Date;
19
- url?: string;
20
- status?: IUploadFileStatus;
21
- percent?: number;
22
- thumbUrl?: string;
17
+ linkProps?: any;
18
+ name: string;
23
19
  originFileObj?: File;
20
+ percent?: number;
24
21
  response?: any;
25
- error?: any;
26
- linkProps?: any;
22
+ size: number;
23
+ status?: IUploadFileStatus;
24
+ thumbUrl?: string;
27
25
  type: string;
26
+ uid: string;
27
+ url?: string;
28
28
  }
29
29
 
30
30
  export interface IHueIcon extends IUploadFile {
@@ -38,47 +38,47 @@ export interface IAppIcon {
38
38
  export type IAppIcons = IAppIcon[];
39
39
 
40
40
  export interface IAppWindowOptions {
41
- startInFullscreenMode: boolean;
42
- isResizable: boolean;
43
- width: number;
44
- height: number;
45
- hasMinWidth: boolean;
46
- hasMinHeight: boolean;
47
- hasMaxWidth: boolean;
41
+ alwaysOnTop: boolean;
42
+ autoHideMenuBar: boolean;
48
43
  hasMaxHeight: boolean;
49
- minWidth: number;
50
- minHeight: number;
51
- maxWidth: number;
52
- maxHeight: number;
44
+ hasMaxWidth: boolean;
45
+ hasMinHeight: boolean;
46
+ hasMinWidth: boolean;
47
+ height: number;
53
48
  isMaximizable: boolean;
54
49
  isMinimizable: boolean;
50
+ isResizable: boolean;
51
+ maxHeight: number;
52
+ maxWidth: number;
53
+ minHeight: number;
54
+ minWidth: number;
55
55
 
56
- transparentTitlebar: boolean;
57
- alwaysOnTop: boolean;
56
+ startInFullscreenMode: boolean;
58
57
  transparentInsetTitlebar: boolean;
59
- autoHideMenuBar: boolean;
58
+ transparentTitlebar: boolean;
59
+ width: number;
60
60
  }
61
61
 
62
62
  export interface IWindowOptions {
63
+ height: number;
63
64
  isAlwaysOnTop?: boolean;
64
65
  isAutoHideMenuBar?: boolean;
66
+ isFullScreenStartEnabled?: boolean;
67
+ isInsetTitlebarTransparent?: boolean;
65
68
  isMaximizable: boolean;
66
69
  isMinimizable: boolean;
67
70
  isResizable: boolean;
68
- isInsetTitlebarTransparent?: boolean;
69
71
  isTitlebarTransparent?: boolean;
70
- isFullScreenStartEnabled?: boolean;
71
- width: number;
72
- height: number;
73
72
  maxHeight?: ISwitchableValue<number>;
74
- minHeight?: ISwitchableValue<number>;
75
73
  maxWidth?: ISwitchableValue<number>;
74
+ minHeight?: ISwitchableValue<number>;
76
75
  minWidth?: ISwitchableValue<number>;
76
+ width: number;
77
77
  }
78
78
 
79
79
  export interface IAppPublishedVersions {
80
- electron?: string;
81
80
  desktopify?: string;
81
+ electron?: string;
82
82
  version?: string;
83
83
  }
84
84
 
@@ -88,10 +88,10 @@ export interface ISwitchableValue<T> {
88
88
  }
89
89
 
90
90
  export interface IIcon {
91
- url: string;
92
- width: number;
93
91
  height: number;
94
92
  type: string;
93
+ url: string;
94
+ width: number;
95
95
  }
96
96
 
97
97
  export interface IApp extends BaseApp {
@@ -104,120 +104,120 @@ export interface IApp extends BaseApp {
104
104
  customDomain?: string;
105
105
  customUserAgent?: ISwitchableValue<string>;
106
106
  disableContextMenu?: boolean;
107
+ enablePushNotifications?: boolean;
107
108
  environmentVariables?: {
108
109
  // values that have been made secret need to be retrieved from azure key vault
109
- [propertyName: string]: string | { secret: string };
110
+ [propertyName: string]: { secret: string } | string;
110
111
  };
112
+ extraBrowserWindowOptions?: string;
111
113
  icon?: string;
112
114
  icons?: IIcon[];
113
115
  internalUrls?: ISwitchableValue<string>;
116
+ isBackgroundThrottlingPrevented?: boolean;
114
117
  isContextMenuDisabled: boolean;
115
118
  isDevToolsDisabled: boolean;
116
119
  isFindInPageEnabled?: boolean;
120
+ isGoogleOAuthExternal?: boolean;
117
121
  isNativeWindowOpenDisabled?: boolean;
118
122
  isSingleInstance?: boolean;
119
- isWebSecurityDisabled?: boolean;
120
- isBackgroundThrottlingPrevented?: boolean;
121
- isGoogleOAuthExternal?: boolean;
122
123
  isTitleStatic?: boolean;
123
- shouldMakeSameDomainAnExternalLink?: boolean;
124
- shouldUseRealUserAgent?: boolean;
125
- extraBrowserWindowOptions?: string;
126
- enablePushNotifications?: boolean;
127
124
  isTransitioningFromSquirrelWindows?: boolean;
125
+ isWebSecurityDisabled?: boolean;
128
126
  jsToInject?: string;
129
127
  menubarIcon?: string;
130
128
  name: string;
131
129
  nsisConfig?: Partial<IAppBuilderLib['config']['nsis']>;
130
+ pollForAppUpdatesEveryXMinutes?: number;
132
131
  runtimeEnvs?: string;
133
132
  secret?: string; // support old schema versions
134
133
  shouldLaunchAtStartupByDefault?: boolean;
134
+ shouldMakeSameDomainAnExternalLink?: boolean;
135
135
  shouldOnlySendAbsolutelyNecessaryRequests?: boolean;
136
136
  shouldReuseRendererProcess?: boolean;
137
- themeSource?: 'system' | 'light' | 'dark';
138
- themeSourceMac?: 'system' | 'light' | 'dark';
137
+ shouldUseRealUserAgent?: boolean;
138
+ themeSource?: 'dark' | 'light' | 'system';
139
+ themeSourceMac?: 'dark' | 'light' | 'system';
139
140
  toggleVisibilityKeyboardShortcut?: ISwitchableValue<string>;
140
141
  trayIcon?: string;
141
142
  url: string;
142
- windowOptions: IWindowOptions;
143
- pollForAppUpdatesEveryXMinutes?: number;
144
143
  useSafeInternalUrlMatcher?: boolean;
144
+ windowOptions: IWindowOptions;
145
145
  }
146
146
 
147
147
  export interface IUser extends Schemable {
148
- id: string;
148
+ accessToken?: string;
149
+ allowedIPs?: string[];
149
150
  authInfo?: object;
150
151
  avatar?: string;
152
+ cliAccessTokens?: PatSummary[];
151
153
  currentApplication?: string;
152
154
  customerId?: string;
155
+ disableShouldCodeSign?: boolean;
153
156
  email?: string;
157
+ featureFlags?: FeatureFlags;
154
158
  firstName?: string;
155
- lastName?: string;
156
- stripeCustomerId?: string;
157
- isOldAccountThatNeedsNewPassword?: boolean;
158
- accessToken?: string;
159
- cliAccessTokens?: PatSummary[];
159
+ id: string;
160
160
  isAdmin?: boolean;
161
161
  isImpersonator?: boolean;
162
- featureFlags?: FeatureFlags;
163
- disableShouldCodeSign?: boolean;
164
- allowedIPs?: string[];
165
- seenReleaseTutorial?: boolean;
162
+ isOldAccountThatNeedsNewPassword?: boolean;
163
+ lastName?: string;
166
164
  seenApplicationGroupsTutorial?: boolean;
165
+ seenReleaseTutorial?: boolean;
166
+ stripeCustomerId?: string;
167
167
  }
168
168
 
169
169
  export interface FeatureFlags {
170
+ // Whether the user can see the toggle for allowing blank urls
171
+ aboutBlankWindowOpenHandler: boolean;
172
+
170
173
  // Whether the user can install desktop app plugins using the ToDesktop Builder
171
174
  desktopAppPlugins: boolean;
172
175
 
173
176
  // Whether the user can create builds for the mac app store.
174
177
  macAppStore: boolean;
175
-
176
- // Whether the user can see the toggle for allowing blank urls
177
- aboutBlankWindowOpenHandler: boolean;
178
178
  }
179
179
 
180
180
  export interface InvitePermissions {
181
181
  canBuild: boolean;
182
- canRelease: boolean;
183
182
  canManageBilling?: boolean;
184
183
  canManageUsers?: boolean;
184
+ canRelease: boolean;
185
185
  }
186
186
 
187
- export type InviteActorRole = 'owner' | 'delegate';
187
+ export type InviteActorRole = 'delegate' | 'owner';
188
188
 
189
189
  export interface InviteActorCapabilities {
190
- actorId: string;
191
190
  actorEmail: string;
192
- actorRole: InviteActorRole;
191
+ actorId: string;
193
192
  actorPermissions: InvitePermissions;
193
+ actorRole: InviteActorRole;
194
194
  }
195
195
 
196
196
  // uses an `email` identifier because an invited user may not have an account
197
197
  export interface UserIHaveSentInviteTo {
198
198
  email: string;
199
- permissions?: InvitePermissions;
199
+ inviterCapabilities?: InviteActorCapabilities;
200
200
  name: string;
201
+ permissions?: InvitePermissions;
201
202
  // this allows us to encode information about the sender without loosening firebase privileges
202
203
  sender: UserIHaveAcceptedInviteFrom;
203
- inviterCapabilities?: InviteActorCapabilities;
204
204
  }
205
205
 
206
206
  export interface UserIHaveAcceptedInviteFrom {
207
- id: string;
208
207
  email: string;
209
208
  firstName: string;
209
+ id: string;
210
210
  lastName: string;
211
211
 
212
- // duplicated user details about the person who accepted the invite
213
- receiver?: Pick<IUser, 'id' | 'email'>;
214
212
  permissions?: InvitePermissions;
213
+ // duplicated user details about the person who accepted the invite
214
+ receiver?: Pick<IUser, 'email' | 'id'>;
215
215
  }
216
216
 
217
217
  export interface CiInput {
218
+ accessToken: string;
218
219
  appData: IApp;
219
220
  buildId?: string;
220
- userId: string;
221
221
  contextUserId: string;
222
- accessToken: string;
222
+ userId: string;
223
223
  }
@@ -1,6 +1,6 @@
1
1
  export type ValidTranslationKeys =
2
- | 'updateNotification.title'
3
- | 'updateNotification.body';
2
+ | 'updateNotification.body'
3
+ | 'updateNotification.title';
4
4
  export type ValidTranslationLanguages = 'default';
5
5
  /* TODO - Support more languages here */
6
6
  // | "en"
@@ -1,22 +1,23 @@
1
+ import isRegex from 'is-regex';
2
+ import semver from 'semver';
1
3
  import * as yup from 'yup';
2
- import * as semver from 'semver';
3
- import * as isRegex from 'is-regex';
4
4
  import { DesktopifyApp2 } from './desktopify2';
5
5
  import { DesktopAppPlugin } from './plugin';
6
+
6
7
  export const appTitleValidation = yup
7
8
  .string()
8
9
  .label('App title')
9
10
  .max(26)
10
11
  .matches(
11
12
  /^[\w\-\s]+$/,
12
- 'App title may contain letters, numbers, spaces and dashes only'
13
+ 'App title may contain letters, numbers, spaces and dashes only',
13
14
  )
14
15
  .matches(/^[^\s]+(\s+[^\s]+)*$/, 'App title may not begin or end with space')
15
16
  .required();
16
17
 
17
18
  function isNumeric(str: string) {
18
- if (typeof str != 'string') return false;
19
- return !isNaN(Number(str)) && !isNaN(parseFloat(str));
19
+ if (typeof str !== 'string') return false;
20
+ return !Number.isNaN(Number(str)) && !Number.isNaN(parseFloat(str));
20
21
  }
21
22
 
22
23
  function isNumericSemver(value: string) {
@@ -43,8 +44,8 @@ export const forceVersionValidation = yup
43
44
  isNumericSemver(forceVersion) &&
44
45
  semver.gt(forceVersion, currentVersion)
45
46
  );
46
- }
47
- )
47
+ },
48
+ ),
48
49
  );
49
50
 
50
51
  export const iconValidation = yup
@@ -58,10 +59,10 @@ export const urlValidation = yup
58
59
  .matches(
59
60
  /^(?:([a-z0-9+.-]+):\/\/)(?:\S+(?::\S*)?@)?(?:(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*\.?)(?::\d{2,5})?(?:[/?#]\S*)?$/,
60
61
  {
62
+ excludeEmptyString: true,
61
63
  message:
62
64
  "Invalid URL. Don't forget to include the protocol (e.g.. https://).",
63
- excludeEmptyString: true,
64
- }
65
+ },
65
66
  )
66
67
  .label('Website URL')
67
68
  .required();
@@ -102,12 +103,13 @@ export const internalAppRegexValidation = yup
102
103
  return forwardSlashCount === backSlashEscapeCount;
103
104
  }
104
105
  return true;
105
- }
106
+ },
106
107
  )
107
108
  .test(
108
109
  'is-regex',
110
+ // eslint-disable-next-line no-template-curly-in-string
109
111
  '${path} must be valid regular expression',
110
- (value: string) => isRegex(RegExp(value))
112
+ (value: string) => isRegex(RegExp(value)),
111
113
  );
112
114
 
113
115
  export const appProtocolValidation = yup
@@ -117,73 +119,73 @@ export const appProtocolValidation = yup
117
119
  .test(
118
120
  'ends-with-protocol',
119
121
  'Protocols must end with `://`',
120
- (value: string) => value.endsWith('://')
122
+ (value: string) => value.endsWith('://'),
121
123
  )
122
124
  .test(
123
125
  'is-lowercase',
124
126
  'Protocols must be lowercase',
125
- (value) => value === value.toLowerCase()
127
+ (value) => value === value.toLowerCase(),
126
128
  )
127
129
  .matches(
128
130
  /^[a-zA-Z-.]+:\/\/$/,
129
- 'Protocols contain letters, dots (.) and dashes (-) only'
131
+ 'Protocols contain letters, dots (.) and dashes (-) only',
130
132
  )
131
133
  .min(5);
132
134
 
133
135
  export const appConfigValidation = yup.object({
134
- id: yup.string().required(),
135
- name: appTitleValidation,
136
- url: urlValidation,
137
- isFrameBlocked: yup.boolean().required(),
138
- iconUrl: iconValidation,
139
- disableDevTools: yup.boolean().required(),
140
- singleInstance: yup.boolean().required(),
141
136
  customUserAgent: yup.string().required(),
137
+ disableDevTools: yup.boolean().required(),
138
+ iconUrl: iconValidation,
139
+ id: yup.string().required(),
142
140
  internalURLs: yup.string().required(),
141
+ isFrameBlocked: yup.boolean().required(),
142
+ meta: yup
143
+ .object({
144
+ appIterations: yup.number().required(),
145
+ hasAppChanged: yup.boolean().required(),
146
+ publishedVersions: yup.object({
147
+ desktopify: yup.string().notRequired(),
148
+ electron: yup.string().notRequired(),
149
+ version: yup.string().notRequired(),
150
+ }),
151
+ schemaVersion: yup.number().required(),
152
+ })
153
+ .required(),
154
+ name: appTitleValidation,
143
155
  secret: yup.string().required(),
156
+ singleInstance: yup.boolean().required(),
157
+ url: urlValidation,
144
158
  windowOptions: yup
145
159
  .object({
146
- startInFullscreenMode: yup.boolean().required(),
147
- isResizable: yup.boolean().required(),
148
- width: yup.number().required(),
149
- height: yup.number().required(),
150
- hasMinWidth: yup.boolean().required(),
151
- hasMinHeight: yup.boolean().required(),
152
- hasMaxWidth: yup.boolean().required(),
153
160
  hasMaxHeight: yup.boolean().required(),
154
- minWidth: yup.number().required(),
155
- minHeight: yup.number().required(),
156
- maxWidth: yup.number().required(),
157
- maxHeight: yup.number().required(),
161
+ hasMaxWidth: yup.boolean().required(),
162
+ hasMinHeight: yup.boolean().required(),
163
+ hasMinWidth: yup.boolean().required(),
164
+ height: yup.number().required(),
165
+ isFullscreenable: yup.boolean().required(),
158
166
  isMaximizable: yup.boolean().required(),
159
167
  isMinimizable: yup.boolean().required(),
160
- isFullscreenable: yup.boolean().required(),
168
+ isResizable: yup.boolean().required(),
169
+ maxHeight: yup.number().required(),
170
+ maxWidth: yup.number().required(),
171
+ minHeight: yup.number().required(),
172
+ minWidth: yup.number().required(),
173
+ startInFullscreenMode: yup.boolean().required(),
174
+ width: yup.number().required(),
161
175
 
162
- transparentTitlebar: yup.boolean().required(),
163
176
  alwaysOnTop: yup.boolean().required(),
164
- transparentInsetTitlebar: yup.boolean().required(),
165
177
  autoHideMenuBar: yup.boolean().required(),
166
- })
167
- .required(),
168
- meta: yup
169
- .object({
170
- schemaVersion: yup.number().required(),
171
- hasAppChanged: yup.boolean().required(),
172
- appIterations: yup.number().required(),
173
- publishedVersions: yup.object({
174
- electron: yup.string().notRequired(),
175
- desktopify: yup.string().notRequired(),
176
- version: yup.string().notRequired(),
177
- }),
178
+ transparentInsetTitlebar: yup.boolean().required(),
179
+ transparentTitlebar: yup.boolean().required(),
178
180
  })
179
181
  .required(),
180
182
  });
181
183
 
182
184
  export const shouldMinimizeToTrayIsActive = <Plugin = DesktopAppPlugin>(
183
- desktopApp: DesktopifyApp2<Plugin>
185
+ desktopApp: DesktopifyApp2<Plugin>,
184
186
  ) => {
185
187
  return desktopApp.trays.some(
186
188
  (t) =>
187
- t.leftClick.role === 'toggleMenu' || t.rightClick.role === 'toggleMenu'
189
+ t.leftClick.role === 'toggleMenu' || t.rightClick.role === 'toggleMenu',
188
190
  );
189
191
  };
package/tsconfig.json CHANGED
@@ -1,12 +1,15 @@
1
1
  {
2
+ "extends": "@todesktop/dev-config/tsconfig.base.json",
2
3
  "compilerOptions": {
3
4
  "target": "es2016",
4
- "module": "commonjs",
5
+ "module": "ESNext",
6
+ "moduleResolution": "bundler",
5
7
  "declaration": true,
6
8
  "outDir": "./lib",
7
9
  "rootDir": "./src",
8
- "skipLibCheck": true
10
+ "resolveJsonModule": true,
11
+ "strict": true
9
12
  },
10
- // "include": ["src"],
13
+ "include": ["src/**/*"],
11
14
  "exclude": ["node_modules", "lib"]
12
15
  }
package/.prettierrc DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "tabWidth": 2,
3
- "semi": true,
4
- "singleQuote": true
5
- }