@filipebraida/adonis-function-points 0.6.0 → 0.7.0
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/CHANGELOG.md +68 -0
- package/README.md +1 -1
- package/build/commands/main.js +6 -6
- package/build/{fp_calibrate-EAuAtdbq.js → fp_calibrate-3TxGdS1b.js} +1 -1
- package/build/{fp_count-CZ0cUUBQ.js → fp_count-arGLnVlY.js} +1 -1
- package/build/{fp_diff-BTg_LX0r.js → fp_diff-DBBvzq5x.js} +1 -1
- package/build/{fp_explain-D6QvDLKQ.js → fp_explain-aNFApwiT.js} +1 -1
- package/build/{fp_inventory-C43fU39x.js → fp_inventory-DIjKIC9t.js} +1 -1
- package/build/{fp_metrics-DEMPk4xC.js → fp_metrics-BpU61waG.js} +1 -1
- package/build/index.js +2 -2
- package/build/{pipeline-Cq4dNTNE.js → pipeline-DO2301fV.js} +1414 -122
- package/build/{resolvers-DlKJOZnk.js → resolvers-DaU4uAqT.js} +323 -150
- package/build/{runners-FYmPIPub.js → runners-Dm7cWGa-.js} +2 -2
- package/build/src/albrecht/counter.d.ts +8 -1
- package/build/src/cli.js +2 -2
- package/build/src/inventory/graph/call_graph.d.ts +15 -0
- package/build/src/inventory/graph/deliveries.d.ts +88 -0
- package/build/src/inventory/graph/output_fields.d.ts +45 -1
- package/build/src/inventory/resolvers/index.js +1 -1
- package/build/src/inventory/resolvers/job_dispatch.d.ts +20 -0
- package/build/src/inventory/resolvers/local_function.d.ts +24 -0
- package/build/src/inventory/resolvers/transformer.d.ts +0 -23
- package/build/src/inventory/sources/commands.d.ts +14 -0
- package/build/src/inventory/sources/jobs.d.ts +27 -0
- package/build/src/pipeline.js +1 -1
- package/build/src/types.d.ts +19 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,74 @@ release moves the number for unchanged code, the rule set version moves with it
|
|
|
6
6
|
otherwise the difference would measure the tool's change rather than the work, and
|
|
7
7
|
that difference becomes an invoice.
|
|
8
8
|
|
|
9
|
+
## 0.7.0
|
|
10
|
+
|
|
11
|
+
**Rule set `afp@1.6.0`.** Three rules move the number for unchanged code, every one
|
|
12
|
+
frozen in a fixture with a hand-written reference before the code, and every one
|
|
13
|
+
recounted on the three validated applications function by function — four times for
|
|
14
|
+
the first. A 0.6.0 baseline has to be recounted: the totals move −16, +8 and +21 FP,
|
|
15
|
+
and most of that is new elementary processes the count had never seen.
|
|
16
|
+
|
|
17
|
+
### Counting
|
|
18
|
+
|
|
19
|
+
- **An output's DETs are what the transaction delivers.** The place an output crosses
|
|
20
|
+
the boundary is the delivery — the props of `inertia.render` / `inertia.modal` /
|
|
21
|
+
`view.render`, the payload of `response.json|ok|created|send`, what a command prints
|
|
22
|
+
— and each value delivered is read back to its origin: a followed call's classified
|
|
23
|
+
**return** (a key of it when destructured or picked: `const { data, meta } = …`,
|
|
24
|
+
`meta.pagina`), a store's columns when rows are handed on, a literal's leaves once, a
|
|
25
|
+
scalar as 1, an echoed input as 0 (it counted on entry, §7.3), and a value nobody can
|
|
26
|
+
read as 1, opaque, **reported by transaction**. A store read to authorise and
|
|
27
|
+
delivered by nothing stays an FTR and contributes no DET; a document built from rows
|
|
28
|
+
(`gerarCsv(produtos)`) carries the rows. A variant **replaces** `toObject()`; a
|
|
29
|
+
function of the same file and a function passed to `.map()` by reference are
|
|
30
|
+
followed; an echo stays an echo through `?? null` and `.toISOString()`;
|
|
31
|
+
`paginator.getMeta()` is four values; a literal with computed keys is one repeating
|
|
32
|
+
attribute; a yes/no, a formatted value, a framework service's answer and an Inertia
|
|
33
|
+
lazy prop are one value. Without a delivery point the output falls back to the
|
|
34
|
+
stores read, as before. On the applications: a home page at 1 DET became 10; a
|
|
35
|
+
petitions list at 8 DET became 60 — its nested transformers, which the unresolved
|
|
36
|
+
variant had hidden; every listing page stopped counting its filters twice.
|
|
37
|
+
- **A function of the same file is followed** (`local-function`), and so is
|
|
38
|
+
`rows.map(paraLinha)`. Not only DETs: the stores those helpers read are FTRs now, and
|
|
39
|
+
two `POST`s that wrote through a local helper moved from EO to EI. Models and modules
|
|
40
|
+
imported **inside** a body (`const { default: X } = await import('#…')`) bind like a
|
|
41
|
+
static import — an importer that wrote four tables this way had touched nothing.
|
|
42
|
+
- **An ace command is an elementary process.** `commands/**` extending `BaseCommand`
|
|
43
|
+
with a literal `static commandName` is an entry point (`ace <commandName>`, §5); its
|
|
44
|
+
body is `run()`, its input DETs the `@flags.*` / `@args.*` declared, by the name the
|
|
45
|
+
operator types; what it prints (`this.ui.table().row(…)`, `this.logger.info(…)`) is
|
|
46
|
+
its output, read by the same classifier. One that reaches no store is no transaction.
|
|
47
|
+
Every counted command is **listed with its FP**, a file importing `@faker-js/faker`
|
|
48
|
+
carries the hint "generates data, probably a development tool", and
|
|
49
|
+
`boundary.ignoreEntryPoints: ['<commandName>']` records the decision — the CPM does
|
|
50
|
+
not count the team's tools, and the code cannot tell a generator from an importer.
|
|
51
|
+
|
|
52
|
+
### New
|
|
53
|
+
|
|
54
|
+
- **A job no transaction reaches is reported, never counted**: "scheduled from
|
|
55
|
+
start/scheduler.ts, outside every transaction", "dispatched from app/…/service.ts,
|
|
56
|
+
which no transaction reaches", or "dispatched by nothing in the application". A
|
|
57
|
+
scheduled process is an elementary process nobody is counting; inventing one is the
|
|
58
|
+
error this package exists to avoid, so it becomes an entry point only once a
|
|
59
|
+
scheduler is read as a source (counting-decisions §9).
|
|
60
|
+
- The `transform` before a `useVariant` is claimed and followed nowhere, instead of
|
|
61
|
+
falling to `static-service` and being reported as a package method with no body —
|
|
62
|
+
which is what every variant chain had been doing to the unresolved count.
|
|
63
|
+
|
|
64
|
+
### Documented
|
|
65
|
+
|
|
66
|
+
- counting-decisions §6 gains the delivery table and the eleven-row table of how a
|
|
67
|
+
delivered value is read back to its origin; §5 says how a command's identity is
|
|
68
|
+
rendered; §9 gains "A job no transaction reaches is reported, never counted".
|
|
69
|
+
- Two reference fixtures written before their rules: `render_props` (62 FP, thirteen
|
|
70
|
+
shapes of delivery, one added per recount) and `ace_commands` (26 FP; the previous
|
|
71
|
+
rule set said 9 — the table only commands maintain looked like an EIF); a pattern
|
|
72
|
+
fixture `local_function` for the resolver.
|
|
73
|
+
- Reading the page (`.tsx` / `.edge`) for what it shows of a raw prop — plan 0.7 §B —
|
|
74
|
+
is deferred to 0.8, as the plan allowed: the delivery rule made it a refinement of one
|
|
75
|
+
case, and the recounts spent the release on the cases that moved numbers.
|
|
76
|
+
|
|
9
77
|
## 0.6.0
|
|
10
78
|
|
|
11
79
|
**Rule set `afp@1.5.0`.** Six rules change what a number is made of, all of them found
|
package/README.md
CHANGED
package/build/commands/main.js
CHANGED
|
@@ -14,27 +14,27 @@
|
|
|
14
14
|
const commands = [
|
|
15
15
|
{
|
|
16
16
|
commandName: "fp:inventory",
|
|
17
|
-
importer: () => import("../fp_inventory-
|
|
17
|
+
importer: () => import("../fp_inventory-DIjKIC9t.js")
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
commandName: "fp:metrics",
|
|
21
|
-
importer: () => import("../fp_metrics-
|
|
21
|
+
importer: () => import("../fp_metrics-BpU61waG.js")
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
commandName: "fp:count",
|
|
25
|
-
importer: () => import("../fp_count-
|
|
25
|
+
importer: () => import("../fp_count-arGLnVlY.js")
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
commandName: "fp:explain",
|
|
29
|
-
importer: () => import("../fp_explain-
|
|
29
|
+
importer: () => import("../fp_explain-aNFApwiT.js")
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
commandName: "fp:diff",
|
|
33
|
-
importer: () => import("../fp_diff-
|
|
33
|
+
importer: () => import("../fp_diff-DBBvzq5x.js")
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
36
|
commandName: "fp:calibrate",
|
|
37
|
-
importer: () => import("../fp_calibrate-
|
|
37
|
+
importer: () => import("../fp_calibrate-3TxGdS1b.js")
|
|
38
38
|
}
|
|
39
39
|
];
|
|
40
40
|
let cache = null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { s as printResult, t as runCalibrate } from "./runners-
|
|
1
|
+
import { s as printResult, t as runCalibrate } from "./runners-Dm7cWGa-.js";
|
|
2
2
|
import { n as printerFor, t as __decorate } from "./decorate-D6enDn9D.js";
|
|
3
3
|
import { BaseCommand, args } from "@adonisjs/core/ace";
|
|
4
4
|
//#region commands/fp_calibrate.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as runCount, s as printResult } from "./runners-
|
|
1
|
+
import { n as runCount, s as printResult } from "./runners-Dm7cWGa-.js";
|
|
2
2
|
import { n as printerFor, t as __decorate } from "./decorate-D6enDn9D.js";
|
|
3
3
|
import { BaseCommand, flags } from "@adonisjs/core/ace";
|
|
4
4
|
//#region commands/fp_count.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as runDiff, s as printResult } from "./runners-
|
|
1
|
+
import { r as runDiff, s as printResult } from "./runners-Dm7cWGa-.js";
|
|
2
2
|
import { n as printerFor, t as __decorate } from "./decorate-D6enDn9D.js";
|
|
3
3
|
import { BaseCommand, args } from "@adonisjs/core/ace";
|
|
4
4
|
//#region commands/fp_diff.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as runExplain, s as printResult } from "./runners-
|
|
1
|
+
import { i as runExplain, s as printResult } from "./runners-Dm7cWGa-.js";
|
|
2
2
|
import { n as printerFor, t as __decorate } from "./decorate-D6enDn9D.js";
|
|
3
3
|
import { BaseCommand, args } from "@adonisjs/core/ace";
|
|
4
4
|
//#region commands/fp_explain.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as runInventory, s as printResult } from "./runners-
|
|
1
|
+
import { a as runInventory, s as printResult } from "./runners-Dm7cWGa-.js";
|
|
2
2
|
import { n as printerFor, t as __decorate } from "./decorate-D6enDn9D.js";
|
|
3
3
|
import { BaseCommand, flags } from "@adonisjs/core/ace";
|
|
4
4
|
//#region commands/fp_inventory.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as runMetrics, s as printResult } from "./runners-
|
|
1
|
+
import { o as runMetrics, s as printResult } from "./runners-Dm7cWGa-.js";
|
|
2
2
|
import { n as printerFor, t as __decorate } from "./decorate-D6enDn9D.js";
|
|
3
3
|
import { BaseCommand, flags } from "@adonisjs/core/ace";
|
|
4
4
|
//#region commands/fp_metrics.ts
|
package/build/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { configure } from "./configure.js";
|
|
2
2
|
import { a as AEP_FACTORS, c as IncomparableSourcesError, f as defineConfig, i as measureStructure, l as SISP_FACTORS, n as parseSamples, o as FACTOR_PRESETS, r as measureConformance, s as IncomparableRulesetsError, t as calibrate, u as diffCounts } from "./calibration-DVIf8hcE.js";
|
|
3
3
|
import "./src/types.js";
|
|
4
|
-
import { n as ignoreCalls, t as BUILTIN_CALL_RESOLVERS } from "./resolvers-
|
|
5
|
-
import { a as DEFAULT_TECHNICAL_PATTERNS, i as RULESET_VERSION, n as analyze, r as RULESET, t as CoverageTooLowError } from "./pipeline-
|
|
4
|
+
import { n as ignoreCalls, t as BUILTIN_CALL_RESOLVERS } from "./resolvers-DaU4uAqT.js";
|
|
5
|
+
import { a as DEFAULT_TECHNICAL_PATTERNS, i as RULESET_VERSION, n as analyze, r as RULESET, t as CoverageTooLowError } from "./pipeline-DO2301fV.js";
|
|
6
6
|
export { AEP_FACTORS, BUILTIN_CALL_RESOLVERS, CoverageTooLowError, DEFAULT_TECHNICAL_PATTERNS, FACTOR_PRESETS, IncomparableRulesetsError, IncomparableSourcesError, RULESET, RULESET_VERSION, SISP_FACTORS, analyze, calibrate, configure, defineConfig, diffCounts, ignoreCalls, measureConformance, measureStructure, parseSamples };
|