Compare commits

...

2 Commits

Author SHA1 Message Date
aa71105b2d 1.0.30 2021-05-05 11:56:12 +00:00
e0ccb6c076 fix(core): update 2021-05-05 11:56:12 +00:00
5 changed files with 18 additions and 7 deletions

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "@pushrocks/smartnpm", "name": "@pushrocks/smartnpm",
"version": "1.0.29", "version": "1.0.30",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@pushrocks/smartnpm", "name": "@pushrocks/smartnpm",
"version": "1.0.29", "version": "1.0.30",
"private": false, "private": false,
"description": "interface with npm to retrieve package information", "description": "interface with npm to retrieve package information",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",

View File

@ -37,11 +37,21 @@ tap.test('should get package from verdaccio', async () => {
}); });
tap.test('should get a specific file from a package', async () => { tap.test('should get a specific file from a package', async () => {
const bundleFile = await verdaccioRegistry.getFileFromPackage( const wantedFile = await verdaccioRegistry.getFileFromPackage(
'@pushrocks/websetup', '@pushrocks/websetup',
'ts/index.ts' 'ts/index.ts'
); );
console.log(bundleFile.contentBuffer.toString()); console.log(wantedFile.contentBuffer.toString());
});
tap.test('should get a specific file from a package', async () => {
const wantedFiles = await verdaccioRegistry.getFilesFromPackage(
'@pushrocks/websetup',
'ts/'
);
for(const file of wantedFiles) {
console.log(file.path);
}
}); });
tap.start(); tap.start();

View File

@ -140,7 +140,7 @@ export class NpmPackage {
// lets resolve with the wanted file // lets resolve with the wanted file
done.resolve([fileArg]); done.resolve([fileArg]);
subscription.unsubscribe(); subscription.unsubscribe();
} else if(fileArg.path.startsWith(wantedFilePath)) { } else if(!returnOnFirstArg && fileArg.path.startsWith(wantedFilePath)) {
allMatchingFiles.push(fileArg); allMatchingFiles.push(fileArg);
} }
}, },

View File

@ -78,11 +78,12 @@ export class NpmRegistry {
} }
} }
public async getFilesFromPackage(packageNameArg: string, filePath: string, optionsArg: { public async getFilesFromPackage(packageNameArg: string, filePath: string, optionsArg?: {
distTag?: string; distTag?: string;
version?: string; version?: string;
}): Promise<plugins.smartfile.Smartfile[]> { }): Promise<plugins.smartfile.Smartfile[]> {
return []; const npmPackage = await this.getPackageInfo(packageNameArg);
return npmPackage.getFilesFromPackage(filePath, optionsArg);
} }
public async getPackageAsSmartfileVirtualDir(packageNameArg: string): Promise<plugins.smartfile.VirtualDirectory> { public async getPackageAsSmartfileVirtualDir(packageNameArg: string): Promise<plugins.smartfile.VirtualDirectory> {