summaryrefslogtreecommitdiff
path: root/node_modules/postcss-import/lib/resolve-id.js
diff options
context:
space:
mode:
authorPhilipp Tanlak <philipp.tanlak@gmail.com>2025-11-24 20:54:57 +0100
committerPhilipp Tanlak <philipp.tanlak@gmail.com>2025-11-24 20:57:48 +0100
commitb1e2c8fd5cb5dfa46bc440a12eafaf56cd844b1c (patch)
tree49d360fd6cbc6a2754efe93524ac47ff0fbe0f7d /node_modules/postcss-import/lib/resolve-id.js
Docs
Diffstat (limited to 'node_modules/postcss-import/lib/resolve-id.js')
-rw-r--r--node_modules/postcss-import/lib/resolve-id.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/node_modules/postcss-import/lib/resolve-id.js b/node_modules/postcss-import/lib/resolve-id.js
new file mode 100644
index 0000000..ffef034
--- /dev/null
+++ b/node_modules/postcss-import/lib/resolve-id.js
@@ -0,0 +1,42 @@
+"use strict"
+
+// external tooling
+const resolve = require("resolve")
+
+const moduleDirectories = ["web_modules", "node_modules"]
+
+function resolveModule(id, opts) {
+ return new Promise((res, rej) => {
+ resolve(id, opts, (err, path) => (err ? rej(err) : res(path)))
+ })
+}
+
+module.exports = function (id, base, options) {
+ const paths = options.path
+
+ const resolveOpts = {
+ basedir: base,
+ moduleDirectory: moduleDirectories.concat(options.addModulesDirectories),
+ paths,
+ extensions: [".css"],
+ packageFilter: function processPackage(pkg) {
+ if (pkg.style) pkg.main = pkg.style
+ else if (!pkg.main || !/\.css$/.test(pkg.main)) pkg.main = "index.css"
+ return pkg
+ },
+ preserveSymlinks: false,
+ }
+
+ return resolveModule(`./${id}`, resolveOpts)
+ .catch(() => resolveModule(id, resolveOpts))
+ .catch(() => {
+ if (paths.indexOf(base) === -1) paths.unshift(base)
+
+ throw new Error(
+ `Failed to find '${id}'
+ in [
+ ${paths.join(",\n ")}
+ ]`
+ )
+ })
+}