Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions documentation/desired-concept/architecture/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,10 @@ The first-party shape is:

```ts
import { defineConfig } from '@overkill-dev/test/config';
import { lineReporter } from '@overkill-dev/test/reporters';
import { createLineReporter } from '@overkill-dev/test/reporters';

export const config = defineConfig({
reporters: [ lineReporter() ],
reporters: [ createLineReporter() ],
profiles: {
unit: {
testFamily: 'microtest',
Expand Down Expand Up @@ -242,7 +242,7 @@ Use profiles for ordinary and optional runtime families instead:

```ts
export const config = defineConfig({
reporters: [ lineReporter() ],
reporters: [ createLineReporter() ],
profiles: {
'unit-fast': {
testFamily: 'microtest',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -699,13 +699,14 @@ Everything outside the authoring hot path uses an explicit subpath:

```ts
import { defineConfig } from '@overkill-dev/test/config';
import { lineReporter } from '@overkill-dev/test/reporters';
import { benchmark, workload } from '@overkill-dev/test/bench';
import { createLineReporter } from '@overkill-dev/test/reporters';
import { defineCompositeAssertion } from '@overkill-dev/test/assert';
```

Subpaths may re-export standard-stack packages for user ergonomics. They do
not transfer semantic ownership away from those packages.
Current reserved standard subpaths expose only `unavailable()` until their
leaf package exists.

### Load Boundaries

Expand Down
17 changes: 8 additions & 9 deletions documentation/desired-concept/architecture/reporters.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,17 +224,13 @@ Config should prefer explicit imported values, for example:
```ts
import { defineConfig } from '@overkill-dev/test/config';
import {
benchmarkHtmlReporter,
lineReporter
createGithubActionsOutputRenderer,
createLineReporter
} from '@overkill-dev/test/reporters';

export const config = defineConfig({
reporters: [
lineReporter(),
benchmarkHtmlReporter({
outputDir: '.overkill/bench-report'
})
]
outputRenderer: createGithubActionsOutputRenderer(),
reporters: [ createLineReporter() ]
});
```

Expand All @@ -243,7 +239,10 @@ convention and no package-name lookup magic in the settled concept.

`@overkill-dev/test/reporters` may re-export built-in reporter factories so
standard users do not need to import each built-in reporter from its leaf
package by default.
package by default. The current standard distribution exports
`createLineReporter`, `createBriefReporter`, `createDotReporter`, and
`createGithubActionsOutputRenderer`; benchmark-specific and artifact reporters
arrive with their leaf packages.

## Multi-Reporter Composition

Expand Down
5 changes: 3 additions & 2 deletions documentation/desired-concept/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -273,8 +273,9 @@ The standard distribution is a packaging convenience, not the architectural
source of truth. The root `@overkill-dev/test` import is reserved for the
authoring hot path and lightweight doubles. Other standard features are
available through explicit subpaths such as `@overkill-dev/test/config`,
`@overkill-dev/test/reporters`, `@overkill-dev/test/bench`, and
`@overkill-dev/test/assert`.
`@overkill-dev/test/reporters`, `@overkill-dev/test/assert`,
`@overkill-dev/test/bench`, `@overkill-dev/test/resources`, and
`@overkill-dev/test/baselines`.

Optional packages stay separate installs when they are domain-specific,
heavyweight, or aimed at a narrower audience. That includes browser and
Expand Down
2 changes: 1 addition & 1 deletion justfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export PATH := './node_modules/.bin:' + env_var('PATH')
package-smoke-packages := '@overkill-dev/engine,@overkill-dev/assert,@overkill-dev/doubles,@overkill-dev/run,@overkill-dev/test,@overkill-dev/reporter-line'
package-smoke-packages := '@overkill-dev/engine,@overkill-dev/assert,@overkill-dev/doubles,@overkill-dev/run,@overkill-dev/test,@overkill-dev/reporter-line,@overkill-dev/reporter-brief,@overkill-dev/reporter-dot,@overkill-dev/output-renderer-github-actions'

default:
@just --list
Expand Down
66 changes: 65 additions & 1 deletion packtory.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,10 @@ export const config = {
js: 'packages/run/command-line.entry-point.js',
declarationFile: 'packages/run/command-line.entry-point.d.ts'
},
config: {
js: 'packages/run/config.entry-point.js',
declarationFile: 'packages/run/config.entry-point.d.ts'
},
filters: {
js: 'packages/run/filters.entry-point.js',
declarationFile: 'packages/run/filters.entry-point.d.ts'
Expand All @@ -163,6 +167,10 @@ export const config = {
export: './command-line',
root: 'commandLine'
},
{
export: './config',
root: 'config'
},
{
export: './filters',
root: 'filters'
Expand All @@ -182,21 +190,77 @@ export const config = {
},
{
name: '@overkill-dev/test',
bundleDependencies: [ '@overkill-dev/engine', '@overkill-dev/reporter-line', '@overkill-dev/run' ],
bundleDependencies: [
'@overkill-dev/assert',
'@overkill-dev/engine',
'@overkill-dev/output-renderer-github-actions',
'@overkill-dev/reporter-brief',
'@overkill-dev/reporter-dot',
'@overkill-dev/reporter-line',
'@overkill-dev/run'
],
roots: {
assert: {
js: 'packages/test/assert.entry-point.js',
declarationFile: 'packages/test/assert.entry-point.d.ts'
},
baselines: {
js: 'packages/test/baselines.entry-point.js',
declarationFile: 'packages/test/baselines.entry-point.d.ts'
},
bench: {
js: 'packages/test/bench.entry-point.js',
declarationFile: 'packages/test/bench.entry-point.d.ts'
},
config: {
js: 'packages/test/config.entry-point.js',
declarationFile: 'packages/test/config.entry-point.d.ts'
},
main: {
js: 'packages/test/test.entry-point.js',
declarationFile: 'packages/test/test.entry-point.d.ts'
},
overkill: {
js: 'packages/test/overkill.entry-point.js'
},
reporters: {
js: 'packages/test/reporters.entry-point.js',
declarationFile: 'packages/test/reporters.entry-point.d.ts'
},
resources: {
js: 'packages/test/resources.entry-point.js',
declarationFile: 'packages/test/resources.entry-point.d.ts'
}
},
packageInterface: {
modules: [
{
export: '.',
root: 'main'
},
{
export: './assert',
root: 'assert'
},
{
export: './baselines',
root: 'baselines'
},
{
export: './bench',
root: 'bench'
},
{
export: './config',
root: 'config'
},
{
export: './reporters',
root: 'reporters'
},
{
export: './resources',
root: 'resources'
}
],
bins: [
Expand Down
Loading