Skip to content

Instantly share code, notes, and snippets.

@dfee
Created August 30, 2021 22:28
Show Gist options
  • Save dfee/7b58ba2ac6f2499bb0dd557ebba6acdc to your computer and use it in GitHub Desktop.
Save dfee/7b58ba2ac6f2499bb0dd557ebba6acdc to your computer and use it in GitHub Desktop.
import startServer from "verdaccio";
const PORT = 4873
const STORAGE = "./storage";
const CONFIG = {
storage: STORAGE,
uplinks: {
"npmjs": {
"url": "https://registry.npmjs.org/"
}
},
packages: {
"@demo/*": {
"access": "$all",
"publish": "$anonymous",
"proxy": "npmjs"
},
"**": {
"proxy": "npmjs"
}
},
logs: [
{
"type": "stdout",
"format": "pretty",
"level": "http"
}
]
}
async function onReady(webServer: any): Promise<void> {
return new Promise(resolve => {
console.log('verdaccio port %s', PORT);
webServer.listen(PORT, () => {
resolve(webServer);
});
});
}
export async function doStart(): Promise<void> {
startServer(CONFIG, '6000', STORAGE, '1.0.0', 'verdaccio', onReady);
}
doStart()
{
"name": "@demo/foo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start:dev": "ts-node --files src",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@types/node": "^16.7.8",
"ts-node": "^10.2.1",
"typescript": "^4.4.2",
"verdaccio": "^5.1.3"
}
}
{
"compilerOptions": {
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"module": "commonjs",
"outDir": "./dist",
"skipLibCheck": true,
"strict": true,
"target": "es5",
},
"include": [
"./**/*.ts",
],
}
declare module "verdaccio" {
export default function (
config: any,
cliListen: string,
configPath: string,
pkgVersion: string,
pkgName: string,
callback: Function
): void;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment