Skip to content

Commit 5483156

Browse files
committed
feat: Integrate @verdaccio/plugin-verifier
1 parent 511d739 commit 5483156

8 files changed

Lines changed: 2006 additions & 5027 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"generator-verdaccio-plugin": minor
3+
---
4+
5+
Integrate @verdaccio/plugin-verifier into generated plugins, adding a `verify` script that validates the plugin can be loaded by Verdaccio's plugin loader

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
"typescript": "5.9.3",
5151
"vitepress": "1.6.4",
5252
"vitest": "4.0.18",
53+
"@verdaccio/plugin-verifier": "1.0.0-next-9.1",
5354
"yeoman-test": "11.2.0"
5455
},
5556
"engines": {

pnpm-lock.yaml

Lines changed: 1966 additions & 5019 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/app/index.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ import yosay from 'yosay';
66

77
import rootPackageJSON from '../../package.json' with { type: 'json' };
88

9+
const pluginCategoryMap: Record<string, string> = {
10+
auth: 'authentication',
11+
storage: 'storage',
12+
middleware: 'middleware',
13+
filter: 'filter',
14+
};
15+
916
interface Props {
1017
name?: string;
1118
pluginType?: 'auth' | 'storage' | 'middleware' | 'filter';
@@ -134,6 +141,13 @@ export default class PluginGenerator extends Generator {
134141
pkg.dependencies['express'] = rootPackageJSON.dependencies['express'];
135142
}
136143

144+
// plugin-verifier
145+
pkg.devDependencies['@verdaccio/plugin-verifier'] =
146+
rootPackageJSON.devDependencies['@verdaccio/plugin-verifier'];
147+
const category = pluginCategoryMap[pluginType];
148+
pkg.scripts['verify'] =
149+
`verdaccio-plugin-verifier ${this.projectName} --category ${category}`;
150+
137151
this.fs.writeJSON(this.templatePath(`${pluginType}/_package.json`), pkg);
138152

139153
this.fs.copyTpl(

src/app/templates/auth/_package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,16 @@
88
"node": ">=18"
99
},
1010
"dependencies": {},
11-
"devDependencies": {},
11+
"devDependencies": {
12+
"@verdaccio/plugin-verifier": "1.0.0-next-9.1"
13+
},
1214
"keywords": ["<%= keywords %>]"],
1315
"license": "<%= license %>",
1416
"repository": "<%= repository %>",
1517
"author": "<%= authorName %> <<%= authorEmail %>>",
1618
"scripts": {
1719
"build": "tsc",
18-
"test": "echo \"Error: no test specified\" && exit 1"
20+
"test": "echo \"Error: no test specified\" && exit 1",
21+
"verify": "verdaccio-plugin-verifier <%= name %> --category authentication"
1922
}
2023
}

src/app/templates/filter/_package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,16 @@
88
"node": ">=18"
99
},
1010
"dependencies": {},
11-
"devDependencies": {},
11+
"devDependencies": {
12+
"@verdaccio/plugin-verifier": "1.0.0-next-9.1"
13+
},
1214
"keywords": ["<%= keywords %>"],
1315
"license": "<%= license %>",
1416
"repository": "<%= repository %>",
1517
"author": "<%= authorName %> <<%= authorEmail %>>",
1618
"scripts": {
1719
"build": "tsc",
18-
"test": "echo \"Error: no test specified\" && exit 1"
20+
"test": "echo \"Error: no test specified\" && exit 1",
21+
"verify": "verdaccio-plugin-verifier <%= name %> --category filter"
1922
}
2023
}

src/app/templates/middleware/_package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,16 @@
88
"node": ">=18"
99
},
1010
"dependencies": {},
11-
"devDependencies": {},
11+
"devDependencies": {
12+
"@verdaccio/plugin-verifier": "1.0.0-next-9.1"
13+
},
1214
"keywords": ["<%= keywords %>"],
1315
"license": "<%= license %>",
1416
"repository": "<%= repository %>",
1517
"author": "<%= authorName %> <<%= authorEmail %>>",
1618
"scripts": {
1719
"build": "tsc",
18-
"test": "echo \"Error: no test specified\" && exit 1"
20+
"test": "echo \"Error: no test specified\" && exit 1",
21+
"verify": "verdaccio-plugin-verifier <%= name %> --category middleware"
1922
}
2023
}

src/app/templates/storage/_package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,16 @@
1010
"dependencies": {
1111
"@verdaccio/streams": "10.2.1"
1212
},
13-
"devDependencies": {},
13+
"devDependencies": {
14+
"@verdaccio/plugin-verifier": "1.0.0-next-9.1"
15+
},
1416
"keywords": ["<%= keywords %>"],
1517
"license": "<%= license %>",
1618
"repository": "<%= repository %>",
1719
"author": "<%= authorName %> <<%= authorEmail %>>",
1820
"scripts": {
1921
"build": "tsc",
20-
"test": "echo \"Error: no test specified\" && exit 1"
22+
"test": "echo \"Error: no test specified\" && exit 1",
23+
"verify": "verdaccio-plugin-verifier <%= name %> --category storage"
2124
}
2225
}

0 commit comments

Comments
 (0)