Skip to content

Commit 135966b

Browse files
committed
refactor(core): CHECKOUT-9450 Group integration packages by their name
1 parent 77f8168 commit 135966b

File tree

15 files changed

+308
-50
lines changed

15 files changed

+308
-50
lines changed

.eslintignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
/packages/core/src/generated/*.ts
1+
/packages/core/src/generated/**/*.ts
22
/dist/*

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
"import": "./dist/esm/checkout-sdk-essential.js",
1818
"require": "./dist/cjs/checkout-sdk-essential.js"
1919
},
20-
"./integrations": {
21-
"types": "./dist/integrations.d.ts",
22-
"import": "./dist/esm/integrations.js",
23-
"require": "./dist/cjs/integrations.js"
20+
"./integrations/*": {
21+
"types": "./dist/integrations/*.d.ts",
22+
"import": "./dist/esm/integrations/*.js",
23+
"require": "./dist/cjs/integrations/*.js"
2424
}
2525
},
2626
"files": [

packages/core/api-extractor/integrations.json

Lines changed: 0 additions & 22 deletions
This file was deleted.

packages/core/auto-export.config.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,24 @@
33
{
44
"inputPath": "packages/*/src/index.ts",
55
"outputPath": "packages/core/src/generated/payment-strategies.ts",
6+
"packageOutputPath": "packages/core/src/generated/integrations/<moduleName>/index.ts",
67
"memberPattern": "^create.+PaymentStrategy$"
78
},
89
{
910
"inputPath": "packages/*/src/index.ts",
1011
"outputPath": "packages/core/src/generated/customer-strategies.ts",
12+
"packageOutputPath": "packages/core/src/generated/integrations/<moduleName>/index.ts",
1113
"memberPattern": "^create.+CustomerStrategy$"
1214
},
1315
{
1416
"inputPath": "packages/*/src/index.ts",
1517
"outputPath": "packages/core/src/generated/checkout-button-strategies.ts",
18+
"packageOutputPath": "packages/core/src/generated/integrations/<moduleName>/index.ts",
1619
"memberPattern": "^create.+ButtonStrategy$"
1720
}
18-
]
21+
],
22+
"apiExtractorConfig": {
23+
"entryPointSourceFile": "../../temp/core/src/generated/integrations/<moduleName>/index.d.ts",
24+
"mainDtsRollupPath": "integrations/<moduleName>.d.ts"
25+
}
1926
}

