injector.ts 507 B

1234567891011121314
  1. const { relative } = require('path')
  2. const blockName = 'vue-filename-injector'
  3. module.exports = function (content) {
  4. const { rootContext, resourcePath } = this
  5. const context = rootContext || process.cwd()
  6. const filePath = relative(context, resourcePath).replace(/\\/g, '/')
  7. content += `<${blockName}>
  8. export default function (Component) {
  9. Component.__source = ${JSON.stringify(filePath)}
  10. }
  11. </${blockName}>`
  12. return content
  13. }