paqad-ai 1.41.0 → 1.41.1
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 +13 -0
- package/dist/cli/index.js +1 -1
- package/dist/index.js +3 -3
- package/dist/kernel/gate.js +17 -2
- package/dist/kernel/gate.js.map +1 -1
- package/dist/rule-scripts/index.js +17 -2
- package/dist/rule-scripts/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# paqad-ai
|
|
2
2
|
|
|
3
|
+
## 1.41.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2137219: Rule-script whole-tree scan now respects `.gitignore`. Previously the scanner
|
|
8
|
+
enumerated the working tree with a fixed ignore list (`node_modules`, `dist`,
|
|
9
|
+
`.paqad`, `build`) and never consulted the project's `.gitignore`, so gitignored
|
|
10
|
+
build output, vendored dependencies, and generated code were still scanned —
|
|
11
|
+
producing `deterministic` findings on files the developer cannot hand-fix and
|
|
12
|
+
blocking the strict `rule_compliance` gate. The scan now drops git-ignored paths
|
|
13
|
+
via a batched `git check-ignore` (falling back to the static list when git is
|
|
14
|
+
unavailable), and adds `vendor/` to that fallback list.
|
|
15
|
+
|
|
3
16
|
## 1.41.0
|
|
4
17
|
|
|
5
18
|
### Minor Changes
|
package/dist/cli/index.js
CHANGED
|
@@ -26076,7 +26076,7 @@ init_cancelled_error();
|
|
|
26076
26076
|
init_events();
|
|
26077
26077
|
|
|
26078
26078
|
// src/index.ts
|
|
26079
|
-
var VERSION = "1.41.
|
|
26079
|
+
var VERSION = "1.41.1";
|
|
26080
26080
|
|
|
26081
26081
|
// src/cli/commands/audit.ts
|
|
26082
26082
|
init_esm_shims();
|
package/dist/index.js
CHANGED
|
@@ -22735,7 +22735,7 @@ var memoizedReport;
|
|
|
22735
22735
|
function getEngineVersionReport() {
|
|
22736
22736
|
if (memoizedReport === void 0) {
|
|
22737
22737
|
memoizedReport = Object.freeze({
|
|
22738
|
-
engineVersion: normalizeEngineVersion("1.41.
|
|
22738
|
+
engineVersion: normalizeEngineVersion("1.41.1"),
|
|
22739
22739
|
minConsumerVersion: MIN_CONSUMER_VERSION,
|
|
22740
22740
|
deprecatedAsOf: DEPRECATED_AS_OF
|
|
22741
22741
|
});
|
|
@@ -39119,7 +39119,7 @@ function formatVerdictSummary(input2) {
|
|
|
39119
39119
|
|
|
39120
39120
|
// src/verification/repository/run-repository-verification.ts
|
|
39121
39121
|
function verifierVersion() {
|
|
39122
|
-
return true ? "1.41.
|
|
39122
|
+
return true ? "1.41.1" : "0.0.0-dev";
|
|
39123
39123
|
}
|
|
39124
39124
|
function backstopGates() {
|
|
39125
39125
|
return [
|
|
@@ -41853,7 +41853,7 @@ var WorkflowEngine = class {
|
|
|
41853
41853
|
};
|
|
41854
41854
|
|
|
41855
41855
|
// src/index.ts
|
|
41856
|
-
var VERSION = "1.41.
|
|
41856
|
+
var VERSION = "1.41.1";
|
|
41857
41857
|
function getFrameworkName() {
|
|
41858
41858
|
return "paqad-ai";
|
|
41859
41859
|
}
|
package/dist/kernel/gate.js
CHANGED
|
@@ -5845,6 +5845,7 @@ function serializeRuleScriptMap(map) {
|
|
|
5845
5845
|
}
|
|
5846
5846
|
|
|
5847
5847
|
// src/rule-scripts/runner.ts
|
|
5848
|
+
import { execFileSync } from "child_process";
|
|
5848
5849
|
import { createHash as createHash3 } from "crypto";
|
|
5849
5850
|
import { existsSync as existsSync10, mkdirSync as mkdirSync9, readFileSync as readFileSync14, writeFileSync as writeFileSync9 } from "fs";
|
|
5850
5851
|
import { dirname as dirname8, join as join14 } from "path";
|
|
@@ -6094,7 +6095,7 @@ function recordRuleFindings(projectRoot, evidence) {
|
|
|
6094
6095
|
|
|
6095
6096
|
// src/rule-scripts/runner.ts
|
|
6096
6097
|
var DEFAULT_GLOBS = ["**/*.{ts,tsx,js,jsx,mjs,cjs,vue,svelte}"];
|
|
6097
|
-
var IGNORE = ["**/node_modules/**", "**/dist/**", "**/.paqad/**", "**/build/**"];
|
|
6098
|
+
var IGNORE = ["**/node_modules/**", "**/dist/**", "**/.paqad/**", "**/build/**", "**/vendor/**"];
|
|
6098
6099
|
function sha256(input) {
|
|
6099
6100
|
return createHash3("sha256").update(input).digest("hex");
|
|
6100
6101
|
}
|
|
@@ -6111,8 +6112,22 @@ function scriptFilesHash(projectRoot, map) {
|
|
|
6111
6112
|
const paths = map.rules.flatMap((r) => r.scripts.map((s) => s.path)).sort();
|
|
6112
6113
|
return hashFiles(projectRoot, paths);
|
|
6113
6114
|
}
|
|
6115
|
+
function dropGitIgnored(projectRoot, files) {
|
|
6116
|
+
try {
|
|
6117
|
+
const out = execFileSync("git", ["check-ignore", "-z", "--stdin"], {
|
|
6118
|
+
cwd: projectRoot,
|
|
6119
|
+
input: files.join("\0"),
|
|
6120
|
+
stdio: ["pipe", "pipe", "ignore"]
|
|
6121
|
+
});
|
|
6122
|
+
const ignored = new Set(out.toString("utf8").split("\0").filter(Boolean));
|
|
6123
|
+
return files.filter((f) => !ignored.has(f));
|
|
6124
|
+
} catch {
|
|
6125
|
+
return files;
|
|
6126
|
+
}
|
|
6127
|
+
}
|
|
6114
6128
|
function wholeTree(projectRoot, globs) {
|
|
6115
|
-
|
|
6129
|
+
const listed = fg.sync(globs, { cwd: projectRoot, ignore: IGNORE, onlyFiles: true });
|
|
6130
|
+
return dropGitIgnored(projectRoot, listed).sort();
|
|
6116
6131
|
}
|
|
6117
6132
|
function targetsFor(script, opts, wholeTreeFiles) {
|
|
6118
6133
|
if (script.scope === "changed-files" && opts.changedFiles) {
|