packages/core/project.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@
8282
"parallel": false,
8383
"commands": [
8484
"tsc --outDir ../../temp --declaration --emitDeclarationOnly",
85-
"api-extractor run --config api-extractor/checkout-sdk.json & api-extractor run --config api-extractor/integrations.json & api-extractor run --config api-extractor/checkout-button.json & api-extractor run --config api-extractor/embedded-checkout.json & api-extractor run --config api-extractor/internal-mappers.json",
85+
"api-extractor run --config api-extractor/checkout-sdk.json & api-extractor run --config api-extractor/checkout-button.json & api-extractor run --config api-extractor/embedded-checkout.json & api-extractor run --config api-extractor/internal-mappers.json",
86+
"find src/generated/integrations -name 'api-extractor.json' | xargs -I {} -P 8 sh -c 'cd \"$(dirname \"{}\")\" && npx api-extractor run --config api-extractor.json'",
8687
"rm -rf ../../temp",
8788
"nx run hosted-form-v2:build-dts"
8889
]
@@ -138,6 +139,7 @@
138139
"executor": "@nrwl/workspace:run-commands",
139140
"options": {
140141
"commands": [
142+
"rm -rf packages/core/src/generated",
141143
"npx nx generate @bigcommerce/checkout-sdk/workspace-tools:auto-export --projectName=core",
142144
"npx nx generate @bigcommerce/checkout-sdk/workspace-tools:extend-interface --projectName=core",
143145
"npx nx generate @bigcommerce/checkout-sdk/workspace-tools:create-enum --projectName=core"

packages/core/src/bundles/integrations.ts

Lines changed: 0 additions & 2 deletions
This file was deleted.

packages/paypal-express-integration/src/paypal-express-button-initialize-options.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { StandardError } from '@bigcommerce/checkout-sdk/payment-integration-api';
1+
import { Omit, StandardError } from '@bigcommerce/checkout-sdk/payment-integration-api';
22

33
import { PaypalStyleOptions } from './paypal-express-types';
44

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,46 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

33
exports[`autoExport() export matching members from files to another file 1`] = `
4-
"export { StrategyA } from '../__fixtures__/strategy-a';
4+
Object {
5+
"apiExtractorConfigs": Map {
6+
"workspace-tools" => "{
7+
\\"compiler\\": {
8+
\\"configType\\": \\"tsconfig\\",
9+
\\"rootFolder\\": \\"../../../..\\"
10+
},
11+
\\"project\\": {
12+
\\"entryPointSourceFile\\": \\"/__temp__/workspace-tools/index.d.ts\\"
13+
},
14+
\\"validationRules\\": {
15+
\\"missingReleaseTags\\": \\"allow\\"
16+
},
17+
\\"apiReviewFile\\": {
18+
\\"enabled\\": false
19+
},
20+
\\"apiJsonFile\\": {
21+
\\"enabled\\": false
22+
},
23+
\\"dtsRollup\\": {
24+
\\"enabled\\": true,
25+
\\"mainDtsRollupPath\\": \\"/__temp__/workspace-tools.d.ts\\"
26+
}
27+
}",
28+
},
29+
"packageExports": Map {
30+
"workspace-tools" => "export { StrategyA } from '../../__fixtures__/strategy-a';
31+
export { StrategyB } from '../../__fixtures__/strategy-b';
32+
",
33+
},
34+
"packageExportsGrouped": "export { StrategyA } from '../__fixtures__/strategy-a';
535
export { StrategyB } from '../__fixtures__/strategy-b';
6-
"
36+
",
37+
}
738
`;
839

9-
exports[`autoExport() handles scenario where no matching member is found 1`] = `""`;
40+
exports[`autoExport() handles scenario where no matching member is found 1`] = `
41+
Object {
42+
"apiExtractorConfigs": Map {},
43+
"packageExports": Map {},
44+
"packageExportsGrouped": "",
45+
}
46+
`;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
11
export default interface AutoExportConfig {
22
entries: AutoExportConfigEntry[];
3+
apiExtractorConfig: ApiExtractorConfig;
34
}
45

56
export interface AutoExportConfigEntry {
67
inputPath: string;
78
outputPath: string;
9+
packageOutputPath: string;
810
memberPattern: string;
911
}
12+
13+
export interface ApiExtractorConfig {
14+
entryPointSourceFile: string;
15+
mainDtsRollupPath: string;
16+
}

packages/workspace-tools/src/generators/auto-export/auto-export.spec.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ describe('autoExport()', () => {
88
inputPath: path.join(__dirname, '/__fixtures__/**/index.ts'),
99
outputPath: path.join(__dirname, '/__temp__/output.ts'),
1010
memberPattern: '^Strategy',
11+
packageOutputPath: path.join(__dirname, '/__temp__/<moduleName>/output.ts'),
12+
apiExtractorConfig: {
13+
entryPointSourceFile: '/__temp__/<moduleName>/index.d.ts',
14+
mainDtsRollupPath: '/__temp__/<moduleName>.d.ts',
15+
},
1116
};
1217

1318
expect(await autoExport(options)).toMatchSnapshot();
@@ -18,6 +23,11 @@ describe('autoExport()', () => {
1823
inputPath: path.join(__dirname, '/__fixtures__/**/index.ts'),
1924
outputPath: path.join(__dirname, '/__temp__/output.ts'),
2025
memberPattern: '^Test',
26+
packageOutputPath: path.join(__dirname, '/__temp__/<moduleName>/output.ts'),
27+
apiExtractorConfig: {
28+
entryPointSourceFile: '/__temp__/<moduleName>/index.d.ts',
29+
mainDtsRollupPath: '/__temp__/<moduleName>.d.ts',
30+
},
2131
};
2232

2333
expect(await autoExport(options)).toMatchSnapshot();

0 commit comments

Comments
 (0)