diff --git a/.changeset/rich-peas-attend.md b/.changeset/rich-peas-attend.md new file mode 100644 index 00000000..7b162783 --- /dev/null +++ b/.changeset/rich-peas-attend.md @@ -0,0 +1,7 @@ +--- +'mocktomata': patch +'@mocktomata/framework': patch +--- + +Re-exports needed types and code from `standard-log`. +This should fix the "Inferred type cannot be named" issue. diff --git a/packages/framework/ts/config/load_config.spec.ts b/packages/framework/ts/config/load_config.unit.ts similarity index 99% rename from packages/framework/ts/config/load_config.spec.ts rename to packages/framework/ts/config/load_config.unit.ts index 0b622667..8110eb3b 100644 --- a/packages/framework/ts/config/load_config.spec.ts +++ b/packages/framework/ts/config/load_config.unit.ts @@ -1,11 +1,12 @@ import { a } from 'assertron' -import { createStandardLogForTest, logLevels } from 'standard-log' +import { createStandardLogForTest } from 'standard-log' import { createIncubator } from '../incubator/create_incubator.js' import { createKomondor, createMockto, createZucchini, - Spec + logLevels, + type Spec } from '../index.js' import { createTestContext, newMemoryIO } from '../testing/index.js' import { CannotConfigAfterUsed, ConfigPropertyInvalid, createConfigurator, loadConfig } from './index.js' diff --git a/packages/framework/ts/config/types.ts b/packages/framework/ts/config/types.ts index 9aa363c9..bce57b62 100644 --- a/packages/framework/ts/config/types.ts +++ b/packages/framework/ts/config/types.ts @@ -1,7 +1,7 @@ -import { LogMethodNames } from 'standard-log' import type { Log } from '../log/types.js' -import type { SpecPlugin } from '../spec_plugin/types.js' import type { Spec } from '../spec/types.js' +import type { SpecPlugin } from '../spec_plugin/types.js' +import type { LogMethodNames } from '../standard_log.types.js' export type Config = Spec.Config & SpecPlugin.Config & Log.Config export namespace Config { diff --git a/packages/framework/ts/ignore_mismatch.spec.ts b/packages/framework/ts/ignore_mismatch.unit.ts similarity index 100% rename from packages/framework/ts/ignore_mismatch.spec.ts rename to packages/framework/ts/ignore_mismatch.unit.ts diff --git a/packages/framework/ts/incubator/incubator.spec.ts b/packages/framework/ts/incubator/incubator.spec.ts index f4a91767..5c126d47 100644 --- a/packages/framework/ts/incubator/incubator.spec.ts +++ b/packages/framework/ts/incubator/incubator.spec.ts @@ -1,7 +1,6 @@ import a, { AssertOrder } from 'assertron' import { some } from 'satisfier' -import { logLevels, MemoryLogReporter } from 'standard-log' -import { SpecNotFound, type Spec } from '../index.js' +import { SpecNotFound, logLevels, type MemoryLogReporter, type Spec } from '../index.js' import { createTestContext } from '../testing/index.js' import { createIncubator } from './create_incubator.js' import { incubator } from './index.js' diff --git a/packages/framework/ts/index.ts b/packages/framework/ts/index.ts index e02ac8c9..fc74e20f 100644 --- a/packages/framework/ts/index.ts +++ b/packages/framework/ts/index.ts @@ -12,5 +12,6 @@ export * from './spec_plugin/index.js' export * from './spec_record/index.js' export * from './stack_frame.js' export * from './stack_frame.types.js' +export * from './standard_log.types.js' export type { Mocktomata } from './types.js' export * from './zucchini/index.js' diff --git a/packages/framework/ts/komondor/komondor.spec.ts b/packages/framework/ts/komondor/komondor.spec.ts index 2e2c57ad..f99cff89 100644 --- a/packages/framework/ts/komondor/komondor.spec.ts +++ b/packages/framework/ts/komondor/komondor.spec.ts @@ -1,8 +1,7 @@ import { a } from 'assertron' import { filename } from 'dirname-filename-esm' import { some } from 'satisfier' -import { logLevels } from 'standard-log' -import { createKomondor } from '../index.js' +import { createKomondor, logLevels } from '../index.js' import { createTestContext } from '../testing/index.js' import { indirectKomondor } from './komondor.test-setup.js' diff --git a/packages/framework/ts/komondor/komondor.ts b/packages/framework/ts/komondor/komondor.ts index adf09b1c..4c3060c1 100644 --- a/packages/framework/ts/komondor/komondor.ts +++ b/packages/framework/ts/komondor/komondor.ts @@ -1,11 +1,12 @@ import type { AsyncContext } from 'async-fp' -import { createMemoryLogReporter, type MemoryLogReporter } from 'standard-log' +import { createMemoryLogReporter } from 'standard-log' import { loadConfig } from '../config/index.js' import type { LoadedContext } from '../context.internal.js' import { createLogContext } from '../log/log_context.js' import { createSpecObject, getEffectiveSpecModeContext, type Spec } from '../spec/index.js' import { loadPlugins } from '../spec_plugin/index.js' import type { StackFrameContext } from '../stack_frame.types.js' +import { type MemoryLogReporter } from '../standard_log.types.js' import { initTimeTrackers } from '../time_trackter/index.js' import type { Mocktomata } from '../types.js' diff --git a/packages/framework/ts/log/log_context.ts b/packages/framework/ts/log/log_context.ts index 759edf2a..587697cc 100644 --- a/packages/framework/ts/log/log_context.ts +++ b/packages/framework/ts/log/log_context.ts @@ -1,6 +1,7 @@ -import { createStandardLog, logLevels, MemoryLogReporter } from 'standard-log' +import { createStandardLog } from 'standard-log' import { createColorLogReporter } from 'standard-log-color' import type { Spec } from '../spec/types.js' +import { logLevels, type MemoryLogReporter } from '../standard_log.types.js' import type { Log } from './types.js' export function createLogContext({ diff --git a/packages/framework/ts/log/types.ts b/packages/framework/ts/log/types.ts index efd81c2e..344e1d46 100644 --- a/packages/framework/ts/log/types.ts +++ b/packages/framework/ts/log/types.ts @@ -1,4 +1,4 @@ -import type { Logger, LogLevel } from 'standard-log' +import type { Logger, LogLevel } from '../standard_log.types.js' export namespace Log { export type Context = { log: Logger; logLevel?: LogLevel } diff --git a/packages/framework/ts/spec/logs.ts b/packages/framework/ts/spec/logs.ts index 19c4f201..aef120ba 100644 --- a/packages/framework/ts/spec/logs.ts +++ b/packages/framework/ts/spec/logs.ts @@ -1,12 +1,12 @@ -import { logLevels } from 'standard-log' +import esp from 'error-stack-parser' import { tersify } from 'tersify' import type { Log } from '../log/types.js' import type { SpecRecord } from '../spec_record/types.js' import { StackFrameContext } from '../stack_frame.types.js' +import { logLevels } from '../standard_log.types.js' import { prettifyAction } from './action.format.js' import { maskString } from './masking.js' import type { MaskCriterion, Recorder } from './types.internal.js' -import esp from 'error-stack-parser' export function logCreateSpy( { log, maskCriteria }: Log.Context & { maskCriteria: MaskCriterion[] }, diff --git a/packages/framework/ts/spec/masking.spec.ts b/packages/framework/ts/spec/masking.spec.ts index 82e769a6..8a17552a 100644 --- a/packages/framework/ts/spec/masking.spec.ts +++ b/packages/framework/ts/spec/masking.spec.ts @@ -1,5 +1,5 @@ -import { logLevels } from 'standard-log' import { incubator } from '../incubator/index.js' +import { logLevels } from '../standard_log.types.js' import { createTestAxios } from '../test_artifacts/test_subjects.js' afterAll(incubator.cleanup) diff --git a/packages/framework/ts/spec/simulator.ts b/packages/framework/ts/spec/simulator.ts index 7498ad51..e205634e 100644 --- a/packages/framework/ts/spec/simulator.ts +++ b/packages/framework/ts/spec/simulator.ts @@ -1,11 +1,11 @@ import type { AsyncContext } from 'async-fp' -import type { Logger } from 'standard-log' import { notDefined } from '../constants.js' import { findPlugin, getPlugin } from '../spec_plugin/index.js' import type { SpecPlugin } from '../spec_plugin/types.js' import { getDefaultPerformer, type SpecRecord } from '../spec_record/index.js' import type { StackFrameContext } from '../stack_frame.types.js' -import { createTimeTracker, TimeTracker } from '../time_trackter/index.js' +import type { Logger } from '../standard_log.types.js' +import { TimeTracker, createTimeTracker } from '../time_trackter/index.js' import { getArgumentContext, getPropertyContext, @@ -27,9 +27,9 @@ import { logMissingResultAction, logRecordingTimeout } from './logs.js' -import { createSpecRecordValidator, SpecRecordValidator, ValidateReference } from './record.js' +import { SpecRecordValidator, ValidateReference, createSpecRecordValidator } from './record.js' import { createPluginSpyContext } from './recorder.js' -import type { createSpec, MaskCriterion, Recorder, SpecRecordLive } from './types.internal.js' +import type { MaskCriterion, Recorder, SpecRecordLive, createSpec } from './types.internal.js' import type { Spec } from './types.js' import { referenceMismatch } from './validations.js' diff --git a/packages/framework/ts/spec/types.internal.ts b/packages/framework/ts/spec/types.internal.ts index 775cbdba..c2d7c4f8 100644 --- a/packages/framework/ts/spec/types.internal.ts +++ b/packages/framework/ts/spec/types.internal.ts @@ -1,4 +1,4 @@ -import type { Logger } from 'standard-log' +import type { Logger } from '../standard_log.types.js' import type { SpecPlugin } from '../spec_plugin/types.js' import type { SpecRecord } from '../spec_record/types.js' import type { StackFrameContext } from '../stack_frame.types.js' diff --git a/packages/framework/ts/spec_plugin/plugin.ts b/packages/framework/ts/spec_plugin/plugin.ts index 82a6457b..e24e1af7 100644 --- a/packages/framework/ts/spec_plugin/plugin.ts +++ b/packages/framework/ts/spec_plugin/plugin.ts @@ -1,7 +1,7 @@ -import type { Logger } from 'standard-log' import { es2015 } from '../es2015.js' import { es2020 } from '../es2020.js' import { Log } from '../log/types.js' +import type { Logger } from '../standard_log.types.js' import { PluginModuleNotConforming, PluginNotFound } from './errors.js' import { addPluginModule } from './plugin_module.js' import type { SpecPlugin } from './types.js' diff --git a/packages/framework/ts/stack_frame.get_caller_relative_path.spec.jsdom.ts b/packages/framework/ts/stack_frame.get_caller_relative_path.unit.jsdom.ts similarity index 100% rename from packages/framework/ts/stack_frame.get_caller_relative_path.spec.jsdom.ts rename to packages/framework/ts/stack_frame.get_caller_relative_path.unit.jsdom.ts diff --git a/packages/framework/ts/stack_frame.get_caller_relative_path.spec.ts b/packages/framework/ts/stack_frame.get_caller_relative_path.unit.ts similarity index 100% rename from packages/framework/ts/stack_frame.get_caller_relative_path.spec.ts rename to packages/framework/ts/stack_frame.get_caller_relative_path.unit.ts diff --git a/packages/framework/ts/standard_log.types.ts b/packages/framework/ts/standard_log.types.ts new file mode 100644 index 00000000..3c3b9886 --- /dev/null +++ b/packages/framework/ts/standard_log.types.ts @@ -0,0 +1,2 @@ +export { logLevels } from 'standard-log' +export type { Logger, LogLevel, LogMethodNames, MemoryLogReporter } from 'standard-log' diff --git a/packages/framework/ts/testing/test_context.ts b/packages/framework/ts/testing/test_context.ts index f27b2d94..1feaa1d3 100644 --- a/packages/framework/ts/testing/test_context.ts +++ b/packages/framework/ts/testing/test_context.ts @@ -1,10 +1,11 @@ import { AsyncContext } from 'async-fp' -import { createMemoryLogReporter, createStandardLog, logLevels } from 'standard-log' +import { createMemoryLogReporter, createStandardLog } from 'standard-log' import { createColorLogReporter } from 'standard-log-color' import { requiredDeep } from 'type-plus' import { createConfigurator, resolveLogLevel } from '../config/index.js' -import { createStackFrameContext } from '../stack_frame.js' import { newMemoryIO } from '../memory_io.js' +import { createStackFrameContext } from '../stack_frame.js' +import { logLevels } from '../standard_log.types.js' export namespace createTestContext { export type Options = newMemoryIO.Options diff --git a/packages/framework/ts/time_trackter/time_tracker.ts b/packages/framework/ts/time_trackter/time_tracker.ts index 9518e8c3..45cfc34e 100644 --- a/packages/framework/ts/time_trackter/time_tracker.ts +++ b/packages/framework/ts/time_trackter/time_tracker.ts @@ -1,5 +1,5 @@ -import { Logger } from 'standard-log' import type { Spec } from '../spec/types.js' +import type { Logger } from '../standard_log.types.js' export type TimeTracker = ReturnType export type TimeTrackersContext = { diff --git a/packages/framework/ts/zucchini/zucchini.ts b/packages/framework/ts/zucchini/zucchini.ts index e830f8bf..6e8d400d 100644 --- a/packages/framework/ts/zucchini/zucchini.ts +++ b/packages/framework/ts/zucchini/zucchini.ts @@ -1,6 +1,6 @@ import { ExpressionFactory, ParameterType, ParameterTypeRegistry } from '@cucumber/cucumber-expressions' import type { AsyncContext } from 'async-fp' -import { createMemoryLogReporter, MemoryLogReporter } from 'standard-log' +import { createMemoryLogReporter } from 'standard-log' import { loadConfig } from '../config/index.js' import type { LoadedContext } from '../context.internal.js' import { createLogContext } from '../log/log_context.js' @@ -8,11 +8,12 @@ import { createSpecFns, getEffectiveSpecModeContext } from '../spec/index.js' import type { Spec } from '../spec/types.js' import { loadPlugins } from '../spec_plugin/index.js' import type { SpecRecord } from '../spec_record/index.js' -import { StackFrameContext } from '../stack_frame.types.js' +import type { StackFrameContext } from '../stack_frame.types.js' +import type { MemoryLogReporter } from '../standard_log.types.js' import { initTimeTrackers } from '../time_trackter/time_tracker.js' import type { Mocktomata } from '../types.js' import { DuplicateStep, MissingStep } from './errors.js' -import { createStore, Step, Store } from './store.js' +import { Step, Store, createStore } from './store.js' export namespace Zucchini { export type StepCaller = (clause: string, ...inputs: any[]) => Promise diff --git a/packages/mocktomata/ts/framework.ts b/packages/mocktomata/ts/framework.ts index c6625dd0..88f9fafd 100644 --- a/packages/mocktomata/ts/framework.ts +++ b/packages/mocktomata/ts/framework.ts @@ -19,7 +19,12 @@ export { PluginsNotLoaded, SpecIDCannotBeEmpty, SpecNotFound, + logLevels, type Komondor, + type LogLevel, + type LogMethodNames, + type Logger, + type MemoryLogReporter, type MismatchActionModel, type Mocktomata, type Spec,