Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
it('should keep comments', () => {
vol.fromJSON({ '/test.json': '{\n// pizza\n"bar": 42\n/* pasta */ }' });
json(filename)
.set('bar', 43)
.save();
expect(vol.toJSON()[filename]).toMatchSnapshot();
});
it('returns class file with path', () => __awaiter(this, void 0, void 0, function* () {
memfs_1.vol.mkdirpSync(localPluginDir); // local
memfs_1.vol.writeFileSync(localPluginPackageFile, JSON.stringify(pkg)); // local
const pkg2 = Object.assign({}, pkg); // copy properties
pkg2.name += '-global';
memfs_1.vol.mkdirpSync(globalPluginDir); // global
memfs_1.vol.writeFileSync(globalPluginPackageFile, JSON.stringify(pkg2)); // global
const finder = new PackageBasedPluginFinder_1.PackageBasedPluginFinder(currentDir, memfs_1.fs);
const pluginData = yield finder.find();
expect(pluginData).toHaveLength(2);
const first = pluginData[0];
expect(first.file).toContain(localPluginDir);
}));
it('ignores a package that is not a plugin', () => __awaiter(this, void 0, void 0, function* () {
it( 'prefers local than global', async () => {
vol.mkdirpSync( localPluginDir ); // local
vol.writeFileSync( localPluginPackageFile, JSON.stringify( pkg ) ); // local
const pkg2 = { ... pkg }; // copy properties
vol.mkdirpSync( globalPluginDir ); // global
vol.writeFileSync( globalPluginPackageFile, JSON.stringify( pkg2 ) ); // global
const finder: PackageBasedPluginFinder = new PackageBasedPluginFinder( currentDir, fs );
const pluginData: PluginData[] = await finder.find();
expect( pluginData ).toHaveLength( 1 );
const first = pluginData[ 0 ];
expect( first.name ).toEqual( pkg.name );
} );
it( 'ignores a package that is not a plugin', async () => {
vol.mkdirpSync( localPluginDir ); // local
vol.writeFileSync( localPluginPackageFile, JSON.stringify( pkg ) ); // local
const pkg2 = { ... pkg }; // copy properties
pkg2.name += '-non-plugin';
pkg2[ PLUGIN_PROPERTY ] = undefined; // removes the expected property
vol.mkdirpSync( join( localModulesDir, pkg2.name ) );
vol.writeFileSync( join( localModulesDir, pkg2.name, PKG_FILENAME ), JSON.stringify( pkg2 ) );
const finder: PackageBasedPluginFinder = new PackageBasedPluginFinder( currentDir, fs );
const pluginData: PluginData[] = await finder.find();
expect( pluginData ).toHaveLength( 1 );
} );
it( 'returns class file with path', async () => {
vol.mkdirpSync( localPluginDir ); // local
vol.writeFileSync( localPluginPackageFile, JSON.stringify( pkg ) ); // local
const pkg2 = { ... pkg }; // copy properties
pkg2.name += '-global';
vol.mkdirpSync( globalPluginDir ); // global
vol.writeFileSync( globalPluginPackageFile, JSON.stringify( pkg2 ) ); // global
const finder: PackageBasedPluginFinder = new PackageBasedPluginFinder( currentDir, fs );
const pluginData: PluginData[] = await finder.find();
expect( pluginData ).toHaveLength( 2 );
const first = pluginData[ 0 ];
expect( first.file ).toContain( localPluginDir );
} );
it( 'ignores a package that is not a plugin', async () => {
vol.mkdirpSync( localPluginDir ); // local
vol.writeFileSync( localPluginPackageFile, JSON.stringify( pkg ) ); // local
const pkg2 = { ... pkg }; // copy properties
pkg2.name += '-non-plugin';
pkg2[ PLUGIN_PROPERTY ] = undefined; // removes the expected property
vol.mkdirpSync( join( localModulesDir, pkg2.name ) );
vol.writeFileSync( join( localModulesDir, pkg2.name, PKG_FILENAME ), JSON.stringify( pkg2 ) );
const finder: PackageBasedPluginFinder = new PackageBasedPluginFinder( currentDir, fs );
const pluginData: PluginData[] = await finder.find();
expect( pluginData ).toHaveLength( 1 );
} );
it( 'prefers local than global', async () => {
vol.mkdirpSync( localPluginDir ); // local
vol.writeFileSync( localPluginPackageFile, JSON.stringify( pkg ) ); // local
const pkg2 = { ... pkg }; // copy properties
vol.mkdirpSync( globalPluginDir ); // global
vol.writeFileSync( globalPluginPackageFile, JSON.stringify( pkg2 ) ); // global
const finder: PackageBasedPluginFinder = new PackageBasedPluginFinder( currentDir, fs );
const pluginData: PluginData[] = await finder.find();
expect( pluginData ).toHaveLength( 1 );
const first = pluginData[ 0 ];
expect( first.name ).toEqual( pkg.name );
} );
it( 'ignores a package that is not a plugin', async () => {
vol.mkdirpSync( localPluginDir ); // local
vol.writeFileSync( localPluginPackageFile, JSON.stringify( pkg ) ); // local
const pkg2 = { ... pkg }; // copy properties
pkg2.name += '-non-plugin';
pkg2[ PLUGIN_PROPERTY ] = undefined; // removes the expected property
vol.mkdirpSync( join( localModulesDir, pkg2.name ) );
vol.writeFileSync( join( localModulesDir, pkg2.name, PKG_FILENAME ), JSON.stringify( pkg2 ) );
const finder: PackageBasedPluginFinder = new PackageBasedPluginFinder( currentDir, fs );
const pluginData: PluginData[] = await finder.find();
expect( pluginData ).toHaveLength( 1 );
} );
afterEach(function() {
vol.reset();
// expect(nock.isDone()).toBe(true);
});
afterEach( () => {
vol.reset(); // erase in-memory structure
} );