Skip to content

Commit

Permalink
fixup! fix(scripts): resolve api-extractor execution issue within pac…
Browse files Browse the repository at this point in the history
…kages with new DX
  • Loading branch information
Hotell committed Aug 13, 2021
1 parent dd37db3 commit b2883e2
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions scripts/tasks/api-extractor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import * as path from 'path';
import jju from 'jju';
import { apiExtractorVerifyTask, task, series, resolveCwd, logger, TscTaskOptions } from 'just-scripts';

const noop = () => {};

const apiExtractorConfigs = glob
.sync(path.join(process.cwd(), 'config/api-extractor*.json'))
.map(configPath => [configPath, configPath.replace(/.*\bapi-extractor(?:\.(.*))?\.json$/, '$1') || 'default'])
Expand All @@ -22,6 +24,8 @@ export function apiExtractor() {
tsConfigPath: resolveCwd('./tsconfig.json'),
});

const cleanupOverrides = overrideApi ? overrideApi.resetConfig : () => noop;

const taskName = `api-extractor:${configName}`;

task(
Expand All @@ -30,9 +34,16 @@ export function apiExtractor() {
() => {
overrideApi && overrideApi.overrideConfig();
},
apiExtractorVerifyTask({ configJsonFilePath: configPath, localBuild }),
() => {
overrideApi && overrideApi.resetConfig();
try {
return apiExtractorVerifyTask({ configJsonFilePath: configPath, localBuild });
} catch (err) {
cleanupOverrides();
console.error(err);
}
},
() => {
cleanupOverrides();
},
),
);
Expand Down Expand Up @@ -60,8 +71,7 @@ function overrideExtractorConfigForPackagesWithTsPathAliases(options: {
apiExtractorConfigPath: string;
}) {
const tsConfig: TsConfig = jju.parse(fs.readFileSync(options.tsConfigPath, 'utf-8'));
const overriddenTsConfig = { ...tsConfig };
const shouldOverrideConfig = Boolean(overriddenTsConfig.extends);
const shouldOverrideConfig = Boolean(tsConfig.extends);

if (!shouldOverrideConfig) {
return null;
Expand All @@ -72,9 +82,9 @@ function overrideExtractorConfigForPackagesWithTsPathAliases(options: {
const originalContent = fs.readFileSync(options.apiExtractorConfigPath, 'utf-8');
const apiExtractorConfigOriginal = jju.parse(originalContent, { mode: 'json' });

overriddenTsConfig.compilerOptions.baseUrl = '.';
tsConfig.compilerOptions.baseUrl = '.';
apiExtractorConfigOriginal.compiler = {
overrideTsconfig: overriddenTsConfig,
overrideTsconfig: tsConfig,
};

console.log({ apiExtractorConfigOriginal });
Expand Down

0 comments on commit b2883e2

Please sign in to comment.