{"record":{"id":"ee53d3d4f77c5175","repo":"parcel-bundler/parcel","slug":"the-import-path-dependency-specifier-is-using","errorCode":null,"errorMessage":"The import path: ${dependency.specifier} is using webpack specific loader import syntax, which isn't supported by Parcel.","messagePattern":"The import path: (.+?) is using webpack specific loader import syntax, which isn't supported by Parcel\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/resolvers/default/src/DefaultResolver.js","lineNumber":28,"sourceCode":"export default (new Resolver({\n  async loadConfig({config, options, logger}) {\n    let conf = await config.getConfig([], {\n      packageKey: '@parcel/resolver-default',\n    });\n\n    return new NodeResolver({\n      fs: options.inputFS,\n      projectRoot: options.projectRoot,\n      packageManager: options.packageManager,\n      shouldAutoInstall: options.shouldAutoInstall,\n      mode: options.mode,\n      logger,\n      packageExports: conf?.contents?.packageExports ?? false,\n    });\n  },\n  resolve({dependency, specifier, config: resolver}) {\n    if (WEBPACK_IMPORT_REGEX.test(dependency.specifier)) {\n      throw new Error(\n        `The import path: ${dependency.specifier} is using webpack specific loader import syntax, which isn't supported by Parcel.`,\n      );\n    }\n\n    return resolver.resolve({\n      filename: specifier,\n      specifierType: dependency.specifierType,\n      range: dependency.range,\n      parent: dependency.resolveFrom,\n      env: dependency.env,\n      sourcePath: dependency.sourcePath,\n      loc: dependency.loc,\n      packageConditions: dependency.packageConditions,\n    });\n  },\n}): Resolver);\n","sourceCodeStart":10,"sourceCodeEnd":45,"githubUrl":"https://github.com/parcel-bundler/parcel/blob/59484858a1a0bcbb71f74088956bb437a2db6505/packages/resolvers/default/src/DefaultResolver.js#L10-L45","documentation":"Thrown by @parcel/resolver-default when an import specifier matches WEBPACK_IMPORT_REGEX (/^\\w+-loader(?:\\?\\S*)?!/) — the webpack inline-loader chain syntax like `imports-loader?$=jquery!./example.js`. Parcel does not implement webpack's loader pipeline, so it refuses to resolve rather than silently producing wrong output. The check runs before the NodeResolver is consulted.","triggerScenarios":"A dependency specifier in user code or in a dependency's source matches the loader-bang pattern. Triggered during dependency resolution for any file Parcel compiles, regardless of target.","commonSituations":"Porting a webpack project to Parcel that still has `style-loader!css-loader!foo.css` imports; pulling in a third-party package whose source uses webpack loader syntax; CSS-module style imports with `!` separators.","solutions":["Find the offending import (the message echoes the full specifier) and rewrite it without loader syntax.","For CSS, rely on Parcel's built-in CSS pipeline and @parcel/transformer-postcss instead of style-loader/css-loader.","For build-time transforms, write a Parcel transformer plugin or use a babel/swc plugin configured in .parcelrc.","If the offending import is inside a vendored dependency, patch or replace the dependency."],"exampleFix":"// before\nimport 'style-loader!css-loader!./styles.css';\nimport 'imports-loader?$=jquery!./legacy.js';\n// after\nimport './styles.css';\n// (configure jquery as an alias or inject via a Parcel transformer)","handlingStrategy":"validation","validationCode":"// Lint imports for webpack loader syntax before building\nconst WEBPACK_IMPORT_REGEX = /^\\w+-loader(?:\\?\\S*)?!/;\nfunction scanForWebpackLoaders(specifiers) {\n  return specifiers.filter(s => WEBPACK_IMPORT_REGEX.test(s));\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["During webpack-to-Parcel migration, grep the codebase for `-loader!` and rewrite each import.","Add an ESLint rule banning import paths that match `/^-?\\w+-loader/`."],"tags":["resolver","webpack","migration","import-syntax"],"backgroundTag":null,"analyzedSha":"59484858a1a0bcbb71f74088956bb437a2db6505","analyzedAt":"2026-08-13T04:06:35.925Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}