UNPKG

@stylable/core

Version:

CSS for Components

45 lines 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.visitMetaCSSDependencies = void 0; function* visitMetaCSSDependencies({ meta, resolver, }) { const visited = new Set([meta.source]); const q = [[...meta.getImportStatements()]]; let depth = -1; while (++depth < q.length) { let index = -1; const items = q[depth]; if (items.length && !q[depth + 1]) { q[depth + 1] = []; } while (++index < items.length) { const imported = items[index]; const res = resolver.resolveImported(imported, ''); if (res?._kind === 'css' && !visited.has(res.meta.source)) { visited.add(res.meta.source); const dependency = { kind: 'css', depth: depth + 1, meta: res.meta, resolvedPath: res.meta.source, imported, }; yield dependency; q[depth + 1].push(...res.meta.getImportStatements()); } else if (res?._kind === 'js') { const resolvedPath = resolver.resolvePath(imported.context, imported.request); if (!visited.has(resolvedPath)) { visited.add(resolvedPath); const dependency = { kind: 'js', imported, resolvedPath, }; yield dependency; } } } } } exports.visitMetaCSSDependencies = visitMetaCSSDependencies; //# sourceMappingURL=visit-meta-css-dependencies.js.map