@zeniai/client-epic-state 5.2.16-betaAK0 → 5.2.17
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/lib/entity/accountRecon/accountReconReducer.js +8 -1
- package/lib/esm/entity/accountRecon/accountReconReducer.js +8 -1
- package/lib/esm/view/expenseAutomationView/reducers/reconciliationViewReducer.js +3 -0
- package/lib/esm/view/invoicing/dataImportView/dataImportViewSelector.js +0 -2
- package/lib/esm/view/invoicing/settingsView/settingsViewSelector.js +1 -5
- package/lib/view/expenseAutomationView/reducers/reconciliationViewReducer.js +3 -0
- package/lib/view/invoicing/dataImportView/dataImportViewSelector.d.ts +0 -2
- package/lib/view/invoicing/dataImportView/dataImportViewSelector.js +0 -2
- package/lib/view/invoicing/settingsView/settingsViewSelector.d.ts +0 -5
- package/lib/view/invoicing/settingsView/settingsViewSelector.js +0 -4
- package/package.json +38 -71
|
@@ -104,8 +104,15 @@ const accountRecon = (0, toolkit_1.createSlice)({
|
|
|
104
104
|
},
|
|
105
105
|
reducer(draft, action) {
|
|
106
106
|
const { accountReconKey, statementDataPayload } = action.payload;
|
|
107
|
+
const existing = draft.accountReconByAccountReconKey[accountReconKey];
|
|
108
|
+
if (existing == null) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
107
111
|
draft.accountReconByAccountReconKey[accountReconKey] = {
|
|
108
|
-
...
|
|
112
|
+
...existing,
|
|
113
|
+
// Statement delete removes the reconciliation server-side; drop the
|
|
114
|
+
// stale id so follow-up fetches use account_id instead of recon-id.
|
|
115
|
+
reconciliationId: undefined,
|
|
109
116
|
statementStatus: {
|
|
110
117
|
code: (0, accountReconState_1.toStatementStatusCodeType)(statementDataPayload.statement_upload.statement_status?.code),
|
|
111
118
|
label: statementDataPayload.statement_upload.statement_status?.label,
|
|
@@ -100,8 +100,15 @@ const accountRecon = createSlice({
|
|
|
100
100
|
},
|
|
101
101
|
reducer(draft, action) {
|
|
102
102
|
const { accountReconKey, statementDataPayload } = action.payload;
|
|
103
|
+
const existing = draft.accountReconByAccountReconKey[accountReconKey];
|
|
104
|
+
if (existing == null) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
103
107
|
draft.accountReconByAccountReconKey[accountReconKey] = {
|
|
104
|
-
...
|
|
108
|
+
...existing,
|
|
109
|
+
// Statement delete removes the reconciliation server-side; drop the
|
|
110
|
+
// stale id so follow-up fetches use account_id instead of recon-id.
|
|
111
|
+
reconciliationId: undefined,
|
|
105
112
|
statementStatus: {
|
|
106
113
|
code: toStatementStatusCodeType(statementDataPayload.statement_upload.statement_status?.code),
|
|
107
114
|
label: statementDataPayload.statement_upload.statement_status?.label,
|
|
@@ -548,6 +548,9 @@ const expenseAutomationReconciliationView = createSlice({
|
|
|
548
548
|
};
|
|
549
549
|
accountRecon.combinedStatementGroupId = undefined;
|
|
550
550
|
accountRecon.confirmedCombinedStatementUploads = undefined;
|
|
551
|
+
// Statement delete removes the reconciliation server-side; drop the
|
|
552
|
+
// stale id so Pusher/follow-up fetches use account_id, not recon-id.
|
|
553
|
+
accountRecon.reconciliationId = undefined;
|
|
551
554
|
accountRecon.confirmStatementMappingStatus = {
|
|
552
555
|
fetchState: 'Not-Started',
|
|
553
556
|
error: undefined,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { invoicingFieldHelpForGroup } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
2
1
|
/**
|
|
3
2
|
* Single bundled view for the invoicing data-import surfaces — consumers read
|
|
4
3
|
* only this. Carries the migration `sessions` list + `sessionsFetch`, the
|
|
@@ -8,7 +7,6 @@ import { invoicingFieldHelpForGroup } from '../invoicingConfigView/invoicingConf
|
|
|
8
7
|
export const getInvoicingDataImportView = (state) => {
|
|
9
8
|
const dataImportState = state.invoicingDataImportViewState;
|
|
10
9
|
return {
|
|
11
|
-
fieldHelp: invoicingFieldHelpForGroup(state, 'data_import'),
|
|
12
10
|
activeMigrationSessionId: dataImportState.activeDetailId,
|
|
13
11
|
sessionDetail: dataImportState.sessionDetail,
|
|
14
12
|
sessionDetailFetch: dataImportState.sessionDetailFetch,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getInvoicingQboAccountMappingId, } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
2
2
|
import { getFormattedAddress } from '../../addressView/addressViewSelector';
|
|
3
|
-
import { getInvoicingConfigView
|
|
3
|
+
import { getInvoicingConfigView } from '../invoicingConfigView/invoicingConfigViewSelector';
|
|
4
4
|
import { getInvoicingQboView, isInvoicingAccountingPickerDataLoading, } from '../invoicingQboView/invoicingQboViewSelector';
|
|
5
5
|
import { INVOICING_BUSINESS_ADDRESS_TYPE, entityToInvoicingBrandingFormLocalData, } from './invoicingBrandingFormConfig';
|
|
6
6
|
import { initialInvoicingQboSettingsLocalData, } from './invoicingQboSettingsFormConfig';
|
|
@@ -26,7 +26,6 @@ export const getInvoicingSettingsFetchState = (state) => ({
|
|
|
26
26
|
export const getInvoicingSettingsView = (state) => {
|
|
27
27
|
const { error, fetchState, saveFetchState, settings, stripeFetchState } = state.invoicingSettingsViewState;
|
|
28
28
|
return {
|
|
29
|
-
fieldHelp: invoicingFieldHelpForGroup(state, 'settings'),
|
|
30
29
|
error,
|
|
31
30
|
fetchState,
|
|
32
31
|
saveState: saveFetchState,
|
|
@@ -79,7 +78,6 @@ export const getInvoicingSettingsHubView = (state) => {
|
|
|
79
78
|
const { dunningScheduleActionOptions, enableState, error: configError, fetchState: configFetchState, qboAccountMappingKindOptions, qboCustomerMatchingOptions, qboSyncStatusOptions, status, } = getInvoicingConfigView(state);
|
|
80
79
|
const { canEnable, isQboConfigured, isStripeConnected } = deriveInvoicingEnablePrerequisites(state.invoicingSettingsViewState.settings, state.invoicingQboViewState.connection?.connected === true, qboAccountMappingKindOptions);
|
|
81
80
|
return {
|
|
82
|
-
fieldHelp: invoicingFieldHelpForGroup(state, 'settings'),
|
|
83
81
|
// Keeps the onboarding step in the gate: a tenant that has not accepted the
|
|
84
82
|
// terms cannot enable invoicing, whatever the integrations say.
|
|
85
83
|
canEnableInvoicing: status === 'settings' && canEnable,
|
|
@@ -110,7 +108,6 @@ export const getInvoicingQboSettingsFormView = (state) => {
|
|
|
110
108
|
const { fetchState: configFetchState, qboAccountMappingKindOptions, qboCustomerMatchingOptions, qboSyncStatusOptions, } = getInvoicingConfigView(state);
|
|
111
109
|
const qboView = getInvoicingQboView(state);
|
|
112
110
|
return {
|
|
113
|
-
fieldHelp: invoicingFieldHelpForGroup(state, 'settings'),
|
|
114
111
|
accountMappingKindOptions: qboAccountMappingKindOptions,
|
|
115
112
|
accounts: qboView.accounts,
|
|
116
113
|
backfillState: qboView.backfillState,
|
|
@@ -150,7 +147,6 @@ export const getInvoicingBrandingFormView = (state) => {
|
|
|
150
147
|
? getFormattedAddress(newAddress.addressToCreate)
|
|
151
148
|
: undefined;
|
|
152
149
|
return {
|
|
153
|
-
fieldHelp: invoicingFieldHelpForGroup(state, 'settings'),
|
|
154
150
|
addressLabel,
|
|
155
151
|
dateFormatOptions: getInvoicingConfigView(state).dateFormatOptions,
|
|
156
152
|
localData: brandingDraft ?? entityToInvoicingBrandingFormLocalData(settings),
|
|
@@ -553,6 +553,9 @@ const expenseAutomationReconciliationView = (0, toolkit_1.createSlice)({
|
|
|
553
553
|
};
|
|
554
554
|
accountRecon.combinedStatementGroupId = undefined;
|
|
555
555
|
accountRecon.confirmedCombinedStatementUploads = undefined;
|
|
556
|
+
// Statement delete removes the reconciliation server-side; drop the
|
|
557
|
+
// stale id so Pusher/follow-up fetches use account_id, not recon-id.
|
|
558
|
+
accountRecon.reconciliationId = undefined;
|
|
556
559
|
accountRecon.confirmStatementMappingStatus = {
|
|
557
560
|
fetchState: 'Not-Started',
|
|
558
561
|
error: undefined,
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { FetchStateAndError, ID } from '../../../commonStateTypes/common';
|
|
2
|
-
import { InvoicingFieldHelpByCode } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
3
2
|
import { RootState } from '../../../rootStateTypes';
|
|
4
3
|
import { InvoicingDataImportStatusRow, InvoicingMigrationSession } from './dataImportViewPayload';
|
|
5
4
|
import { InvoicingMigrationDiagnosticsState } from './dataImportViewState';
|
|
6
5
|
export interface InvoicingDataImportView {
|
|
7
6
|
activeMigrationSessionId: ID | null;
|
|
8
7
|
diagnosticsBySession: Record<ID, InvoicingMigrationDiagnosticsState>;
|
|
9
|
-
fieldHelp: InvoicingFieldHelpByCode;
|
|
10
8
|
sessionDetail: Record<ID, InvoicingMigrationSession>;
|
|
11
9
|
sessionDetailFetch: FetchStateAndError;
|
|
12
10
|
sessions: InvoicingMigrationSession[];
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getInvoicingDataImportView = void 0;
|
|
4
|
-
const invoicingConfigViewSelector_1 = require("../invoicingConfigView/invoicingConfigViewSelector");
|
|
5
4
|
/**
|
|
6
5
|
* Single bundled view for the invoicing data-import surfaces — consumers read
|
|
7
6
|
* only this. Carries the migration `sessions` list + `sessionsFetch`, the
|
|
@@ -11,7 +10,6 @@ const invoicingConfigViewSelector_1 = require("../invoicingConfigView/invoicingC
|
|
|
11
10
|
const getInvoicingDataImportView = (state) => {
|
|
12
11
|
const dataImportState = state.invoicingDataImportViewState;
|
|
13
12
|
return {
|
|
14
|
-
fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'data_import'),
|
|
15
13
|
activeMigrationSessionId: dataImportState.activeDetailId,
|
|
16
14
|
sessionDetail: dataImportState.sessionDetail,
|
|
17
15
|
sessionDetailFetch: dataImportState.sessionDetailFetch,
|
|
@@ -3,7 +3,6 @@ import { FetchState, FetchStateAndError } from '../../../commonStateTypes/common
|
|
|
3
3
|
import { InvoicingDunningActionOption, InvoicingNamedOption, InvoicingQboAccountMappingKindOption, InvoicingSettingsPayload } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
4
4
|
import { ZeniAPIStatus } from '../../../responsePayload';
|
|
5
5
|
import { RootState } from '../../../rootStateTypes';
|
|
6
|
-
import { InvoicingFieldHelpByCode } from '../../../entity/invoicing/invoicingCommonPayload';
|
|
7
6
|
import { InvoicingQboConnection, InvoicingQboSyncHealth } from '../invoicingQboView/invoicingQboViewPayload';
|
|
8
7
|
import { InvoicingAccountingOption } from '../invoicingQboView/invoicingQboViewSelector';
|
|
9
8
|
import { InvoicingBrandingFormLocalData } from './invoicingBrandingFormConfig';
|
|
@@ -21,7 +20,6 @@ export declare const getInvoicingSettings: (state: RootState) => InvoicingSettin
|
|
|
21
20
|
export declare const getInvoicingSettingsFetchState: (state: RootState) => FetchStateAndError;
|
|
22
21
|
export interface InvoicingSettingsView {
|
|
23
22
|
fetchState: FetchState;
|
|
24
|
-
fieldHelp: InvoicingFieldHelpByCode;
|
|
25
23
|
saveState: FetchStateAndError;
|
|
26
24
|
stripeConnectState: FetchStateAndError;
|
|
27
25
|
error?: ZeniAPIStatus;
|
|
@@ -58,7 +56,6 @@ export interface InvoicingSettingsHubView {
|
|
|
58
56
|
*/
|
|
59
57
|
configFetchState: FetchState;
|
|
60
58
|
dunningScheduleActionOptions: InvoicingDunningActionOption[];
|
|
61
|
-
fieldHelp: InvoicingFieldHelpByCode;
|
|
62
59
|
isEnablingInvoicing: boolean;
|
|
63
60
|
/**
|
|
64
61
|
* Whether the tenant has already enabled invoicing. The enable footer is for
|
|
@@ -98,7 +95,6 @@ export interface InvoicingQboSettingsFormView {
|
|
|
98
95
|
/** So the screen can fetch only what is missing, without reading the slices. */
|
|
99
96
|
configFetchState: FetchState;
|
|
100
97
|
customerMatchingOptions: InvoicingNamedOption[];
|
|
101
|
-
fieldHelp: InvoicingFieldHelpByCode;
|
|
102
98
|
isLoading: boolean;
|
|
103
99
|
/** The persisted sync toggle — the backfill guard checks that, not the draft. */
|
|
104
100
|
isSyncEnabledSaved: boolean;
|
|
@@ -124,7 +120,6 @@ export interface InvoicingQboSettingsFormView {
|
|
|
124
120
|
export declare const getInvoicingQboSettingsFormView: (state: RootState) => InvoicingQboSettingsFormView;
|
|
125
121
|
export interface InvoicingBrandingFormView {
|
|
126
122
|
dateFormatOptions: InvoicingNamedOption[];
|
|
127
|
-
fieldHelp: InvoicingFieldHelpByCode;
|
|
128
123
|
localData: InvoicingBrandingFormLocalData;
|
|
129
124
|
saveState: FetchStateAndError;
|
|
130
125
|
addressLabel?: string;
|
|
@@ -32,7 +32,6 @@ exports.getInvoicingSettingsFetchState = getInvoicingSettingsFetchState;
|
|
|
32
32
|
const getInvoicingSettingsView = (state) => {
|
|
33
33
|
const { error, fetchState, saveFetchState, settings, stripeFetchState } = state.invoicingSettingsViewState;
|
|
34
34
|
return {
|
|
35
|
-
fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'settings'),
|
|
36
35
|
error,
|
|
37
36
|
fetchState,
|
|
38
37
|
saveState: saveFetchState,
|
|
@@ -86,7 +85,6 @@ const getInvoicingSettingsHubView = (state) => {
|
|
|
86
85
|
const { dunningScheduleActionOptions, enableState, error: configError, fetchState: configFetchState, qboAccountMappingKindOptions, qboCustomerMatchingOptions, qboSyncStatusOptions, status, } = (0, invoicingConfigViewSelector_1.getInvoicingConfigView)(state);
|
|
87
86
|
const { canEnable, isQboConfigured, isStripeConnected } = deriveInvoicingEnablePrerequisites(state.invoicingSettingsViewState.settings, state.invoicingQboViewState.connection?.connected === true, qboAccountMappingKindOptions);
|
|
88
87
|
return {
|
|
89
|
-
fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'settings'),
|
|
90
88
|
// Keeps the onboarding step in the gate: a tenant that has not accepted the
|
|
91
89
|
// terms cannot enable invoicing, whatever the integrations say.
|
|
92
90
|
canEnableInvoicing: status === 'settings' && canEnable,
|
|
@@ -118,7 +116,6 @@ const getInvoicingQboSettingsFormView = (state) => {
|
|
|
118
116
|
const { fetchState: configFetchState, qboAccountMappingKindOptions, qboCustomerMatchingOptions, qboSyncStatusOptions, } = (0, invoicingConfigViewSelector_1.getInvoicingConfigView)(state);
|
|
119
117
|
const qboView = (0, invoicingQboViewSelector_1.getInvoicingQboView)(state);
|
|
120
118
|
return {
|
|
121
|
-
fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'settings'),
|
|
122
119
|
accountMappingKindOptions: qboAccountMappingKindOptions,
|
|
123
120
|
accounts: qboView.accounts,
|
|
124
121
|
backfillState: qboView.backfillState,
|
|
@@ -159,7 +156,6 @@ const getInvoicingBrandingFormView = (state) => {
|
|
|
159
156
|
? (0, addressViewSelector_1.getFormattedAddress)(newAddress.addressToCreate)
|
|
160
157
|
: undefined;
|
|
161
158
|
return {
|
|
162
|
-
fieldHelp: (0, invoicingConfigViewSelector_1.invoicingFieldHelpForGroup)(state, 'settings'),
|
|
163
159
|
addressLabel,
|
|
164
160
|
dateFormatOptions: (0, invoicingConfigViewSelector_1.getInvoicingConfigView)(state).dateFormatOptions,
|
|
165
161
|
localData: brandingDraft ?? (0, invoicingBrandingFormConfig_1.entityToInvoicingBrandingFormLocalData)(settings),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeniai/client-epic-state",
|
|
3
|
-
"version": "5.2.
|
|
3
|
+
"version": "5.2.17",
|
|
4
4
|
"description": "Shared module between Web & Mobile containing required abstractions for state management, async network communication. ",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/esm/index.js",
|
|
@@ -33,44 +33,6 @@
|
|
|
33
33
|
"require": "./lib/view/*.js"
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
|
-
"scripts": {
|
|
37
|
-
"clean": "rimraf lib",
|
|
38
|
-
"test:typecheck": "echo 'Typechecking test files...' && NODE_OPTIONS=--max-old-space-size=4096 time tsc -p tsconfig.typecheck.json",
|
|
39
|
-
"test:typecheck-modified-files": "chmod +x ./scripts/tsc-modified-files.sh && SINCE_DAYS=30 ./scripts/tsc-modified-files.sh master tsconfig.typecheck.json",
|
|
40
|
-
"test:typecheck-mocks": "echo 'Typechecking mock files...' && NODE_OPTIONS=--max-old-space-size=4096 time tsc -p tsconfig.mocks.json",
|
|
41
|
-
"test:typecheck-mocks-modified-files": "chmod +x ./scripts/tsc-modified-files.sh && SINCE_DAYS=30 ./scripts/tsc-modified-files.sh master tsconfig.mocks.json",
|
|
42
|
-
"test": "pnpm lint-modified-files && pnpm test:typecheck-modified-files && pnpm test:typecheck-mocks-modified-files && vitest run --typecheck",
|
|
43
|
-
"test:full": "pnpm test:typecheck-modified-files && pnpm test:typecheck-mocks-modified-files && vitest run --typecheck",
|
|
44
|
-
"lint": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0 --fix",
|
|
45
|
-
"lint-modified-files": "chmod +x ./scripts/lint-modified-files.sh && ./scripts/lint-modified-files.sh",
|
|
46
|
-
"lint:fix-modified-files": "chmod +x ./scripts/lint-modified-files.sh && LINT_FIX=true ./scripts/lint-modified-files.sh",
|
|
47
|
-
"tsc-modified-files": "chmod +x ./scripts/tsc-modified-files.sh && ./scripts/tsc-modified-files.sh",
|
|
48
|
-
"typecheck": "tsc --noEmit",
|
|
49
|
-
"circular-dependency": "madge --circular --extensions ts ./src",
|
|
50
|
-
"circular-dependency-modified-files": "chmod +x ./scripts/circular-dependency-modified-files.sh && ./scripts/circular-dependency-modified-files.sh",
|
|
51
|
-
"build": "chmod +x ./scripts/run_build.sh && ./scripts/run_build.sh && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
|
|
52
|
-
"only-build": "eslint . --ext .js,.jsx,.ts,.tsx && time tsc && tsc -p tsconfig.esm.json && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
|
|
53
|
-
"only-build-dev": "eslint . --ext .js,.jsx,.ts,.tsx && time tsc -p tsconfig.dev.json && tsc -p tsconfig.esm.dev.json && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
|
|
54
|
-
"format": "prettier --write --ignore-unknown \"src/**/*\" && pnpm lint",
|
|
55
|
-
"format-watch": "bash ./scripts/run-format-watch.sh",
|
|
56
|
-
"check-version": "node ./scripts/check_version.js",
|
|
57
|
-
"prepublishOnly": "chmod +x ./scripts/branch_validation.sh && ./scripts/branch_validation.sh && pnpm update-slack-group-topic && pnpm run check-version && pnpm clean && pnpm build",
|
|
58
|
-
"version": "git add -A src",
|
|
59
|
-
"postversion": "git push && git push --tags",
|
|
60
|
-
"check-dependencies": "node ./scripts/check_dependencies.js",
|
|
61
|
-
"clean-overrides": "node ./scripts/clean_overrides.js",
|
|
62
|
-
"create-or-update-release-branch": "chmod +x ./scripts/create_or_update_release_branch.sh && ./scripts/create_or_update_release_branch.sh",
|
|
63
|
-
"bump-versions-master": "chmod +x ./scripts/bump_versions_master.sh && ./scripts/bump_versions_master.sh",
|
|
64
|
-
"bump-versions-beta": "chmod +x ./scripts/bump_versions_beta.sh && ./scripts/bump_versions_beta.sh",
|
|
65
|
-
"bump-update-web-app-cockpit-beta": "chmod +x ./scripts/bump_and_update_web_app_ui_beta.sh && ./scripts/bump_and_update_web_app_ui_beta.sh",
|
|
66
|
-
"send-release-notes": "chmod +x ./scripts/send_release_notes.sh && ./scripts/send_release_notes.sh",
|
|
67
|
-
"update-slack-group-topic": "chmod +x ./scripts/update-slack-group-topic.sh && ./scripts/update-slack-group-topic.sh",
|
|
68
|
-
"build-beta-and-copy": "chmod +x ./scripts/build_and_copy.sh && ./scripts/build_and_copy.sh",
|
|
69
|
-
"pr-approvals-update": "chmod +x ./scripts/pr_approvals.sh && ./scripts/pr_approvals.sh",
|
|
70
|
-
"raise-pr-automation": "chmod +x ./scripts/raise_pr_automation.sh && ./scripts/raise_pr_automation.sh",
|
|
71
|
-
"test:file": "bash ./scripts/test-file.sh",
|
|
72
|
-
"find-unused-code": "knip"
|
|
73
|
-
},
|
|
74
36
|
"files": [
|
|
75
37
|
"lib/**/*"
|
|
76
38
|
],
|
|
@@ -138,36 +100,41 @@
|
|
|
138
100
|
"dayjs": "^1.10.7",
|
|
139
101
|
"url-parse": "^1.5.10"
|
|
140
102
|
},
|
|
141
|
-
"
|
|
142
|
-
"
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
103
|
+
"scripts": {
|
|
104
|
+
"clean": "rimraf lib",
|
|
105
|
+
"test:typecheck": "echo 'Typechecking test files...' && NODE_OPTIONS=--max-old-space-size=4096 time tsc -p tsconfig.typecheck.json",
|
|
106
|
+
"test:typecheck-modified-files": "chmod +x ./scripts/tsc-modified-files.sh && SINCE_DAYS=30 ./scripts/tsc-modified-files.sh master tsconfig.typecheck.json",
|
|
107
|
+
"test:typecheck-mocks": "echo 'Typechecking mock files...' && NODE_OPTIONS=--max-old-space-size=4096 time tsc -p tsconfig.mocks.json",
|
|
108
|
+
"test:typecheck-mocks-modified-files": "chmod +x ./scripts/tsc-modified-files.sh && SINCE_DAYS=30 ./scripts/tsc-modified-files.sh master tsconfig.mocks.json",
|
|
109
|
+
"test": "pnpm lint-modified-files && pnpm test:typecheck-modified-files && pnpm test:typecheck-mocks-modified-files && vitest run --typecheck",
|
|
110
|
+
"test:full": "pnpm test:typecheck-modified-files && pnpm test:typecheck-mocks-modified-files && vitest run --typecheck",
|
|
111
|
+
"lint": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0 --fix",
|
|
112
|
+
"lint-modified-files": "chmod +x ./scripts/lint-modified-files.sh && ./scripts/lint-modified-files.sh",
|
|
113
|
+
"lint:fix-modified-files": "chmod +x ./scripts/lint-modified-files.sh && LINT_FIX=true ./scripts/lint-modified-files.sh",
|
|
114
|
+
"tsc-modified-files": "chmod +x ./scripts/tsc-modified-files.sh && ./scripts/tsc-modified-files.sh",
|
|
115
|
+
"typecheck": "tsc --noEmit",
|
|
116
|
+
"circular-dependency": "madge --circular --extensions ts ./src",
|
|
117
|
+
"circular-dependency-modified-files": "chmod +x ./scripts/circular-dependency-modified-files.sh && ./scripts/circular-dependency-modified-files.sh",
|
|
118
|
+
"build": "chmod +x ./scripts/run_build.sh && ./scripts/run_build.sh && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
|
|
119
|
+
"only-build": "eslint . --ext .js,.jsx,.ts,.tsx && time tsc && tsc -p tsconfig.esm.json && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
|
|
120
|
+
"only-build-dev": "eslint . --ext .js,.jsx,.ts,.tsx && time tsc -p tsconfig.dev.json && tsc -p tsconfig.esm.dev.json && rimraf \"lib/**/__mocks__\" \"lib/**/__testHelpers__\"",
|
|
121
|
+
"format": "prettier --write --ignore-unknown \"src/**/*\" && pnpm lint",
|
|
122
|
+
"format-watch": "bash ./scripts/run-format-watch.sh",
|
|
123
|
+
"check-version": "node ./scripts/check_version.js",
|
|
124
|
+
"version": "git add -A src",
|
|
125
|
+
"postversion": "git push && git push --tags",
|
|
126
|
+
"check-dependencies": "node ./scripts/check_dependencies.js",
|
|
127
|
+
"clean-overrides": "node ./scripts/clean_overrides.js",
|
|
128
|
+
"create-or-update-release-branch": "chmod +x ./scripts/create_or_update_release_branch.sh && ./scripts/create_or_update_release_branch.sh",
|
|
129
|
+
"bump-versions-master": "chmod +x ./scripts/bump_versions_master.sh && ./scripts/bump_versions_master.sh",
|
|
130
|
+
"bump-versions-beta": "chmod +x ./scripts/bump_versions_beta.sh && ./scripts/bump_versions_beta.sh",
|
|
131
|
+
"bump-update-web-app-cockpit-beta": "chmod +x ./scripts/bump_and_update_web_app_ui_beta.sh && ./scripts/bump_and_update_web_app_ui_beta.sh",
|
|
132
|
+
"send-release-notes": "chmod +x ./scripts/send_release_notes.sh && ./scripts/send_release_notes.sh",
|
|
133
|
+
"update-slack-group-topic": "chmod +x ./scripts/update-slack-group-topic.sh && ./scripts/update-slack-group-topic.sh",
|
|
134
|
+
"build-beta-and-copy": "chmod +x ./scripts/build_and_copy.sh && ./scripts/build_and_copy.sh",
|
|
135
|
+
"pr-approvals-update": "chmod +x ./scripts/pr_approvals.sh && ./scripts/pr_approvals.sh",
|
|
136
|
+
"raise-pr-automation": "chmod +x ./scripts/raise_pr_automation.sh && ./scripts/raise_pr_automation.sh",
|
|
137
|
+
"test:file": "bash ./scripts/test-file.sh",
|
|
138
|
+
"find-unused-code": "knip"
|
|
172
139
|
}
|
|
173
|
-
}
|
|
140
|
+
}
|