limina 0.0.3 → 0.0.4
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/README.md +13 -10
- package/chunks/{dep-UWxsul2A.js → dep-ZRIm_-Zk.js} +2 -1
- package/cli.js +1691 -1481
- package/config.d.ts +14 -16
- package/index.d.ts +2 -2
- package/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -34,6 +34,7 @@ Limina makes these rules reviewable, runnable, and suitable for CI.
|
|
|
34
34
|
- **Compatibility path generation**: writes opt-in `tsconfig.dts.paths.generated.json` files for `workspace:*` dependencies whose package exports still point at build artifacts.
|
|
35
35
|
- **Checker target runner**: runs configured TypeScript and UI-framework checker entries in `typecheck` or `build` execution mode.
|
|
36
36
|
- **Published package checks**: validates built package outputs with `publint`, Are The Types Wrong, and a runtime import boundary audit.
|
|
37
|
+
- **Release checks**: verifies npm tarball hygiene, source/packed manifest consistency, and registry-backed workspace publish order.
|
|
37
38
|
- **Composable pipelines**: combines built-in checks and shell commands into named workflows such as `typecheck`, `package`, and `publish`.
|
|
38
39
|
- **Typed configuration**: ships `defineConfig(...)` for editor hints and typed user configs.
|
|
39
40
|
|
|
@@ -95,8 +96,8 @@ export default defineConfig({
|
|
|
95
96
|
],
|
|
96
97
|
},
|
|
97
98
|
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
package: {
|
|
100
|
+
entries: [
|
|
100
101
|
{
|
|
101
102
|
name: '@acme/core',
|
|
102
103
|
outDir: 'packages/core/dist',
|
|
@@ -106,7 +107,7 @@ export default defineConfig({
|
|
|
106
107
|
|
|
107
108
|
pipelines: {
|
|
108
109
|
package: ['package:check'],
|
|
109
|
-
publish: ['graph:check', 'proof:check', 'package:check'],
|
|
110
|
+
publish: ['graph:check', 'proof:check', 'package:check', 'release:check'],
|
|
110
111
|
},
|
|
111
112
|
});
|
|
112
113
|
```
|
|
@@ -151,7 +152,7 @@ A dependency declared as `link:`, `file:`, `catalog:`, or normal semver is treat
|
|
|
151
152
|
|
|
152
153
|
### Package checks
|
|
153
154
|
|
|
154
|
-
Source graph checks do not prove that an installed package works for consumers. `limina package check` inspects built package outputs under `
|
|
155
|
+
Source graph checks do not prove that an installed package works for consumers. `limina package check` inspects built package outputs under `package.entries[].outDir` and checks the actual package manifest, exports, type resolution, and runtime imports with `publint`, `attw`, and `boundary`. `limina release check` owns npm publish hygiene: private-output rejection, required README/license files, source map bans, source/packed manifest consistency, and registry-backed workspace publish order.
|
|
155
156
|
|
|
156
157
|
## CLI
|
|
157
158
|
|
|
@@ -171,9 +172,11 @@ limina [--config limina.config.mjs] [--mode mode] <command>
|
|
|
171
172
|
| `limina checker build` | Run build execution for checker entries that support it. |
|
|
172
173
|
| `limina checker typecheck` | Run source-only checker entries such as `svelte-check`. |
|
|
173
174
|
| `limina package check` | Run configured package output checks. |
|
|
174
|
-
| `limina package check --package <name>` | Check one configured package
|
|
175
|
+
| `limina package check --package <name>` | Check one configured package entry. |
|
|
175
176
|
| `limina package check --tool <tool>` | Run only `publint`, `attw`, or `boundary`. |
|
|
176
177
|
| `limina package check --attw-profile <profile>` | Override the ATTW profile: `strict`, `node16`, or `esm-only`. |
|
|
178
|
+
| `limina release check` | Check release hygiene and dependency consistency for the cwd package entry. |
|
|
179
|
+
| `limina release check --package <name>` | Check release hygiene and dependency consistency for one or more package entries. |
|
|
177
180
|
|
|
178
181
|
## Configuration reference
|
|
179
182
|
|
|
@@ -269,11 +272,11 @@ proof: {
|
|
|
269
272
|
|
|
270
273
|
Checker entries cover files validated by TypeScript or framework-aware tools. Allowlist entries are the final fallback after all configured checker entries fail to cover a source file; they should be rare and must include a reason.
|
|
271
274
|
|
|
272
|
-
### `
|
|
275
|
+
### `package`
|
|
273
276
|
|
|
274
277
|
```js
|
|
275
|
-
|
|
276
|
-
|
|
278
|
+
package: {
|
|
279
|
+
entries: [
|
|
277
280
|
{
|
|
278
281
|
name: '@acme/core',
|
|
279
282
|
outDir: 'packages/core/dist',
|
|
@@ -289,7 +292,7 @@ packageChecks: {
|
|
|
289
292
|
}
|
|
290
293
|
```
|
|
291
294
|
|
|
292
|
-
`outDir` must point at the built package directory that contains the publish-ready `package.json`.
|
|
295
|
+
`outDir` must point at the built package directory that contains the publish-ready `package.json`. `package:check` uses this output for consumer-facing resolver and runtime checks; `release:check` packs the same output and verifies publish hygiene such as README/license files and source map bans.
|
|
293
296
|
|
|
294
297
|
### `pipelines`
|
|
295
298
|
|
|
@@ -356,7 +359,7 @@ Run the command from inside the workspace, or pass `--config ./limina.config.mjs
|
|
|
356
359
|
|
|
357
360
|
Limina infers the workspace root from `pnpm-workspace.yaml`. Place the config inside the workspace or pass a config path located under the workspace root.
|
|
358
361
|
|
|
359
|
-
### `
|
|
362
|
+
### `package.entries[x].outDir` is invalid
|
|
360
363
|
|
|
361
364
|
Set `outDir` to the built package directory, not the source package directory, unless that directory is itself the publish-ready package output.
|
|
362
365
|
|
|
@@ -1054,6 +1054,7 @@ const InitLogger = logger.getLoggerByGroup("task.init");
|
|
|
1054
1054
|
const PackageLogger = logger.getLoggerByGroup("task.package");
|
|
1055
1055
|
const PathsLogger = logger.getLoggerByGroup("task.paths");
|
|
1056
1056
|
const ProofLogger = logger.getLoggerByGroup("task.proof");
|
|
1057
|
+
const ReleaseLogger = logger.getLoggerByGroup("task.release");
|
|
1057
1058
|
const SourceLogger = logger.getLoggerByGroup("task.source");
|
|
1058
1059
|
const TypecheckLogger = logger.getLoggerByGroup("task.typecheck");
|
|
1059
1060
|
function clearCliScreen() {
|
|
@@ -2397,4 +2398,4 @@ function createLiminaFlowReporter(options = {}) {
|
|
|
2397
2398
|
}
|
|
2398
2399
|
|
|
2399
2400
|
//#endregion
|
|
2400
|
-
export {
|
|
2401
|
+
export { resolveReferencePath as $, resolveInternalImport as A, collectGraphProjectRouteFromRoot as B, findTargetProject as C, isDtsProjectConfig as D, inferPackageProject as E, getPackageRootSpecifier as F, createFormatHost as G, collectSourceGraphProjectExtensions as H, getPublishDependencySections as I, getRawReferencePaths as J, formatReferences as K, isWorkspaceDependencySpecifier as L, collectImporters as M, collectWorkspacePackages as N, isRelativeSpecifier$1 as O, findPackageForSpecifier as P, resolveProjectConfigPath as Q, collectCheckerEntryProjectRoutes as R, findPackageForFile as S, getTypecheckConfigPath as T, createExtensionPattern as U, collectGraphProjectRoutes as V, createExtraFileExtensions as W, parseProjectFileNamesForExtensions as X, isOrdinaryTypecheckConfigPath as Y, readJsonConfig as Z, getDeniedRefRule as _, runSourceCheck as a, createFileOwnerLookup as b, GraphLogger as c, ProofLogger as d, ReleaseLogger as f, getDeniedDepRuleForSpecifier as g, getDeniedDepRuleForPackage as h, runCheckerTypecheck as i, shouldResolveThroughGraph as j, parseProject as k, PackageLogger as l, formatErrorMessage$1 as m, createLiminaFlowReporter as n, runInit as o, clearCliScreen as p, getDtsCompanionConfigPath as q, runCheckerBuild as r, CliLogger as s, LiminaFlowReporter as t, PathsLogger as u, normalizeGraphRules as v, formatArtifactDependencyPolicy as w, findImporterForFile as x, collectImportsFromFile as y, collectGraphProjectRoute as z };
|