* @param {string} filename filename * @param {string} currentDirectory current directory * @returns {Promise } resolved filename
(filename, currentDirectory)
| 173 | * @returns {Promise<string>} resolved filename |
| 174 | */ |
| 175 | async resolveFilename(filename, currentDirectory) { |
| 176 | // Less is giving us trailing slashes, but the context should have no trailing slash |
| 177 | const context = currentDirectory.replace(trailingSlash, ""); |
| 178 | |
| 179 | let request = filename; |
| 180 | |
| 181 | // A `~` makes the url an module |
| 182 | if (MODULE_REQUEST_REGEX.test(filename)) { |
| 183 | request = request.replace(MODULE_REQUEST_REGEX, ""); |
| 184 | } |
| 185 | |
| 186 | if (IS_MODULE_IMPORT.test(filename)) { |
| 187 | request = request[request.length - 1] === "/" ? request : `${request}/`; |
| 188 | } |
| 189 | |
| 190 | return this.resolveRequests(context, [...new Set([request, filename])]); |
| 191 | } |
| 192 | |
| 193 | /** |
| 194 | * @param {string} context context |
no test coverage detected