src/vs/platform/extensionManagement/node/extensionsScanner.ts/ExtensionsScanner/scanExtensionsInDir
class ExtensionsScanner:	private async scanExtensionsInDir(dir: string, type: ExtensionType): Promise<ILocalExtension[]> {
		const limiter = new Limiter<any>(10);
		const stat = await this.fileService.resolve(URI.file(dir));
		if (stat.children) {
			const extensions = await Promise.all<ILocalExtension>(stat.children.filter(c => c.isDirectory)
				.map(c => limiter.queue(async () => {
					if (type === ExtensionType.User && basename(c.resource).indexOf('.') === 0) { // Do not consider user extension folder starting with `.`
						return null;
					}
					return this.scanExtension(c.resource, type);
				})));
			return extensions.filter(e => e && e.identifier);
		}
		return [];
	}