vite-plugin-robots
Version:
Vite plugin for generating robots.txt for production and development builds
2 lines (1 loc) • 1.09 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("fs"),p=require("fs/promises"),l=require("path"),r=require("ansi-colors");function d(e,i,t){e.logger.info(""),e.logger.info(`✨ ${r.cyan("[vite-plugin-robots]")}:`);const o=l.parse(i.replace(e.root,"").replace(/^\//,"")),s=l.parse(t.replace(e.root,"").replace(/^\//,""));e.logger.info(r.green("✓ Copied: ")+(o.dir?r.dim(o.dir)+"/":"")+r.blueBright(o.ext===".local"?o.name:o.base)+(o.ext===".local"?r.dim(".local"):"")+" -> "+(s.dir?r.dim(s.dir)+"/":"")+r.blueBright(s.base)),e.logger.info("")}const g={robotsDir:"",outputRobotsFileName:"robots.txt",enableDebug:!0};function m(e={}){const i={...g,...e};let t;return{name:"vite-plugin-robots",enforce:"post",apply:"build",configResolved(o){t=o},async closeBundle(){const o=`.robots.${t.mode}.txt.local`,s=l.resolve(t.root,i.robotsDir),c=b.existsSync(l.resolve(s,o))?o:`.robots.${t.mode}.txt`,n=l.resolve(s,c),u=t.build.outDir,a=l.resolve(u,i.outputRobotsFileName);await p.copyFile(n,a).then(()=>{i.enableDebug&&d(t,n,a)})}}}exports.robots=m;