depcurfew 1.0.0 → 1.2.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "depcurfew",
3
- "version": "1.0.0",
4
- "description": "One supply-chain security policy for npm, pnpm, Yarn, Bun, Deno, Renovate and Dependabot, plus a doctor that finds config that silently does nothing.",
3
+ "version": "1.2.0",
4
+ "description": "One supply-chain security policy for npm, pnpm, Yarn, Bun, Deno, uv, pip, Poetry, PDM, Pipenv, Renovate and Dependabot, plus a doctor that finds config that silently does nothing.",
5
5
  "license": "MIT",
6
6
  "author": "depcurfew",
7
7
  "repository": {
@@ -40,6 +40,8 @@
40
40
  "check:pkg": "tsdown && publint && attw --pack . --profile esm-only",
41
41
  "docs:knowledge": "node scripts/generate-knowledge.ts",
42
42
  "docs:readme": "node scripts/generate-readme.ts",
43
+ "data:popular": "node scripts/generate-popular.ts",
44
+ "record:registry": "node scripts/record-registry.ts",
43
45
  "schema": "node scripts/generate-schema.ts"
44
46
  },
45
47
  "keywords": [
@@ -50,6 +52,12 @@
50
52
  "yarn",
51
53
  "bun",
52
54
  "deno",
55
+ "python",
56
+ "uv",
57
+ "pip",
58
+ "poetry",
59
+ "pdm",
60
+ "pipenv",
53
61
  "renovate",
54
62
  "dependabot",
55
63
  "minimum-release-age",
@@ -65,5 +73,8 @@
65
73
  },
66
74
  "dependencies": {
67
75
  "yaml": "2.9.1"
76
+ },
77
+ "allowScripts": {
78
+ "fsevents": false
68
79
  }
69
80
  }
package/schema.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://unpkg.com/depcurfew/schema.json",
4
4
  "title": "depcurfew policy",
5
- "description": "One supply-chain security policy for npm, pnpm, Yarn, Bun, Deno, Renovate and Dependabot.",
5
+ "description": "One supply-chain security policy for npm, pnpm, Yarn, Bun, Deno, uv, pip, Poetry, PDM, Pipenv, Renovate and Dependabot.",
6
6
  "type": "object",
7
7
  "properties": {
8
8
  "$schema": {
@@ -32,9 +32,9 @@
32
32
  "description": "Packages that skip the release-age delay, e.g. your own scope.",
33
33
  "type": "array",
34
34
  "items": {
35
- "description": "A package name such as \"esbuild\" or \"@scope/name\", or a pattern with *, such as \"@scope/*\". No versions.",
35
+ "description": "An npm package name such as \"esbuild\" or \"@scope/name\", or a pattern with *, such as \"@scope/*\". Python packages take the prefix pypi:, e.g. \"pypi:requests\" or \"pypi:acme-*\". No versions.",
36
36
  "type": "string",
37
- "pattern": "^(?!\\*+$)(@[A-Za-z0-9~*-][A-Za-z0-9._~*-]*/)?[A-Za-z0-9~*-][A-Za-z0-9._~*-]*$"
37
+ "pattern": "^(?:pypi:(?!\\*+$)[A-Za-z0-9*](?:[A-Za-z0-9._*-]*[A-Za-z0-9*])?|(?!\\*+$)(@[A-Za-z0-9~*-][A-Za-z0-9._~*_-]*/)?[A-Za-z0-9~*-][A-Za-z0-9._~*_-]*)$"
38
38
  },
39
39
  "uniqueItems": true,
40
40
  "default": []
@@ -55,11 +55,11 @@
55
55
  "additionalProperties": false
56
56
  },
57
57
  "installScripts": {
58
- "description": "Dependency lifecycle scripts.",
58
+ "description": "Code that dependencies run when they are installed: lifecycle scripts in npm, building from source in Python.",
59
59
  "type": "object",
60
60
  "properties": {
61
61
  "default": {
62
- "description": "Whether dependency lifecycle scripts (preinstall, install, postinstall) run by default.",
62
+ "description": "Whether dependency lifecycle scripts (preinstall, install, postinstall) run by default; for Python, whether packages may be built from source.",
63
63
  "type": "string",
64
64
  "enum": [
65
65
  "allow",
@@ -67,12 +67,23 @@
67
67
  ]
68
68
  },
69
69
  "allow": {
70
- "description": "Packages whose lifecycle scripts may run when the default is \"deny\".",
70
+ "description": "Packages whose lifecycle scripts may run when the default is \"deny\"; Python packages listed here are always built from source.",
71
71
  "type": "array",
72
72
  "items": {
73
- "description": "A package name such as \"esbuild\" or \"@scope/name\", or a pattern with *, such as \"@scope/*\". No versions.",
73
+ "description": "An npm package name such as \"esbuild\" or \"@scope/name\", or a pattern with *, such as \"@scope/*\". Python packages take the prefix pypi:, e.g. \"pypi:requests\" or \"pypi:acme-*\". No versions.",
74
74
  "type": "string",
75
- "pattern": "^(?!\\*+$)(@[A-Za-z0-9~*-][A-Za-z0-9._~*-]*/)?[A-Za-z0-9~*-][A-Za-z0-9._~*-]*$"
75
+ "pattern": "^(?:pypi:(?!\\*+$)[A-Za-z0-9*](?:[A-Za-z0-9._*-]*[A-Za-z0-9*])?|(?!\\*+$)(@[A-Za-z0-9~*-][A-Za-z0-9._~*_-]*/)?[A-Za-z0-9~*-][A-Za-z0-9._~*_-]*)$"
76
+ },
77
+ "uniqueItems": true,
78
+ "default": []
79
+ },
80
+ "deny": {
81
+ "description": "Packages you reviewed that work without their lifecycle scripts, so the scripts stay blocked on purpose and doctor does not report them, for example \"fsevents\", which ships a prebuilt binary. A package cannot be in both lists, also not through two patterns that match the same name. Python packages listed here must not be built from source: doctor reports a tool that would still build one.",
82
+ "type": "array",
83
+ "items": {
84
+ "description": "An npm package name such as \"esbuild\" or \"@scope/name\", or a pattern with *, such as \"@scope/*\". Python packages take the prefix pypi:, e.g. \"pypi:requests\" or \"pypi:acme-*\". No versions.",
85
+ "type": "string",
86
+ "pattern": "^(?:pypi:(?!\\*+$)[A-Za-z0-9*](?:[A-Za-z0-9._*-]*[A-Za-z0-9*])?|(?!\\*+$)(@[A-Za-z0-9~*-][A-Za-z0-9._~*_-]*/)?[A-Za-z0-9~*-][A-Za-z0-9._~*_-]*)$"
76
87
  },
77
88
  "uniqueItems": true,
78
89
  "default": []
@@ -142,6 +153,11 @@
142
153
  "yarn",
143
154
  "bun",
144
155
  "deno",
156
+ "uv",
157
+ "pip",
158
+ "poetry",
159
+ "pdm",
160
+ "pipenv",
145
161
  "renovate",
146
162
  "dependabot"
147
163
  ]