@oiyo/core 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +7 -7
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +7 -7
- package/dist/{types-B6aQQOoW.d.mts → types-CO6ioKnp.d.cts} +1 -1
- package/dist/{types-Bnj1jLZh.d.cts → types-DLyArdXP.d.mts} +1 -1
- package/dist/types.cjs +1 -1
- package/dist/types.d.cts +2 -2
- package/dist/types.d.mts +2 -2
- package/dist/types.mjs +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @oiyo/core v0.0.
|
|
2
|
+
* @oiyo/core v0.0.4
|
|
3
3
|
* Copyright (c) 2026 skiyee. All rights reserved.
|
|
4
4
|
* Commercial software. See LICENSE for terms.
|
|
5
5
|
* Official site: https://oiyo.pages.dev
|
|
6
6
|
*/
|
|
7
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`@oiyo/config`),l=require(`pathe`),u=require(`node:crypto`),d=require(`node:fs`),f=require(`@babel/parser`),p=require(`@babel/traverse`);p=s(p);let m=require(`tinyglobby`),h=require(`node:process`);h=s(h);let g=require(`node:readline`);g=s(g);let _=require(`ansis`),v=require(`node:fs/promises`),y=require(`@vue/compiler-sfc`),ee=require(`c12`),
|
|
8
|
-
`.repeat(e):``;h.default.stdout.write(t),g.default.cursorTo(h.default.stdout,0,0),g.default.clearScreenDown(h.default.stdout)}function
|
|
7
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`@oiyo/config`),l=require(`pathe`),u=require(`node:crypto`),d=require(`node:fs`),f=require(`@babel/parser`),p=require(`@babel/traverse`);p=s(p);let m=require(`tinyglobby`),h=require(`node:process`);h=s(h);let g=require(`node:readline`);g=s(g);let _=require(`ansis`),v=require(`node:fs/promises`),y=require(`@vue/compiler-sfc`),ee=require(`c12`),b=require(`defu`),x=require(`magic-string`);x=s(x);let S=require(`fs`),C=require(`fs/promises`),te=require(`events`),w=require(`path`);w=s(w);let ne=require(`node:stream`),T=require(`node:path`),re=require(`os`);const E=typeof p.default==`function`?p.default:p.default.default;async function ie(e){let{dir:t,extensions:n=[`.*`],exclude:r}=e;if(!(0,d.existsSync)(t))return[];let i=n.map(e=>`**/*${e}`);try{return(await(0,m.glob)(i,{cwd:t,absolute:!0,ignore:r})).map(e=>(0,l.normalize)((0,l.resolve)(e)))}catch(e){return console.error(`[oiyo] Error scanning file:`,e),[]}}function D(e,t=8){return(0,u.createHash)(`sha256`).update(e).digest(`hex`).slice(0,t)}function ae(e,t){let n=`${e}.tmp`;return(0,d.writeFileSync)(n,t,`utf-8`),(0,d.existsSync)(e)&&(0,d.unlinkSync)(e),(0,d.renameSync)(n,e),!0}function oe(e){if(!e)return``;let t=e.replace(/\p{Lu}/gu,e=>`-${e.toLowerCase()}`);return t.startsWith(`-`)?t.slice(1):t}function se(e,t){let n=(0,f.parse)(e,{sourceType:`module`,plugins:[`typescript`]}),r={start:0,end:0};return E(n,{CallExpression(e){let{callee:n,arguments:i}=e.node;n.type===`Identifier`&&n.name===t&&i.length>0&&e.node.start!=null&&e.node.end!=null&&(r.start=e.node.start,r.end=e.node.end,e.stop())}}),r}function ce(e){return e.replace(/\s+/g,``)}function le(e){return e.includes(`<OiyoLayout`)||e.includes(`<oiyo-layout`)}function ue(e){let t=e;return t=t.replace(/<OiyoLayout[^>]*?\/>/g,``),t=t.replace(/<OiyoLayout[^>]*>/g,``),t=t.replace(/<\/OiyoLayout>/g,``),t=t.replace(/<oiyo-layout[^>]*?\/>/g,``),t=t.replace(/<oiyo-layout[^>]*>/g,``),t=t.replace(/<\/oiyo-layout>/g,``),t}function de(e,t){let n=e;return n=n.replace(/<OiyoLayout[^>]*?\/>/g,``),n=n.replace(/<OiyoLayout[^>]*>/g,`<${t}>`),n=n.replace(/<\/OiyoLayout>/g,`</${t}>`),n=n.replace(/<oiyo-layout[^>]*?\/>/g,``),n=n.replace(/<oiyo-layout[^>]*>/g,`<${t}>`),n=n.replace(/<\/oiyo-layout>/g,`</${t}>`),n}function fe(e,t){let{dir:n,name:r}=(0,l.parse)((0,l.relative)(t,e));return(n&&n!==`.`?[...n.split(l.sep),r]:[r]).map(e=>oe(e)).join(`-`)}function pe(e){return`OiyoLayout${e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}`}var me=class{constructor(e,t){this.config=e,this.layoutFiles=[],this.logger=t.logger.withScope(`LAYOUT`)}get srcDir(){return(0,l.resolve)(this.config.rootDir,this.config.srcDir)}get layoutDir(){return(0,l.resolve)(this.srcDir,this.config.dir?.layouts||`layouts`)}isLayoutPath(e){let t=(0,l.normalize)(e);return!t.endsWith(`.vue`)&&!t.endsWith(`.nvue`)||[...c.DEFAULT_EXCLUDE,...this.config.exclude||[]].some(e=>(0,l.matchesGlob)(t,e))?!1:t.startsWith(`${this.layoutDir}/`)}setLayout(e){if(this.layoutFiles.findIndex(({filePath:t})=>t===e)!==-1)return!1;let t=fe(e,this.layoutDir),n=pe(t);return this.layoutFiles.push({useName:t,componentName:n,filePath:e}),!0}async registerLayouts(){let e=await ie({dir:this.layoutDir,extensions:[`.vue`,`.nvue`],exclude:this.config.exclude});return this.layoutFiles=[],e.map(e=>this.setLayout(e)),this.layoutFiles}applyLayout(e,t){if(!le(t))return{template:t,script:``,imports:[]};if(e===!1)return{template:ue(t),script:``,imports:[]};e===void 0&&(e=`default`);let n=this.layoutFiles.find(t=>t.useName===e);return n?{template:de(t,n.componentName),script:``,imports:[`import ${n.componentName} from '${n.filePath}'`]}:(this.logger.error(`未找到布局 "${e}",请检查布局名称或文件位置是否正确`),{template:t,script:``,imports:[]})}};const O={silent:0,error:1,warn:2,info:3,debug:4,verbose:5};let he,ge,k=0,_e;function ve(){let e=h.default.stdout.rows-2,t=e>0?`
|
|
8
|
+
`.repeat(e):``;h.default.stdout.write(t),g.default.cursorTo(h.default.stdout,0,0),g.default.clearScreenDown(h.default.stdout)}function ye(){return _e??=new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`numeric`,second:`numeric`}),_e}function A(e=`info`,t={}){if(t.customLogger)return t.customLogger;let n=new WeakSet,r=new Set,{prefix:i=`[OIYO]`,scope:a,allowClearScreen:o=!0,console:s=globalThis.console}=t,c=O[e],l=o&&h.default.stdout.isTTY&&!h.default.env.CI,u=l?ve:()=>{};function d(e,t,n={}){let r=f(e,n.scope??a);return n.timestamp?`${(0,_.dim)(ye().format(new Date))} ${(0,_.blue)(i)} ${r} ${t}`:`${(0,_.blue)((0,_.bold)(i))} ${r} ${t}`}function f(e,t){if(!t)return` `;let n=`[${t.toUpperCase()}]`;return{info:(0,_.cyan)(n),warn:(0,_.yellow)(n),error:(0,_.red)(n),debug:(0,_.dim)((0,_.cyan)(n))}[e]}function p(e,t,r={}){if(c<O[e])return;let i=e;if(r.error&&n.add(r.error),l){if(e===he&&t===ge){k++,u(),s[e](d(e,t,r),(0,_.yellow)(`(x${k+1})`));return}k=0,he=e,ge=t,r.clear&&u()}s[i](d(e,t,r))}let m={hasWarned:!1,withScope(n){return A(e,{...t,scope:n})},debug(e,t){p(`debug`,e,t)},info(e,t){p(`info`,e,t)},warn(e,t){m.hasWarned=!0,p(`warn`,e,t)},warnOnce(e,t){r.has(e)||(r.add(e),m.hasWarned=!0,p(`warn`,e,t))},error(e,t){m.hasWarned=!0,p(`error`,e,t)},clearScreen(e){c>=O[e]&&u()},hasErrorLogged(e){return n.has(e)}};return m}function be(e,t){if(!e.includes(`definePageMeta`))return``;if(!t){let{descriptor:t}=(0,y.parse)(e);if(!t.scriptSetup)return``;e=t.scriptSetup.content}let n=xe(e);return e.substring(n.start,n.end+1).trim()}function xe(e){return se(e,`definePageMeta`)}function Se(e){return e.replace(/definePageMeta\s*\(\s*\{[\s\S]*?\}\s*\)/g,``).trim()}function j(e){let t=(0,f.parse)(e,{sourceType:`module`,plugins:[`typescript`]}),n={};return E(t,{CallExpression(e){let{callee:t,arguments:r}=e.node;if(t.type===`Identifier`&&t.name===`definePageMeta`&&r.length>0){let t=r[0];t.type===`ObjectExpression`&&(n=Ce(t),e.stop())}}}),n}function Ce(e){let t={};for(let n of e.properties)if(n.type===`ObjectProperty`){let e=we(n.key),r=M(n.value);e&&(t[e]=r)}return t}function we(e){return e.type===`Identifier`?e.name:e.type===`StringLiteral`?e.value:null}function M(e){switch(e.type){case`StringLiteral`:return e.value;case`NumericLiteral`:return e.value;case`BooleanLiteral`:return e.value;case`NullLiteral`:return null;case`ArrayExpression`:return e.elements.map(e=>M(e)).filter(e=>e!==void 0);case`ObjectExpression`:return Ce(e);default:return}}function Te(e){let t=e.map(e=>({path:e.pagePath,belong:e.pageBelong,...e.pageMeta})),n=[],r=new Map;t.forEach(e=>{if(e.belong===`pages`)n.push(e);else{let t=r.get(e.belong)||[];t.push(e),r.set(e.belong,t)}}),n.sort((e,t)=>{let r=n.find(t=>t.path===e.path)?.type===`home`,i=n.find(e=>e.path===t.path)?.type===`home`;return r&&!i?-1:!r&&i?1:e.path.localeCompare(t.path)});let i={pages:n.map(e=>{let{belong:t,...n}=e;return n})};return r.size>0&&(i.subPackages=Array.from(r.entries()).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({root:e,pages:t.sort((e,t)=>e.path.localeCompare(t.path)).map(e=>{let{belong:t,...n}=e;return n})}))),i}function Ee(e){if(!e||!e.includes(`import`))return[];let t=(0,f.parse)(e,{sourceType:`module`,plugins:[`typescript`]}),n=[];return E(t,{ImportDeclaration(t){let r=e.substring(t.node.start,t.node.end);n.push(r)}}),n}function De(e){if(!e||!e.includes(`import`))return e;let t=(0,f.parse)(e,{sourceType:`module`,plugins:[`typescript`]}),n=[];E(t,{ImportDeclaration(e){n.push({start:e.node.start,end:e.node.end})}}),n.sort((e,t)=>t.start-e.start);let r=e;for(let e of n)r=r.substring(0,e.start)+r.substring(e.end);return r.trim()}function Oe(e,t){let n=ke(t),r=ke(e);for(let[e,t]of r){let r=n.get(e);r?Ae(r,t):n.set(e,t)}return je(n)}function ke(e){let t=new Map;for(let n of e)E((0,f.parse)(n,{sourceType:`module`,plugins:[`typescript`]}),{ImportDeclaration(e){let{node:r}=e,i=r.source.value,a=t.get(i);a||(a={source:i,named:new Set,original:n},t.set(i,a));for(let e of r.specifiers)if(e.type===`ImportSpecifier`){let t=e.imported.type===`Identifier`?e.imported.name:e.imported.value;a.named.add(t)}else e.type===`ImportDefaultSpecifier`?a.defaultImport=e.local.name:e.type===`ImportNamespaceSpecifier`&&(a.namespaceImport=e.local.name)}});return t}function Ae(e,t){for(let n of t.named)e.named.add(n);!e.defaultImport&&t.defaultImport&&(e.defaultImport=t.defaultImport),!e.namespaceImport&&t.namespaceImport&&(e.namespaceImport=t.namespaceImport)}function je(e){let t=[];for(let[n,r]of e){if(n.includes(`_fallback_`)){t.push(r.original);continue}let e=[];if(r.defaultImport&&e.push(r.defaultImport),r.namespaceImport&&e.push(`* as ${r.namespaceImport}`),r.named.size>0){let t=Array.from(r.named).sort();e.push(`{ ${t.join(`, `)} }`)}e.length>0?t.push(`import ${e.join(`, `)} from '${n}'`):t.push(`import '${n}'`)}return t}var Me=class{constructor(e,t){this.pageFiles=[],this.pagesConfig={},this.config=e,this.logger=t.logger.withScope(`PAGE`),this.oiyoRoot=t.oiyoRoot,this.oiyoLayout=t.oiyoLayout}get srcDir(){return(0,l.resolve)(this.config.rootDir,this.config.srcDir)}get mainPageDir(){return(0,l.resolve)(this.srcDir,this.config.dir.mainPackage)}get subPageDirs(){return this.config.dir.subPackages.map(e=>(0,l.resolve)(this.srcDir,e))}get pagesJsonPath(){return(0,l.resolve)(this.srcDir,`pages.json`)}async loadPagesConfig(){try{let{config:e,configFile:t}=await(0,ee.loadConfig)({name:`pages`,cwd:this.srcDir});this.pagesConfig=e||{}}catch{this.pagesConfig={},this.logger.warn(`加载 pages 配置失败,已采用空配置`)}return this.pagesConfig}async watchPagesConfig(e){if(this.pagesConfigWatcher)return;let t=await(0,ee.watchConfig)({name:`pages`,cwd:this.srcDir,acceptHMR({getDiff:e}){return e().length===0},onWatch:e=>{},onUpdate:({newConfig:t})=>{this.pagesConfig=t.config||{},this.writePagesJson(),e&&Promise.resolve(e()).catch(e=>{this.logger.error(`pages 配置更新回调失败,页面配置已更新但后续回调未完成`,{error:e})})}});this.pagesConfig=t.config||this.pagesConfig,this.pagesConfigWatcher=t}async unwatchPagesConfig(){this.pagesConfigWatcher&&=(await this.pagesConfigWatcher.unwatch(),void 0)}isPagePath(e){let t=(0,l.normalize)(e);return!t.endsWith(`.vue`)&&!t.endsWith(`.nvue`)||[...c.DEFAULT_EXCLUDE,...this.config.exclude||[]].some(e=>(0,l.matchesGlob)(t,e))?!1:[this.mainPageDir,...this.subPageDirs].some(e=>t.startsWith(`${e}/`))}toPageFile(e,t){let n=!0,r=this.mainPageDir,i=this.subPageDirs.find(t=>e.startsWith(`${t}/`));i&&(n=!1);let a=(0,l.parse)((0,l.relative)(n?this.srcDir:i,e)),o=a.dir===``?a.name:(0,l.join)(a.dir,a.name),s=n?r:i;return{filePath:e,pagePath:o,pageBelong:(0,l.relative)(this.srcDir,s),pageMeta:t}}setPageFile(e){let t=this.pageFiles.findIndex(({pagePath:t,pageBelong:n})=>t===e.pagePath&&n===e.pageBelong);if(t===-1)return this.pageFiles.push(e),!0;let n=this.pageFiles[t],r=JSON.stringify(n.pageMeta)!==JSON.stringify(e.pageMeta);return r&&(this.pageFiles[t]=e),r}async loadPagesJson(){try{let e=await(0,v.readFile)(this.pagesJsonPath,`utf-8`),t=JSON.parse(e);for(let e of t.pages||[]){let{path:t,...n}=e,r=(0,l.resolve)(this.srcDir,e.path),i=this.toPageFile(r,n);this.setPageFile(i)}for(let e of t.subPackages||[]){let t=e.root;for(let n of e.pages||[]){let{path:e,...r}=n,i=(0,l.resolve)(this.srcDir,t,n.path);this.setPageFile(this.toPageFile(i,r))}}}catch(e){this.logger.error(`加载 pages.json 失败,已跳过现有文件内容,请检查 pages.json 是否存在且格式正确:`,{error:e})}}writePagesJson(e){try{let t=(0,b.defu)(Te(this.pageFiles),e||this.pagesConfig),n=`${JSON.stringify(t,null,2)}\n`;ae(this.pagesJsonPath,n)}catch(e){this.logger.error(`写入 pages.json 失败,请检查目标文件权限和内容格式:`,{error:e})}}async registerPages(){let e=[this.mainPageDir,...this.subPageDirs],t=(await Promise.all(e.map(e=>ie({dir:e,extensions:[`.vue`,`.nvue`],exclude:this.config.exclude})))).flat(2);for(let e of t){let t=await(0,v.readFile)(e,`utf-8`),n={},r=be(t);r&&(n=j(r)),this.setPageFile(this.toPageFile(e,n))}return this.pageFiles}async tryUpdatePage(e,t){let n=j(e);this.setPageFile(this.toPageFile(t,n))&&(this.writePagesJson(),await new Promise(e=>setTimeout(e,100)))}async transformPage(e,t){if(!this.oiyoRoot||!this.oiyoLayout)throw Error(`[oiyo] Dependencies are missing; please contact skiyee(319619193@qq.com) to fix them.`);let{descriptor:n}=(0,y.parse)(e),r=new x.default(e);if(!n.template?.content)return{code:r.toString(),sourceMap:r.generateMap()};n.scriptSetup&&await this.tryUpdatePage(n.scriptSetup.content,t);let i=this.oiyoRoot.applyRoot(n),a=[...i.imports],o=i.template,s=i.script,c={};n.scriptSetup&&(c=this.pageFiles.find(e=>t.startsWith(e.filePath))?.pageMeta||{},s=Se(s));let l=this.oiyoLayout.applyLayout(c.layout,o);if(o=l.template,a.push(...l.imports),r.overwrite(n.template.loc.start.offset,n.template.loc.end.offset,o),n.scriptSetup){let e=Ee(n.scriptSetup.content);a=Oe(a,e),s=De(s),r.overwrite(n.scriptSetup.loc.start.offset,n.scriptSetup.loc.end.offset,`${a.join(`
|
|
9
9
|
`)}\n${s}`)}else if(s||a.length>0){let e=[`<script setup>`,...a,s,`<\/script>`].filter(Boolean).join(`
|
|
10
|
-
`);r.appendRight(n.template.loc.end.offset+11,`\n\n${e}`)}return{code:r.toString(),sourceMap:r.generateMap()}}};const P={FILE_TYPE:`files`,DIR_TYPE:`directories`,FILE_DIR_TYPE:`files_directories`,EVERYTHING_TYPE:`all`},F={root:`.`,fileFilter:e=>!0,directoryFilter:e=>!0,type:P.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(F);const I=`READDIRP_RECURSIVE_ERROR`,Me=new Set([`ENOENT`,`EPERM`,`EACCES`,`ELOOP`,I]),Ne=[P.DIR_TYPE,P.EVERYTHING_TYPE,P.FILE_DIR_TYPE,P.FILE_TYPE],Pe=new Set([P.DIR_TYPE,P.EVERYTHING_TYPE,P.FILE_DIR_TYPE]),Fe=new Set([P.EVERYTHING_TYPE,P.FILE_DIR_TYPE,P.FILE_TYPE]),Ie=e=>Me.has(e.code),Le=process.platform===`win32`,Re=e=>!0,ze=e=>{if(e===void 0)return Re;if(typeof e==`function`)return e;if(typeof e==`string`){let t=e.trim();return e=>e.basename===t}if(Array.isArray(e)){let t=e.map(e=>e.trim());return e=>t.some(t=>e.basename===t)}return Re};var Be=class extends re.Readable{constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let t={...F,...e},{root:n,type:r}=t;this._fileFilter=ze(t.fileFilter),this._directoryFilter=ze(t.directoryFilter);let i=t.lstat?v.lstat:v.stat;Le?this._stat=e=>i(e,{bigint:!0}):this._stat=i,this._maxDepth=t.depth??F.depth,this._wantsDir=r?Pe.has(r):!1,this._wantsFile=r?Fe.has(r):!1,this._wantsEverything=r===P.EVERYTHING_TYPE,this._root=(0,w.resolve)(n),this._isDirent=!t.alwaysStat,this._statsProp=this._isDirent?`dirent`:`stats`,this._rdOptions={encoding:`utf8`,withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let t=this.parent,n=t&&t.files;if(n&&n.length>0){let{path:r,depth:i}=t,a=n.splice(0,e).map(e=>this._formatEntry(e,r)),o=await Promise.all(a);for(let t of o){if(!t)continue;if(this.destroyed)return;let n=await this._getEntryType(t);n===`directory`&&this._directoryFilter(t)?(i<=this._maxDepth&&this.parents.push(this._exploreDir(t.fullPath,i+1)),this._wantsDir&&(this.push(t),e--)):(n===`file`||this._includeAsFile(t))&&this._fileFilter(t)&&this._wantsFile&&(this.push(t),e--)}}else{let e=this.parents.pop();if(!e){this.push(null);break}if(this.parent=await e,this.destroyed)return}}}catch(e){this.destroy(e)}finally{this.reading=!1}}}async _exploreDir(e,t){let n;try{n=await(0,v.readdir)(e,this._rdOptions)}catch(e){this._onError(e)}return{files:n,depth:t,path:e}}async _formatEntry(e,t){let n,r=this._isDirent?e.name:e;try{let i=(0,w.resolve)((0,w.join)(t,r));n={path:(0,w.relative)(this._root,i),fullPath:i,basename:r},n[this._statsProp]=this._isDirent?e:await this._stat(i)}catch(e){this._onError(e);return}return n}_onError(e){Ie(e)&&!this.destroyed?this.emit(`warn`,e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return``;let t=e[this._statsProp];if(t.isFile())return`file`;if(t.isDirectory())return`directory`;if(t&&t.isSymbolicLink()){let t=e.fullPath;try{let e=await(0,v.realpath)(t),n=await(0,v.lstat)(e);if(n.isFile())return`file`;if(n.isDirectory()){let n=e.length;if(t.startsWith(e)&&t.substr(n,1)===w.sep){let n=Error(`Circular symlink detected: "${t}" points to "${e}"`);return n.code=I,this._onError(n)}return`directory`}}catch(e){return this._onError(e),``}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}};function Ve(e,t={}){let n=t.entryType||t.type;if(n===`both`&&(n=P.FILE_DIR_TYPE),n&&(t.type=n),!e)throw Error(`readdirp: root argument is required. Usage: readdirp(root, options)`);if(typeof e!=`string`)throw TypeError(`readdirp: root argument must be a string. Usage: readdirp(root, options)`);if(n&&!Ne.includes(n))throw Error(`readdirp: Invalid type passed. Use one of ${Ne.join(`, `)}`);return t.root=e,new Be(t)}const L=()=>{},R=process.platform,He=R===`win32`,Ue=R===`darwin`,We=R===`linux`,Ge=R===`freebsd`,Ke=(0,ie.type)()===`OS400`,z={ALL:`all`,READY:`ready`,ADD:`add`,CHANGE:`change`,ADD_DIR:`addDir`,UNLINK:`unlink`,UNLINK_DIR:`unlinkDir`,RAW:`raw`,ERROR:`error`},B=z,qe={lstat:S.lstat,stat:S.stat},V=`listeners`,H=`errHandlers`,U=`rawEmitters`,Je=[V,H,U],Ye=new Set(`3dm.3ds.3g2.3gp.7z.a.aac.adp.afdesign.afphoto.afpub.ai.aif.aiff.alz.ape.apk.appimage.ar.arj.asf.au.avi.bak.baml.bh.bin.bk.bmp.btif.bz2.bzip2.cab.caf.cgm.class.cmx.cpio.cr2.cur.dat.dcm.deb.dex.djvu.dll.dmg.dng.doc.docm.docx.dot.dotm.dra.DS_Store.dsk.dts.dtshd.dvb.dwg.dxf.ecelp4800.ecelp7470.ecelp9600.egg.eol.eot.epub.exe.f4v.fbs.fh.fla.flac.flatpak.fli.flv.fpx.fst.fvt.g3.gh.gif.graffle.gz.gzip.h261.h263.h264.icns.ico.ief.img.ipa.iso.jar.jpeg.jpg.jpgv.jpm.jxr.key.ktx.lha.lib.lvp.lz.lzh.lzma.lzo.m3u.m4a.m4v.mar.mdi.mht.mid.midi.mj2.mka.mkv.mmr.mng.mobi.mov.movie.mp3.mp4.mp4a.mpeg.mpg.mpga.mxu.nef.npx.numbers.nupkg.o.odp.ods.odt.oga.ogg.ogv.otf.ott.pages.pbm.pcx.pdb.pdf.pea.pgm.pic.png.pnm.pot.potm.potx.ppa.ppam.ppm.pps.ppsm.ppsx.ppt.pptm.pptx.psd.pya.pyc.pyo.pyv.qt.rar.ras.raw.resources.rgb.rip.rlc.rmf.rmvb.rpm.rtf.rz.s3m.s7z.scpt.sgi.shar.snap.sil.sketch.slk.smv.snk.so.stl.suo.sub.swf.tar.tbz.tbz2.tga.tgz.thmx.tif.tiff.tlz.ttc.ttf.txz.udf.uvh.uvi.uvm.uvp.uvs.uvu.viv.vob.war.wav.wax.wbmp.wdp.weba.webm.webp.whl.wim.wm.wma.wmv.wmx.woff.woff2.wrm.wvx.xbm.xif.xla.xlam.xls.xlsb.xlsm.xlsx.xlt.xltm.xltx.xm.xmind.xpi.xpm.xwd.xz.z.zip.zipx`.split(`.`)),Xe=e=>Ye.has(C.extname(e).slice(1).toLowerCase()),W=(e,t)=>{e instanceof Set?e.forEach(t):t(e)},G=(e,t,n)=>{let r=e[t];r instanceof Set||(e[t]=r=new Set([r])),r.add(n)},Ze=e=>t=>{let n=e[t];n instanceof Set?n.clear():delete e[t]},K=(e,t,n)=>{let r=e[t];r instanceof Set?r.delete(n):r===n&&delete e[t]},Qe=e=>e instanceof Set?e.size===0:!e,q=new Map;function $e(e,t,n,r,i){let a=(t,r)=>{n(e),i(t,r,{watchedPath:e}),r&&e!==r&&J(C.resolve(e,r),V,C.join(e,r))};try{return(0,x.watch)(e,{persistent:t.persistent},a)}catch(e){r(e);return}}const J=(e,t,n,r,i)=>{let a=q.get(e);a&&W(a[t],e=>{e(n,r,i)})},et=(e,t,n,r)=>{let{listener:i,errHandler:a,rawEmitter:o}=r,s=q.get(t),c;if(!n.persistent)return c=$e(e,n,i,a,o),c?c.close.bind(c):void 0;if(s)G(s,V,i),G(s,H,a),G(s,U,o);else{if(c=$e(e,n,J.bind(null,t,V),a,J.bind(null,t,U)),!c)return;c.on(B.ERROR,async n=>{let r=J.bind(null,t,H);if(s&&(s.watcherUnusable=!0),He&&n.code===`EPERM`)try{await(await(0,S.open)(e,`r`)).close(),r(n)}catch{}else r(n)}),s={listeners:i,errHandlers:a,rawEmitters:o,watcher:c},q.set(t,s)}return()=>{K(s,V,i),K(s,H,a),K(s,U,o),Qe(s.listeners)&&(s.watcher.close(),q.delete(t),Je.forEach(Ze(s)),s.watcher=void 0,Object.freeze(s))}},Y=new Map,tt=(e,t,n,r)=>{let{listener:i,rawEmitter:a}=r,o=Y.get(t),s=o&&o.options;return s&&(s.persistent<n.persistent||s.interval>n.interval)&&((0,x.unwatchFile)(t),o=void 0),o?(G(o,V,i),G(o,U,a)):(o={listeners:i,rawEmitters:a,options:n,watcher:(0,x.watchFile)(t,n,(n,r)=>{W(o.rawEmitters,e=>{e(B.CHANGE,t,{curr:n,prev:r})});let i=n.mtimeMs;(n.size!==r.size||i>r.mtimeMs||i===0)&&W(o.listeners,t=>t(e,n))})},Y.set(t,o)),()=>{K(o,V,i),K(o,U,a),Qe(o.listeners)&&(Y.delete(t),(0,x.unwatchFile)(t),o.options=o.watcher=void 0,Object.freeze(o))}};var nt=class{constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let n=this.fsw.options,r=C.dirname(e),i=C.basename(e);this.fsw._getWatchedDir(r).add(i);let a=C.resolve(e),o={persistent:n.persistent};t||=L;let s;return n.usePolling?(o.interval=n.interval!==n.binaryInterval&&Xe(i)?n.binaryInterval:n.interval,s=tt(e,a,o,{listener:t,rawEmitter:this.fsw._emitRaw})):s=et(e,a,o,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw}),s}_handleFile(e,t,n){if(this.fsw.closed)return;let r=C.dirname(e),i=C.basename(e),a=this.fsw._getWatchedDir(r),o=t;if(a.has(i))return;let s=async(t,n)=>{if(this.fsw._throttle(`watch`,e,5)){if(!n||n.mtimeMs===0)try{let n=await(0,S.stat)(e);if(this.fsw.closed)return;let r=n.atimeMs,i=n.mtimeMs;if((!r||r<=i||i!==o.mtimeMs)&&this.fsw._emit(B.CHANGE,e,n),(Ue||We||Ge)&&o.ino!==n.ino){this.fsw._closeFile(t),o=n;let r=this._watchWithNodeFs(e,s);r&&this.fsw._addPathCloser(t,r)}else o=n}catch{this.fsw._remove(r,i)}else if(a.has(i)){let t=n.atimeMs,r=n.mtimeMs;(!t||t<=r||r!==o.mtimeMs)&&this.fsw._emit(B.CHANGE,e,n),o=n}}},c=this._watchWithNodeFs(e,s);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(B.ADD,e,0))return;this.fsw._emit(B.ADD,e,t)}return c}async _handleSymlink(e,t,n,r){if(this.fsw.closed)return;let i=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let t;try{t=await(0,S.realpath)(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(r)?this.fsw._symlinkPaths.get(i)!==t&&(this.fsw._symlinkPaths.set(i,t),this.fsw._emit(B.CHANGE,n,e.stats)):(a.add(r),this.fsw._symlinkPaths.set(i,t),this.fsw._emit(B.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(i))return!0;this.fsw._symlinkPaths.set(i,!0)}_handleRead(e,t,n,r,i,a,o){if(e=C.join(e,``),o=this.fsw._throttle(`readdir`,e,1e3),!o)return;let s=this.fsw._getWatchedDir(n.path),c=new Set,l=this.fsw._readdirp(e,{fileFilter:e=>n.filterPath(e),directoryFilter:e=>n.filterDir(e)});if(l)return l.on(`data`,async o=>{if(this.fsw.closed){l=void 0;return}let u=o.path,d=C.join(e,u);if(c.add(u),!(o.stats.isSymbolicLink()&&await this._handleSymlink(o,e,d,u))){if(this.fsw.closed){l=void 0;return}(u===r||!r&&!s.has(u))&&(this.fsw._incrReadyCount(),d=C.join(i,C.relative(i,d)),this._addToNodeFs(d,t,n,a+1))}}).on(B.ERROR,this._boundHandleError),new Promise((t,u)=>{if(!l)return u();l.once(`end`,()=>{if(this.fsw.closed){l=void 0;return}let u=o?o.clear():!1;t(void 0),s.getChildren().filter(t=>t!==e&&!c.has(t)).forEach(t=>{this.fsw._remove(e,t)}),l=void 0,u&&this._handleRead(e,!1,n,r,i,a,o)})})}async _handleDir(e,t,n,r,i,a,o){let s=this.fsw._getWatchedDir(C.dirname(e)),c=s.has(C.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!i&&!c&&this.fsw._emit(B.ADD_DIR,e,t),s.add(C.basename(e)),this.fsw._getWatchedDir(e);let l,u=this.fsw.options.depth;if((u==null||r<=u)&&!this.fsw._symlinkPaths.has(o)){if(!i&&(await this._handleRead(e,n,a,i,e,r,void 0),this.fsw.closed))return;l=this._watchWithNodeFs(e,(t,n)=>{n&&n.mtimeMs===0||this._handleRead(t,!1,a,i,e,r,void 0)})}return l}async _addToNodeFs(e,t,n,r,i){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let o=this.fsw._getWatchHelpers(e);n&&(o.filterPath=e=>n.filterPath(e),o.filterDir=e=>n.filterDir(e));try{let n=await qe[o.statMethod](o.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(o.watchPath,n))return a(),!1;let s=this.fsw.options.followSymlinks,c;if(n.isDirectory()){let a=C.resolve(e),l=s?await(0,S.realpath)(e):e;if(this.fsw.closed||(c=await this._handleDir(o.watchPath,n,t,r,i,o,l),this.fsw.closed))return;a!==l&&l!==void 0&&this.fsw._symlinkPaths.set(a,l)}else if(n.isSymbolicLink()){let i=s?await(0,S.realpath)(e):e;if(this.fsw.closed)return;let a=C.dirname(o.watchPath);if(this.fsw._getWatchedDir(a).add(o.watchPath),this.fsw._emit(B.ADD,o.watchPath,n),c=await this._handleDir(a,n,t,r,e,o,i),this.fsw.closed)return;i!==void 0&&this.fsw._symlinkPaths.set(C.resolve(e),i)}else c=this._handleFile(o.watchPath,n,t);return a(),c&&this.fsw._addPathCloser(e,c),!1}catch(t){if(this.fsw._handleError(t))return a(),e}}};
|
|
10
|
+
`);r.appendRight(n.template.loc.end.offset+11,`\n\n${e}`)}return{code:r.toString(),sourceMap:r.generateMap()}}};const N={FILE_TYPE:`files`,DIR_TYPE:`directories`,FILE_DIR_TYPE:`files_directories`,EVERYTHING_TYPE:`all`},P={root:`.`,fileFilter:e=>!0,directoryFilter:e=>!0,type:N.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(P);const Ne=`READDIRP_RECURSIVE_ERROR`,Pe=new Set([`ENOENT`,`EPERM`,`EACCES`,`ELOOP`,Ne]),F=[N.DIR_TYPE,N.EVERYTHING_TYPE,N.FILE_DIR_TYPE,N.FILE_TYPE],Fe=new Set([N.DIR_TYPE,N.EVERYTHING_TYPE,N.FILE_DIR_TYPE]),Ie=new Set([N.EVERYTHING_TYPE,N.FILE_DIR_TYPE,N.FILE_TYPE]),Le=e=>Pe.has(e.code),Re=process.platform===`win32`,I=e=>!0,L=e=>{if(e===void 0)return I;if(typeof e==`function`)return e;if(typeof e==`string`){let t=e.trim();return e=>e.basename===t}if(Array.isArray(e)){let t=e.map(e=>e.trim());return e=>t.some(t=>e.basename===t)}return I};var ze=class extends ne.Readable{constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let t={...P,...e},{root:n,type:r}=t;this._fileFilter=L(t.fileFilter),this._directoryFilter=L(t.directoryFilter);let i=t.lstat?v.lstat:v.stat;Re?this._stat=e=>i(e,{bigint:!0}):this._stat=i,this._maxDepth=t.depth??P.depth,this._wantsDir=r?Fe.has(r):!1,this._wantsFile=r?Ie.has(r):!1,this._wantsEverything=r===N.EVERYTHING_TYPE,this._root=(0,T.resolve)(n),this._isDirent=!t.alwaysStat,this._statsProp=this._isDirent?`dirent`:`stats`,this._rdOptions={encoding:`utf8`,withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let t=this.parent,n=t&&t.files;if(n&&n.length>0){let{path:r,depth:i}=t,a=n.splice(0,e).map(e=>this._formatEntry(e,r)),o=await Promise.all(a);for(let t of o){if(!t)continue;if(this.destroyed)return;let n=await this._getEntryType(t);n===`directory`&&this._directoryFilter(t)?(i<=this._maxDepth&&this.parents.push(this._exploreDir(t.fullPath,i+1)),this._wantsDir&&(this.push(t),e--)):(n===`file`||this._includeAsFile(t))&&this._fileFilter(t)&&this._wantsFile&&(this.push(t),e--)}}else{let e=this.parents.pop();if(!e){this.push(null);break}if(this.parent=await e,this.destroyed)return}}}catch(e){this.destroy(e)}finally{this.reading=!1}}}async _exploreDir(e,t){let n;try{n=await(0,v.readdir)(e,this._rdOptions)}catch(e){this._onError(e)}return{files:n,depth:t,path:e}}async _formatEntry(e,t){let n,r=this._isDirent?e.name:e;try{let i=(0,T.resolve)((0,T.join)(t,r));n={path:(0,T.relative)(this._root,i),fullPath:i,basename:r},n[this._statsProp]=this._isDirent?e:await this._stat(i)}catch(e){this._onError(e);return}return n}_onError(e){Le(e)&&!this.destroyed?this.emit(`warn`,e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return``;let t=e[this._statsProp];if(t.isFile())return`file`;if(t.isDirectory())return`directory`;if(t&&t.isSymbolicLink()){let t=e.fullPath;try{let e=await(0,v.realpath)(t),n=await(0,v.lstat)(e);if(n.isFile())return`file`;if(n.isDirectory()){let n=e.length;if(t.startsWith(e)&&t.substr(n,1)===T.sep){let n=Error(`Circular symlink detected: "${t}" points to "${e}"`);return n.code=Ne,this._onError(n)}return`directory`}}catch(e){return this._onError(e),``}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}};function Be(e,t={}){let n=t.entryType||t.type;if(n===`both`&&(n=N.FILE_DIR_TYPE),n&&(t.type=n),!e)throw Error(`readdirp: root argument is required. Usage: readdirp(root, options)`);if(typeof e!=`string`)throw TypeError(`readdirp: root argument must be a string. Usage: readdirp(root, options)`);if(n&&!F.includes(n))throw Error(`readdirp: Invalid type passed. Use one of ${F.join(`, `)}`);return t.root=e,new ze(t)}const R=()=>{},z=process.platform,Ve=z===`win32`,He=z===`darwin`,Ue=z===`linux`,We=z===`freebsd`,Ge=(0,re.type)()===`OS400`,B={ALL:`all`,READY:`ready`,ADD:`add`,CHANGE:`change`,ADD_DIR:`addDir`,UNLINK:`unlink`,UNLINK_DIR:`unlinkDir`,RAW:`raw`,ERROR:`error`},V=B,Ke={lstat:C.lstat,stat:C.stat},H=`listeners`,U=`errHandlers`,W=`rawEmitters`,qe=[H,U,W],Je=new Set(`3dm.3ds.3g2.3gp.7z.a.aac.adp.afdesign.afphoto.afpub.ai.aif.aiff.alz.ape.apk.appimage.ar.arj.asf.au.avi.bak.baml.bh.bin.bk.bmp.btif.bz2.bzip2.cab.caf.cgm.class.cmx.cpio.cr2.cur.dat.dcm.deb.dex.djvu.dll.dmg.dng.doc.docm.docx.dot.dotm.dra.DS_Store.dsk.dts.dtshd.dvb.dwg.dxf.ecelp4800.ecelp7470.ecelp9600.egg.eol.eot.epub.exe.f4v.fbs.fh.fla.flac.flatpak.fli.flv.fpx.fst.fvt.g3.gh.gif.graffle.gz.gzip.h261.h263.h264.icns.ico.ief.img.ipa.iso.jar.jpeg.jpg.jpgv.jpm.jxr.key.ktx.lha.lib.lvp.lz.lzh.lzma.lzo.m3u.m4a.m4v.mar.mdi.mht.mid.midi.mj2.mka.mkv.mmr.mng.mobi.mov.movie.mp3.mp4.mp4a.mpeg.mpg.mpga.mxu.nef.npx.numbers.nupkg.o.odp.ods.odt.oga.ogg.ogv.otf.ott.pages.pbm.pcx.pdb.pdf.pea.pgm.pic.png.pnm.pot.potm.potx.ppa.ppam.ppm.pps.ppsm.ppsx.ppt.pptm.pptx.psd.pya.pyc.pyo.pyv.qt.rar.ras.raw.resources.rgb.rip.rlc.rmf.rmvb.rpm.rtf.rz.s3m.s7z.scpt.sgi.shar.snap.sil.sketch.slk.smv.snk.so.stl.suo.sub.swf.tar.tbz.tbz2.tga.tgz.thmx.tif.tiff.tlz.ttc.ttf.txz.udf.uvh.uvi.uvm.uvp.uvs.uvu.viv.vob.war.wav.wax.wbmp.wdp.weba.webm.webp.whl.wim.wm.wma.wmv.wmx.woff.woff2.wrm.wvx.xbm.xif.xla.xlam.xls.xlsb.xlsm.xlsx.xlt.xltm.xltx.xm.xmind.xpi.xpm.xwd.xz.z.zip.zipx`.split(`.`)),Ye=e=>Je.has(w.extname(e).slice(1).toLowerCase()),G=(e,t)=>{e instanceof Set?e.forEach(t):t(e)},K=(e,t,n)=>{let r=e[t];r instanceof Set||(e[t]=r=new Set([r])),r.add(n)},Xe=e=>t=>{let n=e[t];n instanceof Set?n.clear():delete e[t]},q=(e,t,n)=>{let r=e[t];r instanceof Set?r.delete(n):r===n&&delete e[t]},Ze=e=>e instanceof Set?e.size===0:!e,J=new Map;function Qe(e,t,n,r,i){let a=(t,r)=>{n(e),i(t,r,{watchedPath:e}),r&&e!==r&&Y(w.resolve(e,r),H,w.join(e,r))};try{return(0,S.watch)(e,{persistent:t.persistent},a)}catch(e){r(e);return}}const Y=(e,t,n,r,i)=>{let a=J.get(e);a&&G(a[t],e=>{e(n,r,i)})},$e=(e,t,n,r)=>{let{listener:i,errHandler:a,rawEmitter:o}=r,s=J.get(t),c;if(!n.persistent)return c=Qe(e,n,i,a,o),c?c.close.bind(c):void 0;if(s)K(s,H,i),K(s,U,a),K(s,W,o);else{if(c=Qe(e,n,Y.bind(null,t,H),a,Y.bind(null,t,W)),!c)return;c.on(V.ERROR,async n=>{let r=Y.bind(null,t,U);if(s&&(s.watcherUnusable=!0),Ve&&n.code===`EPERM`)try{await(await(0,C.open)(e,`r`)).close(),r(n)}catch{}else r(n)}),s={listeners:i,errHandlers:a,rawEmitters:o,watcher:c},J.set(t,s)}return()=>{q(s,H,i),q(s,U,a),q(s,W,o),Ze(s.listeners)&&(s.watcher.close(),J.delete(t),qe.forEach(Xe(s)),s.watcher=void 0,Object.freeze(s))}},X=new Map,et=(e,t,n,r)=>{let{listener:i,rawEmitter:a}=r,o=X.get(t),s=o&&o.options;return s&&(s.persistent<n.persistent||s.interval>n.interval)&&((0,S.unwatchFile)(t),o=void 0),o?(K(o,H,i),K(o,W,a)):(o={listeners:i,rawEmitters:a,options:n,watcher:(0,S.watchFile)(t,n,(n,r)=>{G(o.rawEmitters,e=>{e(V.CHANGE,t,{curr:n,prev:r})});let i=n.mtimeMs;(n.size!==r.size||i>r.mtimeMs||i===0)&&G(o.listeners,t=>t(e,n))})},X.set(t,o)),()=>{q(o,H,i),q(o,W,a),Ze(o.listeners)&&(X.delete(t),(0,S.unwatchFile)(t),o.options=o.watcher=void 0,Object.freeze(o))}};var tt=class{constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let n=this.fsw.options,r=w.dirname(e),i=w.basename(e);this.fsw._getWatchedDir(r).add(i);let a=w.resolve(e),o={persistent:n.persistent};t||=R;let s;return n.usePolling?(o.interval=n.interval!==n.binaryInterval&&Ye(i)?n.binaryInterval:n.interval,s=et(e,a,o,{listener:t,rawEmitter:this.fsw._emitRaw})):s=$e(e,a,o,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw}),s}_handleFile(e,t,n){if(this.fsw.closed)return;let r=w.dirname(e),i=w.basename(e),a=this.fsw._getWatchedDir(r),o=t;if(a.has(i))return;let s=async(t,n)=>{if(this.fsw._throttle(`watch`,e,5)){if(!n||n.mtimeMs===0)try{let n=await(0,C.stat)(e);if(this.fsw.closed)return;let r=n.atimeMs,i=n.mtimeMs;if((!r||r<=i||i!==o.mtimeMs)&&this.fsw._emit(V.CHANGE,e,n),(He||Ue||We)&&o.ino!==n.ino){this.fsw._closeFile(t),o=n;let r=this._watchWithNodeFs(e,s);r&&this.fsw._addPathCloser(t,r)}else o=n}catch{this.fsw._remove(r,i)}else if(a.has(i)){let t=n.atimeMs,r=n.mtimeMs;(!t||t<=r||r!==o.mtimeMs)&&this.fsw._emit(V.CHANGE,e,n),o=n}}},c=this._watchWithNodeFs(e,s);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(V.ADD,e,0))return;this.fsw._emit(V.ADD,e,t)}return c}async _handleSymlink(e,t,n,r){if(this.fsw.closed)return;let i=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let t;try{t=await(0,C.realpath)(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(r)?this.fsw._symlinkPaths.get(i)!==t&&(this.fsw._symlinkPaths.set(i,t),this.fsw._emit(V.CHANGE,n,e.stats)):(a.add(r),this.fsw._symlinkPaths.set(i,t),this.fsw._emit(V.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(i))return!0;this.fsw._symlinkPaths.set(i,!0)}_handleRead(e,t,n,r,i,a,o){if(e=w.join(e,``),o=this.fsw._throttle(`readdir`,e,1e3),!o)return;let s=this.fsw._getWatchedDir(n.path),c=new Set,l=this.fsw._readdirp(e,{fileFilter:e=>n.filterPath(e),directoryFilter:e=>n.filterDir(e)});if(l)return l.on(`data`,async o=>{if(this.fsw.closed){l=void 0;return}let u=o.path,d=w.join(e,u);if(c.add(u),!(o.stats.isSymbolicLink()&&await this._handleSymlink(o,e,d,u))){if(this.fsw.closed){l=void 0;return}(u===r||!r&&!s.has(u))&&(this.fsw._incrReadyCount(),d=w.join(i,w.relative(i,d)),this._addToNodeFs(d,t,n,a+1))}}).on(V.ERROR,this._boundHandleError),new Promise((t,u)=>{if(!l)return u();l.once(`end`,()=>{if(this.fsw.closed){l=void 0;return}let u=o?o.clear():!1;t(void 0),s.getChildren().filter(t=>t!==e&&!c.has(t)).forEach(t=>{this.fsw._remove(e,t)}),l=void 0,u&&this._handleRead(e,!1,n,r,i,a,o)})})}async _handleDir(e,t,n,r,i,a,o){let s=this.fsw._getWatchedDir(w.dirname(e)),c=s.has(w.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!i&&!c&&this.fsw._emit(V.ADD_DIR,e,t),s.add(w.basename(e)),this.fsw._getWatchedDir(e);let l,u=this.fsw.options.depth;if((u==null||r<=u)&&!this.fsw._symlinkPaths.has(o)){if(!i&&(await this._handleRead(e,n,a,i,e,r,void 0),this.fsw.closed))return;l=this._watchWithNodeFs(e,(t,n)=>{n&&n.mtimeMs===0||this._handleRead(t,!1,a,i,e,r,void 0)})}return l}async _addToNodeFs(e,t,n,r,i){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let o=this.fsw._getWatchHelpers(e);n&&(o.filterPath=e=>n.filterPath(e),o.filterDir=e=>n.filterDir(e));try{let n=await Ke[o.statMethod](o.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(o.watchPath,n))return a(),!1;let s=this.fsw.options.followSymlinks,c;if(n.isDirectory()){let a=w.resolve(e),l=s?await(0,C.realpath)(e):e;if(this.fsw.closed||(c=await this._handleDir(o.watchPath,n,t,r,i,o,l),this.fsw.closed))return;a!==l&&l!==void 0&&this.fsw._symlinkPaths.set(a,l)}else if(n.isSymbolicLink()){let i=s?await(0,C.realpath)(e):e;if(this.fsw.closed)return;let a=w.dirname(o.watchPath);if(this.fsw._getWatchedDir(a).add(o.watchPath),this.fsw._emit(V.ADD,o.watchPath,n),c=await this._handleDir(a,n,t,r,e,o,i),this.fsw.closed)return;i!==void 0&&this.fsw._symlinkPaths.set(w.resolve(e),i)}else c=this._handleFile(o.watchPath,n,t);return a(),c&&this.fsw._addPathCloser(e,c),!1}catch(t){if(this.fsw._handleError(t))return a(),e}}};
|
|
11
11
|
/*! chokidar - MIT License (c) 2012 Paul Miller (paulmillr.com) */
|
|
12
|
-
const rt=/\\/g,it=/\/\//,at=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,ot=/^\.[/\\]/;function X(e){return Array.isArray(e)?e:[e]}const Z=e=>typeof e==`object`&&!!e&&!(e instanceof RegExp);function st(e){return typeof e==`function`?e:typeof e==`string`?t=>e===t:e instanceof RegExp?t=>e.test(t):typeof e==`object`&&e?t=>{if(e.path===t)return!0;if(e.recursive){let n=C.relative(e.path,t);return n?!n.startsWith(`..`)&&!C.isAbsolute(n):!1}return!1}:()=>!1}function ct(e){if(typeof e!=`string`)throw Error(`string expected`);e=C.normalize(e),e=e.replace(/\\/g,`/`);let t=!1;e.startsWith(`//`)&&(t=!0);let n=/\/\//;for(;e.match(n);)e=e.replace(n,`/`);return t&&(e=`/`+e),e}function lt(e,t,n){let r=ct(t);for(let t=0;t<e.length;t++){let i=e[t];if(i(r,n))return!0}return!1}function ut(e,t){if(e==null)throw TypeError(`anymatch: specify first argument`);let n=X(e).map(e=>st(e));return t==null?(e,t)=>lt(n,e,t):lt(n,t)}const dt=e=>{let t=X(e).flat();if(!t.every(e=>typeof e==`string`))throw TypeError(`Non-string provided as watch path: ${t}`);return t.map(pt)},ft=e=>{let t=e.replace(rt,`/`),n=!1;for(t.startsWith(`//`)&&(n=!0);t.match(it);)t=t.replace(it,`/`);return n&&(t=`/`+t),t},pt=e=>ft(C.normalize(ft(e))),mt=(e=``)=>t=>typeof t==`string`?pt(C.isAbsolute(t)?t:C.join(e,t)):t,ht=(e,t)=>C.isAbsolute(e)?e:C.join(t,e),gt=Object.freeze(new Set);var _t=class{constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==`.`&&e!==`..`&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let n=this.path;try{await(0,S.readdir)(n)}catch{this._removeWatcher&&this._removeWatcher(C.dirname(n),C.basename(n))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path=``,this._removeWatcher=L,this.items=gt,Object.freeze(this)}},vt=class{constructor(e,t,n){this.fsw=n;let r=e;this.path=e=e.replace(ot,``),this.watchPath=r,this.fullWatchPath=C.resolve(r),this.dirParts=[],this.dirParts.forEach(e=>{e.length>1&&e.pop()}),this.followSymlinks=t,this.statMethod=t?`stat`:`lstat`}entryPath(e){return C.join(this.watchPath,C.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return this.fsw._isntIgnored(n,t)&&this.fsw._hasReadPermissions(t)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},yt=class extends ne.EventEmitter{constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let t=e.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?X(e.ignored):X([]),awaitWriteFinish:t===!0?n:typeof t==`object`?{...n,...t}:!1};Ke&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let e=i.toLowerCase();e===`false`||e===`0`?r.usePolling=!1:e===`true`||e===`1`?r.usePolling=!0:r.usePolling=!!e}let a=process.env.CHOKIDAR_INTERVAL;a&&(r.interval=Number.parseInt(a,10));let o=0;this._emitReady=()=>{o++,o>=this._readyCount&&(this._emitReady=L,this._readyEmitted=!0,process.nextTick(()=>this.emit(z.READY)))},this._emitRaw=(...e)=>this.emit(z.RAW,...e),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new nt(this),Object.freeze(r)}_addIgnoredPath(e){if(Z(e)){for(let t of this._ignoredPaths)if(Z(t)&&t.path===e.path&&t.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e==`string`)for(let t of this._ignoredPaths)Z(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,n){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let i=dt(e);return r&&(i=i.map(e=>ht(e,r))),i.forEach(e=>{this._removeIgnoredPath(e)}),this._userIgnored=void 0,this._readyCount||=0,this._readyCount+=i.length,Promise.all(i.map(async e=>{let r=await this._nodeFsHandler._addToNodeFs(e,!n,void 0,0,t);return r&&this._emitReady(),r})).then(e=>{this.closed||e.forEach(e=>{e&&this.add(C.dirname(e),C.basename(t||e))})}),this}unwatch(e){if(this.closed)return this;let t=dt(e),{cwd:n}=this.options;return t.forEach(e=>{!C.isAbsolute(e)&&!this._closers.has(e)&&(n&&(e=C.join(n,e)),e=C.resolve(e)),this._closePath(e),this._addIgnoredPath(e),this._watched.has(e)&&this._addIgnoredPath({path:e,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(t=>{let n=t();n instanceof Promise&&e.push(n)})),this._streams.forEach(e=>e.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(e=>e.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>void 0):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,n)=>{let r=(this.options.cwd?C.relative(this.options.cwd,n):n)||`.`;e[r]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==z.ERROR&&this.emit(z.ALL,e,...t)}async _emit(e,t,n){if(this.closed)return;let r=this.options;He&&(t=C.normalize(t)),r.cwd&&(t=C.relative(r.cwd,t));let i=[t];n!=null&&i.push(n);let a=r.awaitWriteFinish,o;if(a&&(o=this._pendingWrites.get(t)))return o.lastChange=new Date,this;if(r.atomic){if(e===z.UNLINK)return this._pendingUnlinks.set(t,[e,...i]),setTimeout(()=>{this._pendingUnlinks.forEach((e,t)=>{this.emit(...e),this.emit(z.ALL,...e),this._pendingUnlinks.delete(t)})},typeof r.atomic==`number`?r.atomic:100),this;e===z.ADD&&this._pendingUnlinks.has(t)&&(e=z.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===z.ADD||e===z.CHANGE)&&this._readyEmitted)return this._awaitWriteFinish(t,a.stabilityThreshold,e,(t,n)=>{t?(e=z.ERROR,i[0]=t,this.emitWithAll(e,i)):n&&(i.length>1?i[1]=n:i.push(n),this.emitWithAll(e,i))}),this;if(e===z.CHANGE&&!this._throttle(z.CHANGE,t,50))return this;if(r.alwaysStat&&n===void 0&&(e===z.ADD||e===z.ADD_DIR||e===z.CHANGE)){let e=r.cwd?C.join(r.cwd,t):t,n;try{n=await(0,S.stat)(e)}catch{}if(!n||this.closed)return;i.push(n)}return this.emitWithAll(e,i),this}_handleError(e){let t=e&&e.code;return e&&t!==`ENOENT`&&t!==`ENOTDIR`&&(!this.options.ignorePermissionErrors||t!==`EPERM`&&t!==`EACCES`)&&this.emit(z.ERROR,e),e||this.closed}_throttle(e,t,n){this._throttled.has(e)||this._throttled.set(e,new Map);let r=this._throttled.get(e);if(!r)throw Error(`invalid throttle`);let i=r.get(t);if(i)return i.count++,!1;let a,o=()=>{let e=r.get(t),n=e?e.count:0;return r.delete(t),clearTimeout(a),e&&clearTimeout(e.timeoutObject),n};a=setTimeout(o,n);let s={timeoutObject:a,clear:o,count:0};return r.set(t,s),s}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,n,r){let i=this.options.awaitWriteFinish;if(typeof i!=`object`)return;let a=i.pollInterval,o,s=e;this.options.cwd&&!C.isAbsolute(e)&&(s=C.join(this.options.cwd,e));let c=new Date,l=this._pendingWrites;function u(n){(0,x.stat)(s,(i,s)=>{if(i||!l.has(e)){i&&i.code!==`ENOENT`&&r(i);return}let c=Number(new Date);n&&s.size!==n.size&&(l.get(e).lastChange=c),c-l.get(e).lastChange>=t?(l.delete(e),r(void 0,s)):o=setTimeout(u,a,s)})}l.has(e)||(l.set(e,{lastChange:c,cancelWait:()=>(l.delete(e),clearTimeout(o),n)}),o=setTimeout(u,a))}_isIgnored(e,t){if(this.options.atomic&&at.test(e))return!0;if(!this._userIgnored){let{cwd:e}=this.options,t=(this.options.ignored||[]).map(mt(e));this._userIgnored=ut([...[...this._ignoredPaths].map(mt(e)),...t],void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new vt(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=C.resolve(e);return this._watched.has(t)||this._watched.set(t,new _t(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,n){let r=C.join(e,t),i=C.resolve(r);if(n??=this._watched.has(r)||this._watched.has(i),!this._throttle(`remove`,r,100))return;!n&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(r).getChildren().forEach(e=>this._remove(r,e));let a=this._getWatchedDir(e),o=a.has(t);a.remove(t),this._symlinkPaths.has(i)&&this._symlinkPaths.delete(i);let s=r;if(this.options.cwd&&(s=C.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(s)&&this._pendingWrites.get(s).cancelWait()===z.ADD)return;this._watched.delete(r),this._watched.delete(i);let c=n?z.UNLINK_DIR:z.UNLINK;o&&!this._isIgnored(r)&&this._emit(c,r),this._closePath(r)}_closePath(e){this._closeFile(e);let t=C.dirname(e);this._getWatchedDir(t).remove(C.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(e=>e()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(t)}_readdirp(e,t){if(this.closed)return;let n=Ve(e,{type:z.ALL,alwaysStat:!0,lstat:!0,...t,depth:0});return this._streams.add(n),n.once(`close`,()=>{n=void 0}),n.once(`end`,()=>{n&&=(this._streams.delete(n),void 0)}),n}};function bt(e,t={}){let n=new yt(t);return n.add(e),n}function xt(e){if(!e.includes(`defineRootContext`))return``;let{descriptor:t}=(0,y.parse)(e);if(!t.scriptSetup)return``;let n=e=t.scriptSetup.content,r=St(n);return n.substring(r.start,r.end+1).trim()}function St(e){return ce(e,`defineRootContext`)}function Ct(e){if(!e.includes(`<template`))return``;let{descriptor:t}=(0,y.parse)(e);return(t.template?.content||``).trim()}function wt(e,t){if(!e)throw Error(`[oiyo] App.vue 必须包含 <template> 节点`);let n=e.content;if(!(n.includes(`<OiyoPage`)||n.includes(`<oiyo-page`)))throw Error(`[oiyo] App.vue 的 template 必须包含 <OiyoPage /> 或 <oiyo-page /> 占位节点`);if(t.varName&&(n=n.replace(RegExp(`\\b${t.varName}\\b`,`g`),`$oiyoRootContext`)),t.varProperties?.length)for(let{local:e,original:r}of t.varProperties)n=n.replace(RegExp(`\\b${e}\\b`,`g`),`$oiyoRootContext.${r}`);return n.trim()}function Tt(e){if(!e)return;let t=e?.content;if(t){let e=Et(t);return e.script?e:void 0}}function Et(e){let t=(0,f.parse)(e,{sourceType:`module`,plugins:[`typescript`]}),n={};return T(t,{ImportDeclaration(t){let r=e.substring(t.node.start,t.node.end);n.imports??=[],n.imports.push(r)},CallExpression(t){let{callee:r,arguments:i}=t.node;if(r.type===`Identifier`&&r.name===`defineRootContext`&&i.length>0){let r=i[0];r.start!=null&&r.end!=null&&(n.script=e.substring(r.start,r.end));let a=t.findParent(e=>e.isVariableDeclarator());if(a&&a.isVariableDeclarator()){let e=a.node.id;e.type===`Identifier`?n.variable=e.name:e.type===`ObjectPattern`&&(n.properties=e.properties.filter(e=>e.type===`ObjectProperty`).map(e=>({original:e.key.type===`Identifier`?e.key.name:String(e.key.value),local:e.value.type===`Identifier`?e.value.name:e.key.name})))}}}}),n}function Dt(e,t){let n=e;return n=n.replace(/<OiyoPage[^>]*?\/>/g,t),n=n.replace(/<OiyoPage[^>]*>\s*<\/OiyoPage>/g,t),n=n.replace(/<oiyo-page[^>]*?\/>/g,t),n=n.replace(/<oiyo-page[^>]*>\s*<\/oiyo-page>/g,t),n}const Ot=`virtual:oiyo-root-context`,Q=`\0${Ot}`;function kt(e){let{script:t,imports:n}=e,r=[];return n?.length&&(r.push(...n),r.push(``)),t?(r.push(`let rootContextInstance = null`),r.push(``),r.push(`export function useRootContext() {`),r.push(`if (!rootContextInstance) {`),r.push(`const factory = ${t}`),r.push(`rootContextInstance = factory()`),r.push(`}`),r.push(`return rootContextInstance`),r.push(`}`)):(r.push(`export function useRootContext() {`),r.push(`return {}`),r.push(`}`)),r.join(`
|
|
13
|
-
`)}var
|
|
12
|
+
const nt=/\\/g,rt=/\/\//,it=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,at=/^\.[/\\]/;function Z(e){return Array.isArray(e)?e:[e]}const Q=e=>typeof e==`object`&&!!e&&!(e instanceof RegExp);function ot(e){return typeof e==`function`?e:typeof e==`string`?t=>e===t:e instanceof RegExp?t=>e.test(t):typeof e==`object`&&e?t=>{if(e.path===t)return!0;if(e.recursive){let n=w.relative(e.path,t);return n?!n.startsWith(`..`)&&!w.isAbsolute(n):!1}return!1}:()=>!1}function st(e){if(typeof e!=`string`)throw Error(`string expected`);e=w.normalize(e),e=e.replace(/\\/g,`/`);let t=!1;e.startsWith(`//`)&&(t=!0);let n=/\/\//;for(;e.match(n);)e=e.replace(n,`/`);return t&&(e=`/`+e),e}function ct(e,t,n){let r=st(t);for(let t=0;t<e.length;t++){let i=e[t];if(i(r,n))return!0}return!1}function lt(e,t){if(e==null)throw TypeError(`anymatch: specify first argument`);let n=Z(e).map(e=>ot(e));return t==null?(e,t)=>ct(n,e,t):ct(n,t)}const ut=e=>{let t=Z(e).flat();if(!t.every(e=>typeof e==`string`))throw TypeError(`Non-string provided as watch path: ${t}`);return t.map(ft)},dt=e=>{let t=e.replace(nt,`/`),n=!1;for(t.startsWith(`//`)&&(n=!0);t.match(rt);)t=t.replace(rt,`/`);return n&&(t=`/`+t),t},ft=e=>dt(w.normalize(dt(e))),pt=(e=``)=>t=>typeof t==`string`?ft(w.isAbsolute(t)?t:w.join(e,t)):t,mt=(e,t)=>w.isAbsolute(e)?e:w.join(t,e),ht=Object.freeze(new Set);var gt=class{constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==`.`&&e!==`..`&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let n=this.path;try{await(0,C.readdir)(n)}catch{this._removeWatcher&&this._removeWatcher(w.dirname(n),w.basename(n))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path=``,this._removeWatcher=R,this.items=ht,Object.freeze(this)}},_t=class{constructor(e,t,n){this.fsw=n;let r=e;this.path=e=e.replace(at,``),this.watchPath=r,this.fullWatchPath=w.resolve(r),this.dirParts=[],this.dirParts.forEach(e=>{e.length>1&&e.pop()}),this.followSymlinks=t,this.statMethod=t?`stat`:`lstat`}entryPath(e){return w.join(this.watchPath,w.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return this.fsw._isntIgnored(n,t)&&this.fsw._hasReadPermissions(t)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},vt=class extends te.EventEmitter{constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let t=e.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?Z(e.ignored):Z([]),awaitWriteFinish:t===!0?n:typeof t==`object`?{...n,...t}:!1};Ge&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let e=i.toLowerCase();e===`false`||e===`0`?r.usePolling=!1:e===`true`||e===`1`?r.usePolling=!0:r.usePolling=!!e}let a=process.env.CHOKIDAR_INTERVAL;a&&(r.interval=Number.parseInt(a,10));let o=0;this._emitReady=()=>{o++,o>=this._readyCount&&(this._emitReady=R,this._readyEmitted=!0,process.nextTick(()=>this.emit(B.READY)))},this._emitRaw=(...e)=>this.emit(B.RAW,...e),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new tt(this),Object.freeze(r)}_addIgnoredPath(e){if(Q(e)){for(let t of this._ignoredPaths)if(Q(t)&&t.path===e.path&&t.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e==`string`)for(let t of this._ignoredPaths)Q(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,n){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let i=ut(e);return r&&(i=i.map(e=>mt(e,r))),i.forEach(e=>{this._removeIgnoredPath(e)}),this._userIgnored=void 0,this._readyCount||=0,this._readyCount+=i.length,Promise.all(i.map(async e=>{let r=await this._nodeFsHandler._addToNodeFs(e,!n,void 0,0,t);return r&&this._emitReady(),r})).then(e=>{this.closed||e.forEach(e=>{e&&this.add(w.dirname(e),w.basename(t||e))})}),this}unwatch(e){if(this.closed)return this;let t=ut(e),{cwd:n}=this.options;return t.forEach(e=>{!w.isAbsolute(e)&&!this._closers.has(e)&&(n&&(e=w.join(n,e)),e=w.resolve(e)),this._closePath(e),this._addIgnoredPath(e),this._watched.has(e)&&this._addIgnoredPath({path:e,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(t=>{let n=t();n instanceof Promise&&e.push(n)})),this._streams.forEach(e=>e.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(e=>e.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>void 0):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,n)=>{let r=(this.options.cwd?w.relative(this.options.cwd,n):n)||`.`;e[r]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==B.ERROR&&this.emit(B.ALL,e,...t)}async _emit(e,t,n){if(this.closed)return;let r=this.options;Ve&&(t=w.normalize(t)),r.cwd&&(t=w.relative(r.cwd,t));let i=[t];n!=null&&i.push(n);let a=r.awaitWriteFinish,o;if(a&&(o=this._pendingWrites.get(t)))return o.lastChange=new Date,this;if(r.atomic){if(e===B.UNLINK)return this._pendingUnlinks.set(t,[e,...i]),setTimeout(()=>{this._pendingUnlinks.forEach((e,t)=>{this.emit(...e),this.emit(B.ALL,...e),this._pendingUnlinks.delete(t)})},typeof r.atomic==`number`?r.atomic:100),this;e===B.ADD&&this._pendingUnlinks.has(t)&&(e=B.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===B.ADD||e===B.CHANGE)&&this._readyEmitted)return this._awaitWriteFinish(t,a.stabilityThreshold,e,(t,n)=>{t?(e=B.ERROR,i[0]=t,this.emitWithAll(e,i)):n&&(i.length>1?i[1]=n:i.push(n),this.emitWithAll(e,i))}),this;if(e===B.CHANGE&&!this._throttle(B.CHANGE,t,50))return this;if(r.alwaysStat&&n===void 0&&(e===B.ADD||e===B.ADD_DIR||e===B.CHANGE)){let e=r.cwd?w.join(r.cwd,t):t,n;try{n=await(0,C.stat)(e)}catch{}if(!n||this.closed)return;i.push(n)}return this.emitWithAll(e,i),this}_handleError(e){let t=e&&e.code;return e&&t!==`ENOENT`&&t!==`ENOTDIR`&&(!this.options.ignorePermissionErrors||t!==`EPERM`&&t!==`EACCES`)&&this.emit(B.ERROR,e),e||this.closed}_throttle(e,t,n){this._throttled.has(e)||this._throttled.set(e,new Map);let r=this._throttled.get(e);if(!r)throw Error(`invalid throttle`);let i=r.get(t);if(i)return i.count++,!1;let a,o=()=>{let e=r.get(t),n=e?e.count:0;return r.delete(t),clearTimeout(a),e&&clearTimeout(e.timeoutObject),n};a=setTimeout(o,n);let s={timeoutObject:a,clear:o,count:0};return r.set(t,s),s}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,n,r){let i=this.options.awaitWriteFinish;if(typeof i!=`object`)return;let a=i.pollInterval,o,s=e;this.options.cwd&&!w.isAbsolute(e)&&(s=w.join(this.options.cwd,e));let c=new Date,l=this._pendingWrites;function u(n){(0,S.stat)(s,(i,s)=>{if(i||!l.has(e)){i&&i.code!==`ENOENT`&&r(i);return}let c=Number(new Date);n&&s.size!==n.size&&(l.get(e).lastChange=c),c-l.get(e).lastChange>=t?(l.delete(e),r(void 0,s)):o=setTimeout(u,a,s)})}l.has(e)||(l.set(e,{lastChange:c,cancelWait:()=>(l.delete(e),clearTimeout(o),n)}),o=setTimeout(u,a))}_isIgnored(e,t){if(this.options.atomic&&it.test(e))return!0;if(!this._userIgnored){let{cwd:e}=this.options,t=(this.options.ignored||[]).map(pt(e));this._userIgnored=lt([...[...this._ignoredPaths].map(pt(e)),...t],void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new _t(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=w.resolve(e);return this._watched.has(t)||this._watched.set(t,new gt(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,n){let r=w.join(e,t),i=w.resolve(r);if(n??=this._watched.has(r)||this._watched.has(i),!this._throttle(`remove`,r,100))return;!n&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(r).getChildren().forEach(e=>this._remove(r,e));let a=this._getWatchedDir(e),o=a.has(t);a.remove(t),this._symlinkPaths.has(i)&&this._symlinkPaths.delete(i);let s=r;if(this.options.cwd&&(s=w.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(s)&&this._pendingWrites.get(s).cancelWait()===B.ADD)return;this._watched.delete(r),this._watched.delete(i);let c=n?B.UNLINK_DIR:B.UNLINK;o&&!this._isIgnored(r)&&this._emit(c,r),this._closePath(r)}_closePath(e){this._closeFile(e);let t=w.dirname(e);this._getWatchedDir(t).remove(w.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(e=>e()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(t)}_readdirp(e,t){if(this.closed)return;let n=Be(e,{type:B.ALL,alwaysStat:!0,lstat:!0,...t,depth:0});return this._streams.add(n),n.once(`close`,()=>{n=void 0}),n.once(`end`,()=>{n&&=(this._streams.delete(n),void 0)}),n}};function yt(e,t={}){let n=new vt(t);return n.add(e),n}function bt(e){if(!e.includes(`defineRootContext`))return``;let{descriptor:t}=(0,y.parse)(e);if(!t.scriptSetup)return``;let n=e=t.scriptSetup.content,r=xt(n);return n.substring(r.start,r.end+1).trim()}function xt(e){return se(e,`defineRootContext`)}function St(e){if(!e.includes(`<template`))return``;let{descriptor:t}=(0,y.parse)(e);return(t.template?.content||``).trim()}function Ct(e,t){let n=e.replace(/\{\{([\s\S]*?)\}\}/g,(e,n)=>e.replace(n,wt(n,t)));return n=n.replace(/((?:v-(?!for\b)[\w-]+(?::[\w-]+)?|[:@][\w-]+)\s*=\s*)(["'])([\s\S]*?)\2/g,(e,n,r,i)=>`${n}${r}${wt(i,t)}${r}`),n}function wt(e,t){let n=new Map;t.varName&&n.set(t.varName,`$oiyoRootContext`);for(let{local:e,original:r}of t.varProperties||[])n.set(e,`$oiyoRootContext.${r}`);if(n.size===0)return e;try{let t=(0,f.parse)(`(${e})`,{sourceType:`module`,plugins:[`typescript`]}),r=new x.default(e);return E(t,{Identifier(e){if(!e.isReferencedIdentifier())return;let t=n.get(e.node.name);if(!t)return;let i=e.node.start,a=e.node.end;if(!(i==null||a==null)){if(e.parentPath.isObjectProperty()&&e.parent.shorthand&&e.parent.value===e.node){r.overwrite(i-1,a-1,`${e.node.name}: ${t}`);return}r.overwrite(i-1,a-1,t)}}}),r.toString()}catch{return e}}function Tt(e,t){if(!e)throw Error(`[oiyo] App.vue 必须包含 <template> 节点`);let n=e.content;if(!(n.includes(`<OiyoPage`)||n.includes(`<oiyo-page`)))throw Error(`[oiyo] App.vue 的 template 必须包含 <OiyoPage /> 或 <oiyo-page /> 占位节点`);return n=Ct(n,t),n.trim()}function Et(e){if(!e)return;let t=e?.content;if(t){let e=Dt(t);return e.script?e:void 0}}function Dt(e){let t=(0,f.parse)(e,{sourceType:`module`,plugins:[`typescript`]}),n={};return E(t,{ImportDeclaration(t){let r=e.substring(t.node.start,t.node.end);n.imports??=[],n.imports.push(r)},CallExpression(t){let{callee:r,arguments:i}=t.node;if(r.type===`Identifier`&&r.name===`defineRootContext`&&i.length>0){let r=i[0];r.start!=null&&r.end!=null&&(n.script=e.substring(r.start,r.end));let a=t.findParent(e=>e.isVariableDeclarator());if(a&&a.isVariableDeclarator()){let e=a.node.id;e.type===`Identifier`?n.variable=e.name:e.type===`ObjectPattern`&&(n.properties=e.properties.filter(e=>e.type===`ObjectProperty`).map(e=>({original:e.key.type===`Identifier`?e.key.name:String(e.key.value),local:e.value.type===`Identifier`?e.value.name:e.key.name})))}}}}),n}function Ot(e,t){let n=e;return n=n.replace(/<OiyoPage[^>]*?\/>/g,t),n=n.replace(/<OiyoPage[^>]*>\s*<\/OiyoPage>/g,t),n=n.replace(/<oiyo-page[^>]*?\/>/g,t),n=n.replace(/<oiyo-page[^>]*>\s*<\/oiyo-page>/g,t),n}const kt=`virtual:oiyo-root-context`,$=`\0${kt}`;function At(e){let{script:t,imports:n}=e,r=[];return n?.length&&(r.push(...n),r.push(``)),t?(r.push(`let rootContextInstance = null`),r.push(``),r.push(`export function useRootContext() {`),r.push(`if (!rootContextInstance) {`),r.push(`const factory = ${t}`),r.push(`rootContextInstance = factory()`),r.push(`}`),r.push(`return rootContextInstance`),r.push(`}`)):(r.push(`export function useRootContext() {`),r.push(`return {}`),r.push(`}`)),r.join(`
|
|
13
|
+
`)}var jt=class{constructor(e,t){this.config=e,this.rootView={imports:[],template:`<OiyoPage />`,script:``},this.shouldRefreshVM=e=>{let t=``;this.rootMarco&&(t=D(ce(`defineRootContext(${this.rootMarco.script})`)));let n=D(ce(bt(e)));return t!==n},this.logger=t.logger.withScope(`ROOT`)}get srcDir(){return(0,l.resolve)(this.config.rootDir,this.config.srcDir)}get rootPath(){return(0,l.resolve)(this.srcDir,`App.vue`)}isRootPath(e){return e===this.rootPath}parseRoot(e){let{descriptor:t}=(0,y.parse)(e),n=Et(t.scriptSetup);return this.rootView={template:Tt(t.template,{varName:n?.variable,varProperties:n?.properties}),imports:[],script:``},n&&(this.rootMarco=n,this.rootVM=At(n),n.script&&(this.rootView.imports.push(`import { useRootContext } from 'virtual:oiyo-root-context'`),this.rootView.script=`const $oiyoRootContext = useRootContext()`)),{view:this.rootView,marco:n}}transformRoot(e){let{descriptor:t}=(0,y.parse)(e),n=new x.default(e);if(t.template){let e=t.template.loc.start.offset-10,r=t.template.loc.end.offset+11;n.remove(e,r)}if(t.scriptSetup){let e=t.scriptSetup.content,r=xt(e);if(r.start!==r.end){e.includes(`virtual:oiyo-root-context`)||n.appendLeft(t.scriptSetup.loc.start.offset,`
|
|
14
14
|
import { useRootContext } from 'virtual:oiyo-root-context'
|
|
15
|
-
`);let i=t.scriptSetup.loc.start.offset+r.start,a=t.scriptSetup.loc.start.offset+r.end;i!==a&&n.overwrite(i,a,`useRootContext()`)}}return{code:n.toString(),sourceMap:n.generateMap()}}shouldRefreshView(e){return
|
|
15
|
+
`);let i=t.scriptSetup.loc.start.offset+r.start,a=t.scriptSetup.loc.start.offset+r.end;i!==a&&n.overwrite(i,a,`useRootContext()`)}}return{code:n.toString(),sourceMap:n.generateMap()}}shouldRefreshView(e){return D(this.rootView.template)!==D(St(e))}applyRoot(e){let t=[],n=``,r=``;return e.template&&(n=Ot(this.rootView.template,e.template.content)),e.scriptSetup&&(t.push(...this.rootView.imports),r=`${this.rootView.script}\n${e.scriptSetup.content}`),{imports:t,script:r,template:n}}};function Mt(e){let t=!1,n=`build`;return e.logger.withScope(`VITE`),[{name:`oiyo:build`,apply:`build`,enforce:`pre`,configResolved(e){n=e.command},async buildStart(){if(t)return;await Promise.all([e.page.loadPagesConfig(),e.page.loadPagesJson(),e.layout.registerLayouts()]);let r=t=>{e.layout.isLayoutPath(t)&&e.layout.registerLayouts()};n===`serve`&&yt(e.layout.layoutDir,{ignoreInitial:!0}).on(`add`,r).on(`unlink`,r),t=!0},async transform(t,n){if(e.root.isRootPath(n))return e.root.parseRoot(t),e.root.transformRoot(t);if(e.page.isPagePath(n))return this.addWatchFile(e.root.rootPath),e.page.transformPage(t,n)},resolveId(e){if(e===`virtual:oiyo-root-context`)return $},load(t){if(t===$)return e.root.rootVM||`export function useRootContext() {return {}}`},async closeBundle(){await e.page.unwatchPagesConfig()}}]}function Nt(){return[{name:`oiyo:deps`,enforce:`pre`,config(e){return(0,b.defu)(e,{optimizeDeps:{exclude:[`@skiyee/oiyo`]}})}}]}function Pt(e){let t=(0,c.resolveOiyoConfig)(e),n=A();n.withScope(`CONFIG`);let r=new jt(t,{logger:n}),i=new me(t,{logger:n});return{logger:n,root:r,layout:i,page:new Me(t,{oiyoRoot:r,oiyoLayout:i,logger:n})}}function Ft(e){return e.logger.withScope(`VITE`),e.logger.withScope(`HMR`),[{name:`oiyo:serve`,apply:`serve`,enforce:`pre`,async buildStart(){await Promise.all([e.page.loadPagesConfig(),e.page.loadPagesJson(),e.layout.registerLayouts()])},configureServer(t){e.page.watchPagesConfig(()=>{t.hot.send({type:`full-reload`})});let n=t=>{e.layout.isLayoutPath(t)&&e.layout.registerLayouts()};t.watcher.on(`add`,n),t.watcher.on(`unlink`,n)},async transform(t,n){if(e.root.isRootPath(n))return e.root.parseRoot(t),e.root.transformRoot(t);if(e.page.isPagePath(n))return this.addWatchFile(e.root.rootPath),e.page.transformPage(t,n)},resolveId(e){if(e===`virtual:oiyo-root-context`)return $},load(t){if(t===$)return e.root.rootVM||`export function useRootContext() {return {}}`},async handleHotUpdate({file:t,server:n,read:r}){if(e.root.isRootPath(t)){let t=await r(),i=!1;if(e.root.shouldRefreshView(t)&&(i=!0),e.root.shouldRefreshVM(t)){let e=n.moduleGraph.getModuleById($);e&&(n.moduleGraph.invalidateModule(e),i=!0)}if(i){n.hot.send({type:`full-reload`});return}}},async closeBundle(){await e.page.unwatchPagesConfig()}}]}function It(e={}){let t=Pt(e);return[...Nt(),...Ft(t),...Mt(t)]}exports.LogLevels=O,exports.OiyoCorePlugin=It,exports.OiyoLayout=me,exports.OiyoPage=Me,exports.OiyoRoot=jt,exports.RESOLVED_VIRTUAL_ROOT_CONTEXT_ID=$,exports.VIRTUAL_ROOT_CONTEXT_ID=kt,exports.createLogger=A;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @oiyo/core v0.0.
|
|
2
|
+
* @oiyo/core v0.0.4
|
|
3
3
|
* Copyright (c) 2026 skiyee. All rights reserved.
|
|
4
4
|
* Commercial software. See LICENSE for terms.
|
|
5
5
|
* Official site: https://oiyo.pages.dev
|
|
6
6
|
*/
|
|
7
|
-
import { n as PageFile, r as ResolvedPageMeta } from "./types-
|
|
7
|
+
import { n as PageFile, r as ResolvedPageMeta } from "./types-CO6ioKnp.cjs";
|
|
8
8
|
import { OiyoConfig, PagesConfig } from "@oiyo/config";
|
|
9
9
|
import * as _$magic_string0 from "magic-string";
|
|
10
10
|
import { ConfigWatcher } from "c12";
|
package/dist/index.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @oiyo/core v0.0.
|
|
2
|
+
* @oiyo/core v0.0.4
|
|
3
3
|
* Copyright (c) 2026 skiyee. All rights reserved.
|
|
4
4
|
* Commercial software. See LICENSE for terms.
|
|
5
5
|
* Official site: https://oiyo.pages.dev
|
|
6
6
|
*/
|
|
7
|
-
import { n as PageFile, r as ResolvedPageMeta } from "./types-
|
|
7
|
+
import { n as PageFile, r as ResolvedPageMeta } from "./types-DLyArdXP.mjs";
|
|
8
8
|
import { OiyoConfig, PagesConfig } from "@oiyo/config";
|
|
9
9
|
import { SFCDescriptor } from "@vue/compiler-sfc";
|
|
10
10
|
import { ConfigWatcher } from "c12";
|
package/dist/index.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @oiyo/core v0.0.
|
|
2
|
+
* @oiyo/core v0.0.4
|
|
3
3
|
* Copyright (c) 2026 skiyee. All rights reserved.
|
|
4
4
|
* Commercial software. See LICENSE for terms.
|
|
5
5
|
* Official site: https://oiyo.pages.dev
|
|
6
6
|
*/
|
|
7
|
-
import{DEFAULT_EXCLUDE as e,resolveOiyoConfig as t}from"@oiyo/config";import{join as n,matchesGlob as r,normalize as i,parse as a,relative as o,resolve as s,sep as c}from"pathe";import{createHash as l}from"node:crypto";import{existsSync as u,renameSync as d,unlinkSync as ee,writeFileSync as f}from"node:fs";import{parse as p}from"@babel/parser";import m from"@babel/traverse";import{glob as te}from"tinyglobby";import h from"node:process";import
|
|
8
|
-
`.repeat(e):``;h.stdout.write(t),
|
|
7
|
+
import{DEFAULT_EXCLUDE as e,resolveOiyoConfig as t}from"@oiyo/config";import{join as n,matchesGlob as r,normalize as i,parse as a,relative as o,resolve as s,sep as c}from"pathe";import{createHash as l}from"node:crypto";import{existsSync as u,renameSync as d,unlinkSync as ee,writeFileSync as f}from"node:fs";import{parse as p}from"@babel/parser";import m from"@babel/traverse";import{glob as te}from"tinyglobby";import h from"node:process";import g from"node:readline";import{blue as _,bold as ne,cyan as re,dim as ie,red as ae,yellow as oe}from"ansis";import{lstat as se,readFile as ce,readdir as le,realpath as ue,stat as de}from"node:fs/promises";import{parse as v}from"@vue/compiler-sfc";import{loadConfig as fe,watchConfig as pe}from"c12";import{defu as me}from"defu";import y from"magic-string";import{stat as he,unwatchFile as b,watch as ge,watchFile as _e}from"fs";import{lstat as ve,open as ye,readdir as be,realpath as x,stat as S}from"fs/promises";import{EventEmitter as xe}from"events";import*as C from"path";import{Readable as Se}from"node:stream";import{join as Ce,relative as we,resolve as Te,sep as Ee}from"node:path";import{type as De}from"os";const w=typeof m==`function`?m:m.default;async function Oe(e){let{dir:t,extensions:n=[`.*`],exclude:r}=e;if(!u(t))return[];let a=n.map(e=>`**/*${e}`);try{return(await te(a,{cwd:t,absolute:!0,ignore:r})).map(e=>i(s(e)))}catch(e){return console.error(`[oiyo] Error scanning file:`,e),[]}}function T(e,t=8){return l(`sha256`).update(e).digest(`hex`).slice(0,t)}function ke(e,t){let n=`${e}.tmp`;return f(n,t,`utf-8`),u(e)&&ee(e),d(n,e),!0}function Ae(e){if(!e)return``;let t=e.replace(/\p{Lu}/gu,e=>`-${e.toLowerCase()}`);return t.startsWith(`-`)?t.slice(1):t}function je(e,t){let n=p(e,{sourceType:`module`,plugins:[`typescript`]}),r={start:0,end:0};return w(n,{CallExpression(e){let{callee:n,arguments:i}=e.node;n.type===`Identifier`&&n.name===t&&i.length>0&&e.node.start!=null&&e.node.end!=null&&(r.start=e.node.start,r.end=e.node.end,e.stop())}}),r}function Me(e){return e.replace(/\s+/g,``)}function Ne(e){return e.includes(`<OiyoLayout`)||e.includes(`<oiyo-layout`)}function Pe(e){let t=e;return t=t.replace(/<OiyoLayout[^>]*?\/>/g,``),t=t.replace(/<OiyoLayout[^>]*>/g,``),t=t.replace(/<\/OiyoLayout>/g,``),t=t.replace(/<oiyo-layout[^>]*?\/>/g,``),t=t.replace(/<oiyo-layout[^>]*>/g,``),t=t.replace(/<\/oiyo-layout>/g,``),t}function Fe(e,t){let n=e;return n=n.replace(/<OiyoLayout[^>]*?\/>/g,``),n=n.replace(/<OiyoLayout[^>]*>/g,`<${t}>`),n=n.replace(/<\/OiyoLayout>/g,`</${t}>`),n=n.replace(/<oiyo-layout[^>]*?\/>/g,``),n=n.replace(/<oiyo-layout[^>]*>/g,`<${t}>`),n=n.replace(/<\/oiyo-layout>/g,`</${t}>`),n}function Ie(e,t){let{dir:n,name:r}=a(o(t,e));return(n&&n!==`.`?[...n.split(c),r]:[r]).map(e=>Ae(e)).join(`-`)}function Le(e){return`OiyoLayout${e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}`}var Re=class{constructor(e,t){this.config=e,this.layoutFiles=[],this.logger=t.logger.withScope(`LAYOUT`)}get srcDir(){return s(this.config.rootDir,this.config.srcDir)}get layoutDir(){return s(this.srcDir,this.config.dir?.layouts||`layouts`)}isLayoutPath(t){let n=i(t);return!n.endsWith(`.vue`)&&!n.endsWith(`.nvue`)||[...e,...this.config.exclude||[]].some(e=>r(n,e))?!1:n.startsWith(`${this.layoutDir}/`)}setLayout(e){if(this.layoutFiles.findIndex(({filePath:t})=>t===e)!==-1)return!1;let t=Ie(e,this.layoutDir),n=Le(t);return this.layoutFiles.push({useName:t,componentName:n,filePath:e}),!0}async registerLayouts(){let e=await Oe({dir:this.layoutDir,extensions:[`.vue`,`.nvue`],exclude:this.config.exclude});return this.layoutFiles=[],e.map(e=>this.setLayout(e)),this.layoutFiles}applyLayout(e,t){if(!Ne(t))return{template:t,script:``,imports:[]};if(e===!1)return{template:Pe(t),script:``,imports:[]};e===void 0&&(e=`default`);let n=this.layoutFiles.find(t=>t.useName===e);return n?{template:Fe(t,n.componentName),script:``,imports:[`import ${n.componentName} from '${n.filePath}'`]}:(this.logger.error(`未找到布局 "${e}",请检查布局名称或文件位置是否正确`),{template:t,script:``,imports:[]})}};const E={silent:0,error:1,warn:2,info:3,debug:4,verbose:5};let ze,Be,D=0,Ve;function He(){let e=h.stdout.rows-2,t=e>0?`
|
|
8
|
+
`.repeat(e):``;h.stdout.write(t),g.cursorTo(h.stdout,0,0),g.clearScreenDown(h.stdout)}function Ue(){return Ve??=new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`numeric`,second:`numeric`}),Ve}function O(e=`info`,t={}){if(t.customLogger)return t.customLogger;let n=new WeakSet,r=new Set,{prefix:i=`[OIYO]`,scope:a,allowClearScreen:o=!0,console:s=globalThis.console}=t,c=E[e],l=o&&h.stdout.isTTY&&!h.env.CI,u=l?He:()=>{};function d(e,t,n={}){let r=ee(e,n.scope??a);return n.timestamp?`${ie(Ue().format(new Date))} ${_(i)} ${r} ${t}`:`${_(ne(i))} ${r} ${t}`}function ee(e,t){if(!t)return` `;let n=`[${t.toUpperCase()}]`;return{info:re(n),warn:oe(n),error:ae(n),debug:ie(re(n))}[e]}function f(e,t,r={}){if(c<E[e])return;let i=e;if(r.error&&n.add(r.error),l){if(e===ze&&t===Be){D++,u(),s[e](d(e,t,r),oe(`(x${D+1})`));return}D=0,ze=e,Be=t,r.clear&&u()}s[i](d(e,t,r))}let p={hasWarned:!1,withScope(n){return O(e,{...t,scope:n})},debug(e,t){f(`debug`,e,t)},info(e,t){f(`info`,e,t)},warn(e,t){p.hasWarned=!0,f(`warn`,e,t)},warnOnce(e,t){r.has(e)||(r.add(e),p.hasWarned=!0,f(`warn`,e,t))},error(e,t){p.hasWarned=!0,f(`error`,e,t)},clearScreen(e){c>=E[e]&&u()},hasErrorLogged(e){return n.has(e)}};return p}function We(e,t){if(!e.includes(`definePageMeta`))return``;if(!t){let{descriptor:t}=v(e);if(!t.scriptSetup)return``;e=t.scriptSetup.content}let n=Ge(e);return e.substring(n.start,n.end+1).trim()}function Ge(e){return je(e,`definePageMeta`)}function Ke(e){return e.replace(/definePageMeta\s*\(\s*\{[\s\S]*?\}\s*\)/g,``).trim()}function qe(e){let t=p(e,{sourceType:`module`,plugins:[`typescript`]}),n={};return w(t,{CallExpression(e){let{callee:t,arguments:r}=e.node;if(t.type===`Identifier`&&t.name===`definePageMeta`&&r.length>0){let t=r[0];t.type===`ObjectExpression`&&(n=Je(t),e.stop())}}}),n}function Je(e){let t={};for(let n of e.properties)if(n.type===`ObjectProperty`){let e=Ye(n.key),r=Xe(n.value);e&&(t[e]=r)}return t}function Ye(e){return e.type===`Identifier`?e.name:e.type===`StringLiteral`?e.value:null}function Xe(e){switch(e.type){case`StringLiteral`:return e.value;case`NumericLiteral`:return e.value;case`BooleanLiteral`:return e.value;case`NullLiteral`:return null;case`ArrayExpression`:return e.elements.map(e=>Xe(e)).filter(e=>e!==void 0);case`ObjectExpression`:return Je(e);default:return}}function Ze(e){let t=e.map(e=>({path:e.pagePath,belong:e.pageBelong,...e.pageMeta})),n=[],r=new Map;t.forEach(e=>{if(e.belong===`pages`)n.push(e);else{let t=r.get(e.belong)||[];t.push(e),r.set(e.belong,t)}}),n.sort((e,t)=>{let r=n.find(t=>t.path===e.path)?.type===`home`,i=n.find(e=>e.path===t.path)?.type===`home`;return r&&!i?-1:!r&&i?1:e.path.localeCompare(t.path)});let i={pages:n.map(e=>{let{belong:t,...n}=e;return n})};return r.size>0&&(i.subPackages=Array.from(r.entries()).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({root:e,pages:t.sort((e,t)=>e.path.localeCompare(t.path)).map(e=>{let{belong:t,...n}=e;return n})}))),i}function Qe(e){if(!e||!e.includes(`import`))return[];let t=p(e,{sourceType:`module`,plugins:[`typescript`]}),n=[];return w(t,{ImportDeclaration(t){let r=e.substring(t.node.start,t.node.end);n.push(r)}}),n}function $e(e){if(!e||!e.includes(`import`))return e;let t=p(e,{sourceType:`module`,plugins:[`typescript`]}),n=[];w(t,{ImportDeclaration(e){n.push({start:e.node.start,end:e.node.end})}}),n.sort((e,t)=>t.start-e.start);let r=e;for(let e of n)r=r.substring(0,e.start)+r.substring(e.end);return r.trim()}function et(e,t){let n=k(t),r=k(e);for(let[e,t]of r){let r=n.get(e);r?tt(r,t):n.set(e,t)}return nt(n)}function k(e){let t=new Map;for(let n of e)w(p(n,{sourceType:`module`,plugins:[`typescript`]}),{ImportDeclaration(e){let{node:r}=e,i=r.source.value,a=t.get(i);a||(a={source:i,named:new Set,original:n},t.set(i,a));for(let e of r.specifiers)if(e.type===`ImportSpecifier`){let t=e.imported.type===`Identifier`?e.imported.name:e.imported.value;a.named.add(t)}else e.type===`ImportDefaultSpecifier`?a.defaultImport=e.local.name:e.type===`ImportNamespaceSpecifier`&&(a.namespaceImport=e.local.name)}});return t}function tt(e,t){for(let n of t.named)e.named.add(n);!e.defaultImport&&t.defaultImport&&(e.defaultImport=t.defaultImport),!e.namespaceImport&&t.namespaceImport&&(e.namespaceImport=t.namespaceImport)}function nt(e){let t=[];for(let[n,r]of e){if(n.includes(`_fallback_`)){t.push(r.original);continue}let e=[];if(r.defaultImport&&e.push(r.defaultImport),r.namespaceImport&&e.push(`* as ${r.namespaceImport}`),r.named.size>0){let t=Array.from(r.named).sort();e.push(`{ ${t.join(`, `)} }`)}e.length>0?t.push(`import ${e.join(`, `)} from '${n}'`):t.push(`import '${n}'`)}return t}var A=class{constructor(e,t){this.pageFiles=[],this.pagesConfig={},this.config=e,this.logger=t.logger.withScope(`PAGE`),this.oiyoRoot=t.oiyoRoot,this.oiyoLayout=t.oiyoLayout}get srcDir(){return s(this.config.rootDir,this.config.srcDir)}get mainPageDir(){return s(this.srcDir,this.config.dir.mainPackage)}get subPageDirs(){return this.config.dir.subPackages.map(e=>s(this.srcDir,e))}get pagesJsonPath(){return s(this.srcDir,`pages.json`)}async loadPagesConfig(){try{let{config:e,configFile:t}=await fe({name:`pages`,cwd:this.srcDir});this.pagesConfig=e||{}}catch{this.pagesConfig={},this.logger.warn(`加载 pages 配置失败,已采用空配置`)}return this.pagesConfig}async watchPagesConfig(e){if(this.pagesConfigWatcher)return;let t=await pe({name:`pages`,cwd:this.srcDir,acceptHMR({getDiff:e}){return e().length===0},onWatch:e=>{},onUpdate:({newConfig:t})=>{this.pagesConfig=t.config||{},this.writePagesJson(),e&&Promise.resolve(e()).catch(e=>{this.logger.error(`pages 配置更新回调失败,页面配置已更新但后续回调未完成`,{error:e})})}});this.pagesConfig=t.config||this.pagesConfig,this.pagesConfigWatcher=t}async unwatchPagesConfig(){this.pagesConfigWatcher&&=(await this.pagesConfigWatcher.unwatch(),void 0)}isPagePath(t){let n=i(t);return!n.endsWith(`.vue`)&&!n.endsWith(`.nvue`)||[...e,...this.config.exclude||[]].some(e=>r(n,e))?!1:[this.mainPageDir,...this.subPageDirs].some(e=>n.startsWith(`${e}/`))}toPageFile(e,t){let r=!0,i=this.mainPageDir,s=this.subPageDirs.find(t=>e.startsWith(`${t}/`));s&&(r=!1);let c=a(o(r?this.srcDir:s,e)),l=c.dir===``?c.name:n(c.dir,c.name),u=r?i:s;return{filePath:e,pagePath:l,pageBelong:o(this.srcDir,u),pageMeta:t}}setPageFile(e){let t=this.pageFiles.findIndex(({pagePath:t,pageBelong:n})=>t===e.pagePath&&n===e.pageBelong);if(t===-1)return this.pageFiles.push(e),!0;let n=this.pageFiles[t],r=JSON.stringify(n.pageMeta)!==JSON.stringify(e.pageMeta);return r&&(this.pageFiles[t]=e),r}async loadPagesJson(){try{let e=await ce(this.pagesJsonPath,`utf-8`),t=JSON.parse(e);for(let e of t.pages||[]){let{path:t,...n}=e,r=s(this.srcDir,e.path),i=this.toPageFile(r,n);this.setPageFile(i)}for(let e of t.subPackages||[]){let t=e.root;for(let n of e.pages||[]){let{path:e,...r}=n,i=s(this.srcDir,t,n.path);this.setPageFile(this.toPageFile(i,r))}}}catch(e){this.logger.error(`加载 pages.json 失败,已跳过现有文件内容,请检查 pages.json 是否存在且格式正确:`,{error:e})}}writePagesJson(e){try{let t=me(Ze(this.pageFiles),e||this.pagesConfig),n=`${JSON.stringify(t,null,2)}\n`;ke(this.pagesJsonPath,n)}catch(e){this.logger.error(`写入 pages.json 失败,请检查目标文件权限和内容格式:`,{error:e})}}async registerPages(){let e=[this.mainPageDir,...this.subPageDirs],t=(await Promise.all(e.map(e=>Oe({dir:e,extensions:[`.vue`,`.nvue`],exclude:this.config.exclude})))).flat(2);for(let e of t){let t=await ce(e,`utf-8`),n={},r=We(t);r&&(n=qe(r)),this.setPageFile(this.toPageFile(e,n))}return this.pageFiles}async tryUpdatePage(e,t){let n=qe(e);this.setPageFile(this.toPageFile(t,n))&&(this.writePagesJson(),await new Promise(e=>setTimeout(e,100)))}async transformPage(e,t){if(!this.oiyoRoot||!this.oiyoLayout)throw Error(`[oiyo] Dependencies are missing; please contact skiyee(319619193@qq.com) to fix them.`);let{descriptor:n}=v(e),r=new y(e);if(!n.template?.content)return{code:r.toString(),sourceMap:r.generateMap()};n.scriptSetup&&await this.tryUpdatePage(n.scriptSetup.content,t);let i=this.oiyoRoot.applyRoot(n),a=[...i.imports],o=i.template,s=i.script,c={};n.scriptSetup&&(c=this.pageFiles.find(e=>t.startsWith(e.filePath))?.pageMeta||{},s=Ke(s));let l=this.oiyoLayout.applyLayout(c.layout,o);if(o=l.template,a.push(...l.imports),r.overwrite(n.template.loc.start.offset,n.template.loc.end.offset,o),n.scriptSetup){let e=Qe(n.scriptSetup.content);a=et(a,e),s=$e(s),r.overwrite(n.scriptSetup.loc.start.offset,n.scriptSetup.loc.end.offset,`${a.join(`
|
|
9
9
|
`)}\n${s}`)}else if(s||a.length>0){let e=[`<script setup>`,...a,s,`<\/script>`].filter(Boolean).join(`
|
|
10
|
-
`);r.appendRight(n.template.loc.end.offset+11,`\n\n${e}`)}return{code:r.toString(),sourceMap:r.generateMap()}}};const j={FILE_TYPE:`files`,DIR_TYPE:`directories`,FILE_DIR_TYPE:`files_directories`,EVERYTHING_TYPE:`all`},M={root:`.`,fileFilter:e=>!0,directoryFilter:e=>!0,type:j.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(M);const N=`READDIRP_RECURSIVE_ERROR`,rt=new Set([`ENOENT`,`EPERM`,`EACCES`,`ELOOP`,N]),P=[j.DIR_TYPE,j.EVERYTHING_TYPE,j.FILE_DIR_TYPE,j.FILE_TYPE],it=new Set([j.DIR_TYPE,j.EVERYTHING_TYPE,j.FILE_DIR_TYPE]),at=new Set([j.EVERYTHING_TYPE,j.FILE_DIR_TYPE,j.FILE_TYPE]),ot=e=>rt.has(e.code),st=process.platform===`win32`,F=e=>!0,I=e=>{if(e===void 0)return F;if(typeof e==`function`)return e;if(typeof e==`string`){let t=e.trim();return e=>e.basename===t}if(Array.isArray(e)){let t=e.map(e=>e.trim());return e=>t.some(t=>e.basename===t)}return F};var ct=class extends Ce{constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let t={...M,...e},{root:n,type:r}=t;this._fileFilter=I(t.fileFilter),this._directoryFilter=I(t.directoryFilter);let i=t.lstat?le:pe;st?this._stat=e=>i(e,{bigint:!0}):this._stat=i,this._maxDepth=t.depth??M.depth,this._wantsDir=r?it.has(r):!1,this._wantsFile=r?at.has(r):!1,this._wantsEverything=r===j.EVERYTHING_TYPE,this._root=Ee(n),this._isDirent=!t.alwaysStat,this._statsProp=this._isDirent?`dirent`:`stats`,this._rdOptions={encoding:`utf8`,withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let t=this.parent,n=t&&t.files;if(n&&n.length>0){let{path:r,depth:i}=t,a=n.splice(0,e).map(e=>this._formatEntry(e,r)),o=await Promise.all(a);for(let t of o){if(!t)continue;if(this.destroyed)return;let n=await this._getEntryType(t);n===`directory`&&this._directoryFilter(t)?(i<=this._maxDepth&&this.parents.push(this._exploreDir(t.fullPath,i+1)),this._wantsDir&&(this.push(t),e--)):(n===`file`||this._includeAsFile(t))&&this._fileFilter(t)&&this._wantsFile&&(this.push(t),e--)}}else{let e=this.parents.pop();if(!e){this.push(null);break}if(this.parent=await e,this.destroyed)return}}}catch(e){this.destroy(e)}finally{this.reading=!1}}}async _exploreDir(e,t){let n;try{n=await de(e,this._rdOptions)}catch(e){this._onError(e)}return{files:n,depth:t,path:e}}async _formatEntry(e,t){let n,r=this._isDirent?e.name:e;try{let i=Ee(we(t,r));n={path:Te(this._root,i),fullPath:i,basename:r},n[this._statsProp]=this._isDirent?e:await this._stat(i)}catch(e){this._onError(e);return}return n}_onError(e){ot(e)&&!this.destroyed?this.emit(`warn`,e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return``;let t=e[this._statsProp];if(t.isFile())return`file`;if(t.isDirectory())return`directory`;if(t&&t.isSymbolicLink()){let t=e.fullPath;try{let e=await fe(t),n=await le(e);if(n.isFile())return`file`;if(n.isDirectory()){let n=e.length;if(t.startsWith(e)&&t.substr(n,1)===De){let n=Error(`Circular symlink detected: "${t}" points to "${e}"`);return n.code=N,this._onError(n)}return`directory`}}catch(e){return this._onError(e),``}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}};function lt(e,t={}){let n=t.entryType||t.type;if(n===`both`&&(n=j.FILE_DIR_TYPE),n&&(t.type=n),!e)throw Error(`readdirp: root argument is required. Usage: readdirp(root, options)`);if(typeof e!=`string`)throw TypeError(`readdirp: root argument must be a string. Usage: readdirp(root, options)`);if(n&&!P.includes(n))throw Error(`readdirp: Invalid type passed. Use one of ${P.join(`, `)}`);return t.root=e,new ct(t)}const L=()=>{},R=process.platform,ut=R===`win32`,dt=R===`darwin`,ft=R===`linux`,pt=R===`freebsd`,mt=Oe()===`OS400`,z={ALL:`all`,READY:`ready`,ADD:`add`,CHANGE:`change`,ADD_DIR:`addDir`,UNLINK:`unlink`,UNLINK_DIR:`unlinkDir`,RAW:`raw`,ERROR:`error`},B=z,ht={lstat:ye,stat:x},V=`listeners`,H=`errHandlers`,U=`rawEmitters`,gt=[V,H,U],_t=new Set(`3dm.3ds.3g2.3gp.7z.a.aac.adp.afdesign.afphoto.afpub.ai.aif.aiff.alz.ape.apk.appimage.ar.arj.asf.au.avi.bak.baml.bh.bin.bk.bmp.btif.bz2.bzip2.cab.caf.cgm.class.cmx.cpio.cr2.cur.dat.dcm.deb.dex.djvu.dll.dmg.dng.doc.docm.docx.dot.dotm.dra.DS_Store.dsk.dts.dtshd.dvb.dwg.dxf.ecelp4800.ecelp7470.ecelp9600.egg.eol.eot.epub.exe.f4v.fbs.fh.fla.flac.flatpak.fli.flv.fpx.fst.fvt.g3.gh.gif.graffle.gz.gzip.h261.h263.h264.icns.ico.ief.img.ipa.iso.jar.jpeg.jpg.jpgv.jpm.jxr.key.ktx.lha.lib.lvp.lz.lzh.lzma.lzo.m3u.m4a.m4v.mar.mdi.mht.mid.midi.mj2.mka.mkv.mmr.mng.mobi.mov.movie.mp3.mp4.mp4a.mpeg.mpg.mpga.mxu.nef.npx.numbers.nupkg.o.odp.ods.odt.oga.ogg.ogv.otf.ott.pages.pbm.pcx.pdb.pdf.pea.pgm.pic.png.pnm.pot.potm.potx.ppa.ppam.ppm.pps.ppsm.ppsx.ppt.pptm.pptx.psd.pya.pyc.pyo.pyv.qt.rar.ras.raw.resources.rgb.rip.rlc.rmf.rmvb.rpm.rtf.rz.s3m.s7z.scpt.sgi.shar.snap.sil.sketch.slk.smv.snk.so.stl.suo.sub.swf.tar.tbz.tbz2.tga.tgz.thmx.tif.tiff.tlz.ttc.ttf.txz.udf.uvh.uvi.uvm.uvp.uvs.uvu.viv.vob.war.wav.wax.wbmp.wdp.weba.webm.webp.whl.wim.wm.wma.wmv.wmx.woff.woff2.wrm.wvx.xbm.xif.xla.xlam.xls.xlsb.xlsm.xlsx.xlt.xltm.xltx.xm.xmind.xpi.xpm.xwd.xz.z.zip.zipx`.split(`.`)),vt=e=>_t.has(S.extname(e).slice(1).toLowerCase()),W=(e,t)=>{e instanceof Set?e.forEach(t):t(e)},G=(e,t,n)=>{let r=e[t];r instanceof Set||(e[t]=r=new Set([r])),r.add(n)},yt=e=>t=>{let n=e[t];n instanceof Set?n.clear():delete e[t]},K=(e,t,n)=>{let r=e[t];r instanceof Set?r.delete(n):r===n&&delete e[t]},bt=e=>e instanceof Set?e.size===0:!e,q=new Map;function xt(e,t,n,r,i){let a=(t,r)=>{n(e),i(t,r,{watchedPath:e}),r&&e!==r&&J(S.resolve(e,r),V,S.join(e,r))};try{return _e(e,{persistent:t.persistent},a)}catch(e){r(e);return}}const J=(e,t,n,r,i)=>{let a=q.get(e);a&&W(a[t],e=>{e(n,r,i)})},St=(e,t,n,r)=>{let{listener:i,errHandler:a,rawEmitter:o}=r,s=q.get(t),c;if(!n.persistent)return c=xt(e,n,i,a,o),c?c.close.bind(c):void 0;if(s)G(s,V,i),G(s,H,a),G(s,U,o);else{if(c=xt(e,n,J.bind(null,t,V),a,J.bind(null,t,U)),!c)return;c.on(B.ERROR,async n=>{let r=J.bind(null,t,H);if(s&&(s.watcherUnusable=!0),ut&&n.code===`EPERM`)try{await(await be(e,`r`)).close(),r(n)}catch{}else r(n)}),s={listeners:i,errHandlers:a,rawEmitters:o,watcher:c},q.set(t,s)}return()=>{K(s,V,i),K(s,H,a),K(s,U,o),bt(s.listeners)&&(s.watcher.close(),q.delete(t),gt.forEach(yt(s)),s.watcher=void 0,Object.freeze(s))}},Y=new Map,Ct=(e,t,n,r)=>{let{listener:i,rawEmitter:a}=r,o=Y.get(t),s=o&&o.options;return s&&(s.persistent<n.persistent||s.interval>n.interval)&&(y(t),o=void 0),o?(G(o,V,i),G(o,U,a)):(o={listeners:i,rawEmitters:a,options:n,watcher:ve(t,n,(n,r)=>{W(o.rawEmitters,e=>{e(B.CHANGE,t,{curr:n,prev:r})});let i=n.mtimeMs;(n.size!==r.size||i>r.mtimeMs||i===0)&&W(o.listeners,t=>t(e,n))})},Y.set(t,o)),()=>{K(o,V,i),K(o,U,a),bt(o.listeners)&&(Y.delete(t),y(t),o.options=o.watcher=void 0,Object.freeze(o))}};var wt=class{constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let n=this.fsw.options,r=S.dirname(e),i=S.basename(e);this.fsw._getWatchedDir(r).add(i);let a=S.resolve(e),o={persistent:n.persistent};t||=L;let s;return n.usePolling?(o.interval=n.interval!==n.binaryInterval&&vt(i)?n.binaryInterval:n.interval,s=Ct(e,a,o,{listener:t,rawEmitter:this.fsw._emitRaw})):s=St(e,a,o,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw}),s}_handleFile(e,t,n){if(this.fsw.closed)return;let r=S.dirname(e),i=S.basename(e),a=this.fsw._getWatchedDir(r),o=t;if(a.has(i))return;let s=async(t,n)=>{if(this.fsw._throttle(`watch`,e,5)){if(!n||n.mtimeMs===0)try{let n=await x(e);if(this.fsw.closed)return;let r=n.atimeMs,i=n.mtimeMs;if((!r||r<=i||i!==o.mtimeMs)&&this.fsw._emit(B.CHANGE,e,n),(dt||ft||pt)&&o.ino!==n.ino){this.fsw._closeFile(t),o=n;let r=this._watchWithNodeFs(e,s);r&&this.fsw._addPathCloser(t,r)}else o=n}catch{this.fsw._remove(r,i)}else if(a.has(i)){let t=n.atimeMs,r=n.mtimeMs;(!t||t<=r||r!==o.mtimeMs)&&this.fsw._emit(B.CHANGE,e,n),o=n}}},c=this._watchWithNodeFs(e,s);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(B.ADD,e,0))return;this.fsw._emit(B.ADD,e,t)}return c}async _handleSymlink(e,t,n,r){if(this.fsw.closed)return;let i=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let t;try{t=await b(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(r)?this.fsw._symlinkPaths.get(i)!==t&&(this.fsw._symlinkPaths.set(i,t),this.fsw._emit(B.CHANGE,n,e.stats)):(a.add(r),this.fsw._symlinkPaths.set(i,t),this.fsw._emit(B.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(i))return!0;this.fsw._symlinkPaths.set(i,!0)}_handleRead(e,t,n,r,i,a,o){if(e=S.join(e,``),o=this.fsw._throttle(`readdir`,e,1e3),!o)return;let s=this.fsw._getWatchedDir(n.path),c=new Set,l=this.fsw._readdirp(e,{fileFilter:e=>n.filterPath(e),directoryFilter:e=>n.filterDir(e)});if(l)return l.on(`data`,async o=>{if(this.fsw.closed){l=void 0;return}let u=o.path,d=S.join(e,u);if(c.add(u),!(o.stats.isSymbolicLink()&&await this._handleSymlink(o,e,d,u))){if(this.fsw.closed){l=void 0;return}(u===r||!r&&!s.has(u))&&(this.fsw._incrReadyCount(),d=S.join(i,S.relative(i,d)),this._addToNodeFs(d,t,n,a+1))}}).on(B.ERROR,this._boundHandleError),new Promise((t,u)=>{if(!l)return u();l.once(`end`,()=>{if(this.fsw.closed){l=void 0;return}let u=o?o.clear():!1;t(void 0),s.getChildren().filter(t=>t!==e&&!c.has(t)).forEach(t=>{this.fsw._remove(e,t)}),l=void 0,u&&this._handleRead(e,!1,n,r,i,a,o)})})}async _handleDir(e,t,n,r,i,a,o){let s=this.fsw._getWatchedDir(S.dirname(e)),c=s.has(S.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!i&&!c&&this.fsw._emit(B.ADD_DIR,e,t),s.add(S.basename(e)),this.fsw._getWatchedDir(e);let l,u=this.fsw.options.depth;if((u==null||r<=u)&&!this.fsw._symlinkPaths.has(o)){if(!i&&(await this._handleRead(e,n,a,i,e,r,void 0),this.fsw.closed))return;l=this._watchWithNodeFs(e,(t,n)=>{n&&n.mtimeMs===0||this._handleRead(t,!1,a,i,e,r,void 0)})}return l}async _addToNodeFs(e,t,n,r,i){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let o=this.fsw._getWatchHelpers(e);n&&(o.filterPath=e=>n.filterPath(e),o.filterDir=e=>n.filterDir(e));try{let n=await ht[o.statMethod](o.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(o.watchPath,n))return a(),!1;let s=this.fsw.options.followSymlinks,c;if(n.isDirectory()){let a=S.resolve(e),l=s?await b(e):e;if(this.fsw.closed||(c=await this._handleDir(o.watchPath,n,t,r,i,o,l),this.fsw.closed))return;a!==l&&l!==void 0&&this.fsw._symlinkPaths.set(a,l)}else if(n.isSymbolicLink()){let i=s?await b(e):e;if(this.fsw.closed)return;let a=S.dirname(o.watchPath);if(this.fsw._getWatchedDir(a).add(o.watchPath),this.fsw._emit(B.ADD,o.watchPath,n),c=await this._handleDir(a,n,t,r,e,o,i),this.fsw.closed)return;i!==void 0&&this.fsw._symlinkPaths.set(S.resolve(e),i)}else c=this._handleFile(o.watchPath,n,t);return a(),c&&this.fsw._addPathCloser(e,c),!1}catch(t){if(this.fsw._handleError(t))return a(),e}}};
|
|
10
|
+
`);r.appendRight(n.template.loc.end.offset+11,`\n\n${e}`)}return{code:r.toString(),sourceMap:r.generateMap()}}};const j={FILE_TYPE:`files`,DIR_TYPE:`directories`,FILE_DIR_TYPE:`files_directories`,EVERYTHING_TYPE:`all`},M={root:`.`,fileFilter:e=>!0,directoryFilter:e=>!0,type:j.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(M);const N=`READDIRP_RECURSIVE_ERROR`,rt=new Set([`ENOENT`,`EPERM`,`EACCES`,`ELOOP`,N]),P=[j.DIR_TYPE,j.EVERYTHING_TYPE,j.FILE_DIR_TYPE,j.FILE_TYPE],it=new Set([j.DIR_TYPE,j.EVERYTHING_TYPE,j.FILE_DIR_TYPE]),at=new Set([j.EVERYTHING_TYPE,j.FILE_DIR_TYPE,j.FILE_TYPE]),ot=e=>rt.has(e.code),st=process.platform===`win32`,F=e=>!0,I=e=>{if(e===void 0)return F;if(typeof e==`function`)return e;if(typeof e==`string`){let t=e.trim();return e=>e.basename===t}if(Array.isArray(e)){let t=e.map(e=>e.trim());return e=>t.some(t=>e.basename===t)}return F};var ct=class extends Se{constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let t={...M,...e},{root:n,type:r}=t;this._fileFilter=I(t.fileFilter),this._directoryFilter=I(t.directoryFilter);let i=t.lstat?se:de;st?this._stat=e=>i(e,{bigint:!0}):this._stat=i,this._maxDepth=t.depth??M.depth,this._wantsDir=r?it.has(r):!1,this._wantsFile=r?at.has(r):!1,this._wantsEverything=r===j.EVERYTHING_TYPE,this._root=Te(n),this._isDirent=!t.alwaysStat,this._statsProp=this._isDirent?`dirent`:`stats`,this._rdOptions={encoding:`utf8`,withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let t=this.parent,n=t&&t.files;if(n&&n.length>0){let{path:r,depth:i}=t,a=n.splice(0,e).map(e=>this._formatEntry(e,r)),o=await Promise.all(a);for(let t of o){if(!t)continue;if(this.destroyed)return;let n=await this._getEntryType(t);n===`directory`&&this._directoryFilter(t)?(i<=this._maxDepth&&this.parents.push(this._exploreDir(t.fullPath,i+1)),this._wantsDir&&(this.push(t),e--)):(n===`file`||this._includeAsFile(t))&&this._fileFilter(t)&&this._wantsFile&&(this.push(t),e--)}}else{let e=this.parents.pop();if(!e){this.push(null);break}if(this.parent=await e,this.destroyed)return}}}catch(e){this.destroy(e)}finally{this.reading=!1}}}async _exploreDir(e,t){let n;try{n=await le(e,this._rdOptions)}catch(e){this._onError(e)}return{files:n,depth:t,path:e}}async _formatEntry(e,t){let n,r=this._isDirent?e.name:e;try{let i=Te(Ce(t,r));n={path:we(this._root,i),fullPath:i,basename:r},n[this._statsProp]=this._isDirent?e:await this._stat(i)}catch(e){this._onError(e);return}return n}_onError(e){ot(e)&&!this.destroyed?this.emit(`warn`,e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return``;let t=e[this._statsProp];if(t.isFile())return`file`;if(t.isDirectory())return`directory`;if(t&&t.isSymbolicLink()){let t=e.fullPath;try{let e=await ue(t),n=await se(e);if(n.isFile())return`file`;if(n.isDirectory()){let n=e.length;if(t.startsWith(e)&&t.substr(n,1)===Ee){let n=Error(`Circular symlink detected: "${t}" points to "${e}"`);return n.code=N,this._onError(n)}return`directory`}}catch(e){return this._onError(e),``}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}};function lt(e,t={}){let n=t.entryType||t.type;if(n===`both`&&(n=j.FILE_DIR_TYPE),n&&(t.type=n),!e)throw Error(`readdirp: root argument is required. Usage: readdirp(root, options)`);if(typeof e!=`string`)throw TypeError(`readdirp: root argument must be a string. Usage: readdirp(root, options)`);if(n&&!P.includes(n))throw Error(`readdirp: Invalid type passed. Use one of ${P.join(`, `)}`);return t.root=e,new ct(t)}const L=()=>{},R=process.platform,ut=R===`win32`,dt=R===`darwin`,ft=R===`linux`,pt=R===`freebsd`,mt=De()===`OS400`,z={ALL:`all`,READY:`ready`,ADD:`add`,CHANGE:`change`,ADD_DIR:`addDir`,UNLINK:`unlink`,UNLINK_DIR:`unlinkDir`,RAW:`raw`,ERROR:`error`},B=z,ht={lstat:ve,stat:S},V=`listeners`,H=`errHandlers`,U=`rawEmitters`,gt=[V,H,U],_t=new Set(`3dm.3ds.3g2.3gp.7z.a.aac.adp.afdesign.afphoto.afpub.ai.aif.aiff.alz.ape.apk.appimage.ar.arj.asf.au.avi.bak.baml.bh.bin.bk.bmp.btif.bz2.bzip2.cab.caf.cgm.class.cmx.cpio.cr2.cur.dat.dcm.deb.dex.djvu.dll.dmg.dng.doc.docm.docx.dot.dotm.dra.DS_Store.dsk.dts.dtshd.dvb.dwg.dxf.ecelp4800.ecelp7470.ecelp9600.egg.eol.eot.epub.exe.f4v.fbs.fh.fla.flac.flatpak.fli.flv.fpx.fst.fvt.g3.gh.gif.graffle.gz.gzip.h261.h263.h264.icns.ico.ief.img.ipa.iso.jar.jpeg.jpg.jpgv.jpm.jxr.key.ktx.lha.lib.lvp.lz.lzh.lzma.lzo.m3u.m4a.m4v.mar.mdi.mht.mid.midi.mj2.mka.mkv.mmr.mng.mobi.mov.movie.mp3.mp4.mp4a.mpeg.mpg.mpga.mxu.nef.npx.numbers.nupkg.o.odp.ods.odt.oga.ogg.ogv.otf.ott.pages.pbm.pcx.pdb.pdf.pea.pgm.pic.png.pnm.pot.potm.potx.ppa.ppam.ppm.pps.ppsm.ppsx.ppt.pptm.pptx.psd.pya.pyc.pyo.pyv.qt.rar.ras.raw.resources.rgb.rip.rlc.rmf.rmvb.rpm.rtf.rz.s3m.s7z.scpt.sgi.shar.snap.sil.sketch.slk.smv.snk.so.stl.suo.sub.swf.tar.tbz.tbz2.tga.tgz.thmx.tif.tiff.tlz.ttc.ttf.txz.udf.uvh.uvi.uvm.uvp.uvs.uvu.viv.vob.war.wav.wax.wbmp.wdp.weba.webm.webp.whl.wim.wm.wma.wmv.wmx.woff.woff2.wrm.wvx.xbm.xif.xla.xlam.xls.xlsb.xlsm.xlsx.xlt.xltm.xltx.xm.xmind.xpi.xpm.xwd.xz.z.zip.zipx`.split(`.`)),vt=e=>_t.has(C.extname(e).slice(1).toLowerCase()),W=(e,t)=>{e instanceof Set?e.forEach(t):t(e)},G=(e,t,n)=>{let r=e[t];r instanceof Set||(e[t]=r=new Set([r])),r.add(n)},yt=e=>t=>{let n=e[t];n instanceof Set?n.clear():delete e[t]},K=(e,t,n)=>{let r=e[t];r instanceof Set?r.delete(n):r===n&&delete e[t]},bt=e=>e instanceof Set?e.size===0:!e,q=new Map;function xt(e,t,n,r,i){let a=(t,r)=>{n(e),i(t,r,{watchedPath:e}),r&&e!==r&&J(C.resolve(e,r),V,C.join(e,r))};try{return ge(e,{persistent:t.persistent},a)}catch(e){r(e);return}}const J=(e,t,n,r,i)=>{let a=q.get(e);a&&W(a[t],e=>{e(n,r,i)})},St=(e,t,n,r)=>{let{listener:i,errHandler:a,rawEmitter:o}=r,s=q.get(t),c;if(!n.persistent)return c=xt(e,n,i,a,o),c?c.close.bind(c):void 0;if(s)G(s,V,i),G(s,H,a),G(s,U,o);else{if(c=xt(e,n,J.bind(null,t,V),a,J.bind(null,t,U)),!c)return;c.on(B.ERROR,async n=>{let r=J.bind(null,t,H);if(s&&(s.watcherUnusable=!0),ut&&n.code===`EPERM`)try{await(await ye(e,`r`)).close(),r(n)}catch{}else r(n)}),s={listeners:i,errHandlers:a,rawEmitters:o,watcher:c},q.set(t,s)}return()=>{K(s,V,i),K(s,H,a),K(s,U,o),bt(s.listeners)&&(s.watcher.close(),q.delete(t),gt.forEach(yt(s)),s.watcher=void 0,Object.freeze(s))}},Y=new Map,Ct=(e,t,n,r)=>{let{listener:i,rawEmitter:a}=r,o=Y.get(t),s=o&&o.options;return s&&(s.persistent<n.persistent||s.interval>n.interval)&&(b(t),o=void 0),o?(G(o,V,i),G(o,U,a)):(o={listeners:i,rawEmitters:a,options:n,watcher:_e(t,n,(n,r)=>{W(o.rawEmitters,e=>{e(B.CHANGE,t,{curr:n,prev:r})});let i=n.mtimeMs;(n.size!==r.size||i>r.mtimeMs||i===0)&&W(o.listeners,t=>t(e,n))})},Y.set(t,o)),()=>{K(o,V,i),K(o,U,a),bt(o.listeners)&&(Y.delete(t),b(t),o.options=o.watcher=void 0,Object.freeze(o))}};var wt=class{constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let n=this.fsw.options,r=C.dirname(e),i=C.basename(e);this.fsw._getWatchedDir(r).add(i);let a=C.resolve(e),o={persistent:n.persistent};t||=L;let s;return n.usePolling?(o.interval=n.interval!==n.binaryInterval&&vt(i)?n.binaryInterval:n.interval,s=Ct(e,a,o,{listener:t,rawEmitter:this.fsw._emitRaw})):s=St(e,a,o,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw}),s}_handleFile(e,t,n){if(this.fsw.closed)return;let r=C.dirname(e),i=C.basename(e),a=this.fsw._getWatchedDir(r),o=t;if(a.has(i))return;let s=async(t,n)=>{if(this.fsw._throttle(`watch`,e,5)){if(!n||n.mtimeMs===0)try{let n=await S(e);if(this.fsw.closed)return;let r=n.atimeMs,i=n.mtimeMs;if((!r||r<=i||i!==o.mtimeMs)&&this.fsw._emit(B.CHANGE,e,n),(dt||ft||pt)&&o.ino!==n.ino){this.fsw._closeFile(t),o=n;let r=this._watchWithNodeFs(e,s);r&&this.fsw._addPathCloser(t,r)}else o=n}catch{this.fsw._remove(r,i)}else if(a.has(i)){let t=n.atimeMs,r=n.mtimeMs;(!t||t<=r||r!==o.mtimeMs)&&this.fsw._emit(B.CHANGE,e,n),o=n}}},c=this._watchWithNodeFs(e,s);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(B.ADD,e,0))return;this.fsw._emit(B.ADD,e,t)}return c}async _handleSymlink(e,t,n,r){if(this.fsw.closed)return;let i=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let t;try{t=await x(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(r)?this.fsw._symlinkPaths.get(i)!==t&&(this.fsw._symlinkPaths.set(i,t),this.fsw._emit(B.CHANGE,n,e.stats)):(a.add(r),this.fsw._symlinkPaths.set(i,t),this.fsw._emit(B.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(i))return!0;this.fsw._symlinkPaths.set(i,!0)}_handleRead(e,t,n,r,i,a,o){if(e=C.join(e,``),o=this.fsw._throttle(`readdir`,e,1e3),!o)return;let s=this.fsw._getWatchedDir(n.path),c=new Set,l=this.fsw._readdirp(e,{fileFilter:e=>n.filterPath(e),directoryFilter:e=>n.filterDir(e)});if(l)return l.on(`data`,async o=>{if(this.fsw.closed){l=void 0;return}let u=o.path,d=C.join(e,u);if(c.add(u),!(o.stats.isSymbolicLink()&&await this._handleSymlink(o,e,d,u))){if(this.fsw.closed){l=void 0;return}(u===r||!r&&!s.has(u))&&(this.fsw._incrReadyCount(),d=C.join(i,C.relative(i,d)),this._addToNodeFs(d,t,n,a+1))}}).on(B.ERROR,this._boundHandleError),new Promise((t,u)=>{if(!l)return u();l.once(`end`,()=>{if(this.fsw.closed){l=void 0;return}let u=o?o.clear():!1;t(void 0),s.getChildren().filter(t=>t!==e&&!c.has(t)).forEach(t=>{this.fsw._remove(e,t)}),l=void 0,u&&this._handleRead(e,!1,n,r,i,a,o)})})}async _handleDir(e,t,n,r,i,a,o){let s=this.fsw._getWatchedDir(C.dirname(e)),c=s.has(C.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!i&&!c&&this.fsw._emit(B.ADD_DIR,e,t),s.add(C.basename(e)),this.fsw._getWatchedDir(e);let l,u=this.fsw.options.depth;if((u==null||r<=u)&&!this.fsw._symlinkPaths.has(o)){if(!i&&(await this._handleRead(e,n,a,i,e,r,void 0),this.fsw.closed))return;l=this._watchWithNodeFs(e,(t,n)=>{n&&n.mtimeMs===0||this._handleRead(t,!1,a,i,e,r,void 0)})}return l}async _addToNodeFs(e,t,n,r,i){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let o=this.fsw._getWatchHelpers(e);n&&(o.filterPath=e=>n.filterPath(e),o.filterDir=e=>n.filterDir(e));try{let n=await ht[o.statMethod](o.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(o.watchPath,n))return a(),!1;let s=this.fsw.options.followSymlinks,c;if(n.isDirectory()){let a=C.resolve(e),l=s?await x(e):e;if(this.fsw.closed||(c=await this._handleDir(o.watchPath,n,t,r,i,o,l),this.fsw.closed))return;a!==l&&l!==void 0&&this.fsw._symlinkPaths.set(a,l)}else if(n.isSymbolicLink()){let i=s?await x(e):e;if(this.fsw.closed)return;let a=C.dirname(o.watchPath);if(this.fsw._getWatchedDir(a).add(o.watchPath),this.fsw._emit(B.ADD,o.watchPath,n),c=await this._handleDir(a,n,t,r,e,o,i),this.fsw.closed)return;i!==void 0&&this.fsw._symlinkPaths.set(C.resolve(e),i)}else c=this._handleFile(o.watchPath,n,t);return a(),c&&this.fsw._addPathCloser(e,c),!1}catch(t){if(this.fsw._handleError(t))return a(),e}}};
|
|
11
11
|
/*! chokidar - MIT License (c) 2012 Paul Miller (paulmillr.com) */
|
|
12
|
-
const Tt=/\\/g,Et=/\/\//,Dt=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,Ot=/^\.[/\\]/;function X(e){return Array.isArray(e)?e:[e]}const Z=e=>typeof e==`object`&&!!e&&!(e instanceof RegExp);function kt(e){return typeof e==`function`?e:typeof e==`string`?t=>e===t:e instanceof RegExp?t=>e.test(t):typeof e==`object`&&e?t=>{if(e.path===t)return!0;if(e.recursive){let n=S.relative(e.path,t);return n?!n.startsWith(`..`)&&!S.isAbsolute(n):!1}return!1}:()=>!1}function At(e){if(typeof e!=`string`)throw Error(`string expected`);e=S.normalize(e),e=e.replace(/\\/g,`/`);let t=!1;e.startsWith(`//`)&&(t=!0);let n=/\/\//;for(;e.match(n);)e=e.replace(n,`/`);return t&&(e=`/`+e),e}function jt(e,t,n){let r=At(t);for(let t=0;t<e.length;t++){let i=e[t];if(i(r,n))return!0}return!1}function Mt(e,t){if(e==null)throw TypeError(`anymatch: specify first argument`);let n=X(e).map(e=>kt(e));return t==null?(e,t)=>jt(n,e,t):jt(n,t)}const Q=e=>{let t=X(e).flat();if(!t.every(e=>typeof e==`string`))throw TypeError(`Non-string provided as watch path: ${t}`);return t.map(Pt)},Nt=e=>{let t=e.replace(Tt,`/`),n=!1;for(t.startsWith(`//`)&&(n=!0);t.match(Et);)t=t.replace(Et,`/`);return n&&(t=`/`+t),t},Pt=e=>Nt(S.normalize(Nt(e))),Ft=(e=``)=>t=>typeof t==`string`?Pt(S.isAbsolute(t)?t:S.join(e,t)):t,It=(e,t)=>S.isAbsolute(e)?e:S.join(t,e),Lt=Object.freeze(new Set);var Rt=class{constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==`.`&&e!==`..`&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let n=this.path;try{await xe(n)}catch{this._removeWatcher&&this._removeWatcher(S.dirname(n),S.basename(n))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path=``,this._removeWatcher=L,this.items=Lt,Object.freeze(this)}},zt=class{constructor(e,t,n){this.fsw=n;let r=e;this.path=e=e.replace(Ot,``),this.watchPath=r,this.fullWatchPath=S.resolve(r),this.dirParts=[],this.dirParts.forEach(e=>{e.length>1&&e.pop()}),this.followSymlinks=t,this.statMethod=t?`stat`:`lstat`}entryPath(e){return S.join(this.watchPath,S.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return this.fsw._isntIgnored(n,t)&&this.fsw._hasReadPermissions(t)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},Bt=class extends Se{constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let t=e.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?X(e.ignored):X([]),awaitWriteFinish:t===!0?n:typeof t==`object`?{...n,...t}:!1};mt&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let e=i.toLowerCase();e===`false`||e===`0`?r.usePolling=!1:e===`true`||e===`1`?r.usePolling=!0:r.usePolling=!!e}let a=process.env.CHOKIDAR_INTERVAL;a&&(r.interval=Number.parseInt(a,10));let o=0;this._emitReady=()=>{o++,o>=this._readyCount&&(this._emitReady=L,this._readyEmitted=!0,process.nextTick(()=>this.emit(z.READY)))},this._emitRaw=(...e)=>this.emit(z.RAW,...e),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new wt(this),Object.freeze(r)}_addIgnoredPath(e){if(Z(e)){for(let t of this._ignoredPaths)if(Z(t)&&t.path===e.path&&t.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e==`string`)for(let t of this._ignoredPaths)Z(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,n){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let i=Q(e);return r&&(i=i.map(e=>It(e,r))),i.forEach(e=>{this._removeIgnoredPath(e)}),this._userIgnored=void 0,this._readyCount||=0,this._readyCount+=i.length,Promise.all(i.map(async e=>{let r=await this._nodeFsHandler._addToNodeFs(e,!n,void 0,0,t);return r&&this._emitReady(),r})).then(e=>{this.closed||e.forEach(e=>{e&&this.add(S.dirname(e),S.basename(t||e))})}),this}unwatch(e){if(this.closed)return this;let t=Q(e),{cwd:n}=this.options;return t.forEach(e=>{!S.isAbsolute(e)&&!this._closers.has(e)&&(n&&(e=S.join(n,e)),e=S.resolve(e)),this._closePath(e),this._addIgnoredPath(e),this._watched.has(e)&&this._addIgnoredPath({path:e,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(t=>{let n=t();n instanceof Promise&&e.push(n)})),this._streams.forEach(e=>e.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(e=>e.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>void 0):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,n)=>{let r=(this.options.cwd?S.relative(this.options.cwd,n):n)||`.`;e[r]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==z.ERROR&&this.emit(z.ALL,e,...t)}async _emit(e,t,n){if(this.closed)return;let r=this.options;ut&&(t=S.normalize(t)),r.cwd&&(t=S.relative(r.cwd,t));let i=[t];n!=null&&i.push(n);let a=r.awaitWriteFinish,o;if(a&&(o=this._pendingWrites.get(t)))return o.lastChange=new Date,this;if(r.atomic){if(e===z.UNLINK)return this._pendingUnlinks.set(t,[e,...i]),setTimeout(()=>{this._pendingUnlinks.forEach((e,t)=>{this.emit(...e),this.emit(z.ALL,...e),this._pendingUnlinks.delete(t)})},typeof r.atomic==`number`?r.atomic:100),this;e===z.ADD&&this._pendingUnlinks.has(t)&&(e=z.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===z.ADD||e===z.CHANGE)&&this._readyEmitted)return this._awaitWriteFinish(t,a.stabilityThreshold,e,(t,n)=>{t?(e=z.ERROR,i[0]=t,this.emitWithAll(e,i)):n&&(i.length>1?i[1]=n:i.push(n),this.emitWithAll(e,i))}),this;if(e===z.CHANGE&&!this._throttle(z.CHANGE,t,50))return this;if(r.alwaysStat&&n===void 0&&(e===z.ADD||e===z.ADD_DIR||e===z.CHANGE)){let e=r.cwd?S.join(r.cwd,t):t,n;try{n=await x(e)}catch{}if(!n||this.closed)return;i.push(n)}return this.emitWithAll(e,i),this}_handleError(e){let t=e&&e.code;return e&&t!==`ENOENT`&&t!==`ENOTDIR`&&(!this.options.ignorePermissionErrors||t!==`EPERM`&&t!==`EACCES`)&&this.emit(z.ERROR,e),e||this.closed}_throttle(e,t,n){this._throttled.has(e)||this._throttled.set(e,new Map);let r=this._throttled.get(e);if(!r)throw Error(`invalid throttle`);let i=r.get(t);if(i)return i.count++,!1;let a,o=()=>{let e=r.get(t),n=e?e.count:0;return r.delete(t),clearTimeout(a),e&&clearTimeout(e.timeoutObject),n};a=setTimeout(o,n);let s={timeoutObject:a,clear:o,count:0};return r.set(t,s),s}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,n,r){let i=this.options.awaitWriteFinish;if(typeof i!=`object`)return;let a=i.pollInterval,o,s=e;this.options.cwd&&!S.isAbsolute(e)&&(s=S.join(this.options.cwd,e));let c=new Date,l=this._pendingWrites;function u(n){ge(s,(i,s)=>{if(i||!l.has(e)){i&&i.code!==`ENOENT`&&r(i);return}let c=Number(new Date);n&&s.size!==n.size&&(l.get(e).lastChange=c),c-l.get(e).lastChange>=t?(l.delete(e),r(void 0,s)):o=setTimeout(u,a,s)})}l.has(e)||(l.set(e,{lastChange:c,cancelWait:()=>(l.delete(e),clearTimeout(o),n)}),o=setTimeout(u,a))}_isIgnored(e,t){if(this.options.atomic&&Dt.test(e))return!0;if(!this._userIgnored){let{cwd:e}=this.options,t=(this.options.ignored||[]).map(Ft(e));this._userIgnored=Mt([...[...this._ignoredPaths].map(Ft(e)),...t],void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new zt(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=S.resolve(e);return this._watched.has(t)||this._watched.set(t,new Rt(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,n){let r=S.join(e,t),i=S.resolve(r);if(n??=this._watched.has(r)||this._watched.has(i),!this._throttle(`remove`,r,100))return;!n&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(r).getChildren().forEach(e=>this._remove(r,e));let a=this._getWatchedDir(e),o=a.has(t);a.remove(t),this._symlinkPaths.has(i)&&this._symlinkPaths.delete(i);let s=r;if(this.options.cwd&&(s=S.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(s)&&this._pendingWrites.get(s).cancelWait()===z.ADD)return;this._watched.delete(r),this._watched.delete(i);let c=n?z.UNLINK_DIR:z.UNLINK;o&&!this._isIgnored(r)&&this._emit(c,r),this._closePath(r)}_closePath(e){this._closeFile(e);let t=S.dirname(e);this._getWatchedDir(t).remove(S.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(e=>e()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(t)}_readdirp(e,t){if(this.closed)return;let n=lt(e,{type:z.ALL,alwaysStat:!0,lstat:!0,...t,depth:0});return this._streams.add(n),n.once(`close`,()=>{n=void 0}),n.once(`end`,()=>{n&&=(this._streams.delete(n),void 0)}),n}};function Vt(e,t={}){let n=new Bt(t);return n.add(e),n}function Ht(e){if(!e.includes(`defineRootContext`))return``;let{descriptor:t}=g(e);if(!t.scriptSetup)return``;let n=e=t.scriptSetup.content,r=Ut(n);return n.substring(r.start,r.end+1).trim()}function Ut(e){return Me(e,`defineRootContext`)}function Wt(e){if(!e.includes(`<template`))return``;let{descriptor:t}=g(e);return(t.template?.content||``).trim()}function Gt(e,t){if(!e)throw Error(`[oiyo] App.vue 必须包含 <template> 节点`);let n=e.content;if(!(n.includes(`<OiyoPage`)||n.includes(`<oiyo-page`)))throw Error(`[oiyo] App.vue 的 template 必须包含 <OiyoPage /> 或 <oiyo-page /> 占位节点`);if(t.varName&&(n=n.replace(RegExp(`\\b${t.varName}\\b`,`g`),`$oiyoRootContext`)),t.varProperties?.length)for(let{local:e,original:r}of t.varProperties)n=n.replace(RegExp(`\\b${e}\\b`,`g`),`$oiyoRootContext.${r}`);return n.trim()}function Kt(e){if(!e)return;let t=e?.content;if(t){let e=qt(t);return e.script?e:void 0}}function qt(e){let t=p(e,{sourceType:`module`,plugins:[`typescript`]}),n={};return C(t,{ImportDeclaration(t){let r=e.substring(t.node.start,t.node.end);n.imports??=[],n.imports.push(r)},CallExpression(t){let{callee:r,arguments:i}=t.node;if(r.type===`Identifier`&&r.name===`defineRootContext`&&i.length>0){let r=i[0];r.start!=null&&r.end!=null&&(n.script=e.substring(r.start,r.end));let a=t.findParent(e=>e.isVariableDeclarator());if(a&&a.isVariableDeclarator()){let e=a.node.id;e.type===`Identifier`?n.variable=e.name:e.type===`ObjectPattern`&&(n.properties=e.properties.filter(e=>e.type===`ObjectProperty`).map(e=>({original:e.key.type===`Identifier`?e.key.name:String(e.key.value),local:e.value.type===`Identifier`?e.value.name:e.key.name})))}}}}),n}function Jt(e,t){let n=e;return n=n.replace(/<OiyoPage[^>]*?\/>/g,t),n=n.replace(/<OiyoPage[^>]*>\s*<\/OiyoPage>/g,t),n=n.replace(/<oiyo-page[^>]*?\/>/g,t),n=n.replace(/<oiyo-page[^>]*>\s*<\/oiyo-page>/g,t),n}const Yt=`virtual:oiyo-root-context`,$=`\0${Yt}`;function Xt(e){let{script:t,imports:n}=e,r=[];return n?.length&&(r.push(...n),r.push(``)),t?(r.push(`let rootContextInstance = null`),r.push(``),r.push(`export function useRootContext() {`),r.push(`if (!rootContextInstance) {`),r.push(`const factory = ${t}`),r.push(`rootContextInstance = factory()`),r.push(`}`),r.push(`return rootContextInstance`),r.push(`}`)):(r.push(`export function useRootContext() {`),r.push(`return {}`),r.push(`}`)),r.join(`
|
|
13
|
-
`)}var
|
|
12
|
+
const Tt=/\\/g,Et=/\/\//,Dt=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,Ot=/^\.[/\\]/;function X(e){return Array.isArray(e)?e:[e]}const Z=e=>typeof e==`object`&&!!e&&!(e instanceof RegExp);function kt(e){return typeof e==`function`?e:typeof e==`string`?t=>e===t:e instanceof RegExp?t=>e.test(t):typeof e==`object`&&e?t=>{if(e.path===t)return!0;if(e.recursive){let n=C.relative(e.path,t);return n?!n.startsWith(`..`)&&!C.isAbsolute(n):!1}return!1}:()=>!1}function At(e){if(typeof e!=`string`)throw Error(`string expected`);e=C.normalize(e),e=e.replace(/\\/g,`/`);let t=!1;e.startsWith(`//`)&&(t=!0);let n=/\/\//;for(;e.match(n);)e=e.replace(n,`/`);return t&&(e=`/`+e),e}function jt(e,t,n){let r=At(t);for(let t=0;t<e.length;t++){let i=e[t];if(i(r,n))return!0}return!1}function Mt(e,t){if(e==null)throw TypeError(`anymatch: specify first argument`);let n=X(e).map(e=>kt(e));return t==null?(e,t)=>jt(n,e,t):jt(n,t)}const Q=e=>{let t=X(e).flat();if(!t.every(e=>typeof e==`string`))throw TypeError(`Non-string provided as watch path: ${t}`);return t.map(Pt)},Nt=e=>{let t=e.replace(Tt,`/`),n=!1;for(t.startsWith(`//`)&&(n=!0);t.match(Et);)t=t.replace(Et,`/`);return n&&(t=`/`+t),t},Pt=e=>Nt(C.normalize(Nt(e))),Ft=(e=``)=>t=>typeof t==`string`?Pt(C.isAbsolute(t)?t:C.join(e,t)):t,It=(e,t)=>C.isAbsolute(e)?e:C.join(t,e),Lt=Object.freeze(new Set);var Rt=class{constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==`.`&&e!==`..`&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let n=this.path;try{await be(n)}catch{this._removeWatcher&&this._removeWatcher(C.dirname(n),C.basename(n))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path=``,this._removeWatcher=L,this.items=Lt,Object.freeze(this)}},zt=class{constructor(e,t,n){this.fsw=n;let r=e;this.path=e=e.replace(Ot,``),this.watchPath=r,this.fullWatchPath=C.resolve(r),this.dirParts=[],this.dirParts.forEach(e=>{e.length>1&&e.pop()}),this.followSymlinks=t,this.statMethod=t?`stat`:`lstat`}entryPath(e){return C.join(this.watchPath,C.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return this.fsw._isntIgnored(n,t)&&this.fsw._hasReadPermissions(t)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},Bt=class extends xe{constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let t=e.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?X(e.ignored):X([]),awaitWriteFinish:t===!0?n:typeof t==`object`?{...n,...t}:!1};mt&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let e=i.toLowerCase();e===`false`||e===`0`?r.usePolling=!1:e===`true`||e===`1`?r.usePolling=!0:r.usePolling=!!e}let a=process.env.CHOKIDAR_INTERVAL;a&&(r.interval=Number.parseInt(a,10));let o=0;this._emitReady=()=>{o++,o>=this._readyCount&&(this._emitReady=L,this._readyEmitted=!0,process.nextTick(()=>this.emit(z.READY)))},this._emitRaw=(...e)=>this.emit(z.RAW,...e),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new wt(this),Object.freeze(r)}_addIgnoredPath(e){if(Z(e)){for(let t of this._ignoredPaths)if(Z(t)&&t.path===e.path&&t.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e==`string`)for(let t of this._ignoredPaths)Z(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,n){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let i=Q(e);return r&&(i=i.map(e=>It(e,r))),i.forEach(e=>{this._removeIgnoredPath(e)}),this._userIgnored=void 0,this._readyCount||=0,this._readyCount+=i.length,Promise.all(i.map(async e=>{let r=await this._nodeFsHandler._addToNodeFs(e,!n,void 0,0,t);return r&&this._emitReady(),r})).then(e=>{this.closed||e.forEach(e=>{e&&this.add(C.dirname(e),C.basename(t||e))})}),this}unwatch(e){if(this.closed)return this;let t=Q(e),{cwd:n}=this.options;return t.forEach(e=>{!C.isAbsolute(e)&&!this._closers.has(e)&&(n&&(e=C.join(n,e)),e=C.resolve(e)),this._closePath(e),this._addIgnoredPath(e),this._watched.has(e)&&this._addIgnoredPath({path:e,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(t=>{let n=t();n instanceof Promise&&e.push(n)})),this._streams.forEach(e=>e.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(e=>e.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>void 0):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,n)=>{let r=(this.options.cwd?C.relative(this.options.cwd,n):n)||`.`;e[r]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==z.ERROR&&this.emit(z.ALL,e,...t)}async _emit(e,t,n){if(this.closed)return;let r=this.options;ut&&(t=C.normalize(t)),r.cwd&&(t=C.relative(r.cwd,t));let i=[t];n!=null&&i.push(n);let a=r.awaitWriteFinish,o;if(a&&(o=this._pendingWrites.get(t)))return o.lastChange=new Date,this;if(r.atomic){if(e===z.UNLINK)return this._pendingUnlinks.set(t,[e,...i]),setTimeout(()=>{this._pendingUnlinks.forEach((e,t)=>{this.emit(...e),this.emit(z.ALL,...e),this._pendingUnlinks.delete(t)})},typeof r.atomic==`number`?r.atomic:100),this;e===z.ADD&&this._pendingUnlinks.has(t)&&(e=z.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===z.ADD||e===z.CHANGE)&&this._readyEmitted)return this._awaitWriteFinish(t,a.stabilityThreshold,e,(t,n)=>{t?(e=z.ERROR,i[0]=t,this.emitWithAll(e,i)):n&&(i.length>1?i[1]=n:i.push(n),this.emitWithAll(e,i))}),this;if(e===z.CHANGE&&!this._throttle(z.CHANGE,t,50))return this;if(r.alwaysStat&&n===void 0&&(e===z.ADD||e===z.ADD_DIR||e===z.CHANGE)){let e=r.cwd?C.join(r.cwd,t):t,n;try{n=await S(e)}catch{}if(!n||this.closed)return;i.push(n)}return this.emitWithAll(e,i),this}_handleError(e){let t=e&&e.code;return e&&t!==`ENOENT`&&t!==`ENOTDIR`&&(!this.options.ignorePermissionErrors||t!==`EPERM`&&t!==`EACCES`)&&this.emit(z.ERROR,e),e||this.closed}_throttle(e,t,n){this._throttled.has(e)||this._throttled.set(e,new Map);let r=this._throttled.get(e);if(!r)throw Error(`invalid throttle`);let i=r.get(t);if(i)return i.count++,!1;let a,o=()=>{let e=r.get(t),n=e?e.count:0;return r.delete(t),clearTimeout(a),e&&clearTimeout(e.timeoutObject),n};a=setTimeout(o,n);let s={timeoutObject:a,clear:o,count:0};return r.set(t,s),s}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,n,r){let i=this.options.awaitWriteFinish;if(typeof i!=`object`)return;let a=i.pollInterval,o,s=e;this.options.cwd&&!C.isAbsolute(e)&&(s=C.join(this.options.cwd,e));let c=new Date,l=this._pendingWrites;function u(n){he(s,(i,s)=>{if(i||!l.has(e)){i&&i.code!==`ENOENT`&&r(i);return}let c=Number(new Date);n&&s.size!==n.size&&(l.get(e).lastChange=c),c-l.get(e).lastChange>=t?(l.delete(e),r(void 0,s)):o=setTimeout(u,a,s)})}l.has(e)||(l.set(e,{lastChange:c,cancelWait:()=>(l.delete(e),clearTimeout(o),n)}),o=setTimeout(u,a))}_isIgnored(e,t){if(this.options.atomic&&Dt.test(e))return!0;if(!this._userIgnored){let{cwd:e}=this.options,t=(this.options.ignored||[]).map(Ft(e));this._userIgnored=Mt([...[...this._ignoredPaths].map(Ft(e)),...t],void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new zt(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=C.resolve(e);return this._watched.has(t)||this._watched.set(t,new Rt(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,n){let r=C.join(e,t),i=C.resolve(r);if(n??=this._watched.has(r)||this._watched.has(i),!this._throttle(`remove`,r,100))return;!n&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(r).getChildren().forEach(e=>this._remove(r,e));let a=this._getWatchedDir(e),o=a.has(t);a.remove(t),this._symlinkPaths.has(i)&&this._symlinkPaths.delete(i);let s=r;if(this.options.cwd&&(s=C.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(s)&&this._pendingWrites.get(s).cancelWait()===z.ADD)return;this._watched.delete(r),this._watched.delete(i);let c=n?z.UNLINK_DIR:z.UNLINK;o&&!this._isIgnored(r)&&this._emit(c,r),this._closePath(r)}_closePath(e){this._closeFile(e);let t=C.dirname(e);this._getWatchedDir(t).remove(C.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(e=>e()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(t)}_readdirp(e,t){if(this.closed)return;let n=lt(e,{type:z.ALL,alwaysStat:!0,lstat:!0,...t,depth:0});return this._streams.add(n),n.once(`close`,()=>{n=void 0}),n.once(`end`,()=>{n&&=(this._streams.delete(n),void 0)}),n}};function Vt(e,t={}){let n=new Bt(t);return n.add(e),n}function Ht(e){if(!e.includes(`defineRootContext`))return``;let{descriptor:t}=v(e);if(!t.scriptSetup)return``;let n=e=t.scriptSetup.content,r=Ut(n);return n.substring(r.start,r.end+1).trim()}function Ut(e){return je(e,`defineRootContext`)}function Wt(e){if(!e.includes(`<template`))return``;let{descriptor:t}=v(e);return(t.template?.content||``).trim()}function Gt(e,t){let n=e.replace(/\{\{([\s\S]*?)\}\}/g,(e,n)=>e.replace(n,Kt(n,t)));return n=n.replace(/((?:v-(?!for\b)[\w-]+(?::[\w-]+)?|[:@][\w-]+)\s*=\s*)(["'])([\s\S]*?)\2/g,(e,n,r,i)=>`${n}${r}${Kt(i,t)}${r}`),n}function Kt(e,t){let n=new Map;t.varName&&n.set(t.varName,`$oiyoRootContext`);for(let{local:e,original:r}of t.varProperties||[])n.set(e,`$oiyoRootContext.${r}`);if(n.size===0)return e;try{let t=p(`(${e})`,{sourceType:`module`,plugins:[`typescript`]}),r=new y(e);return w(t,{Identifier(e){if(!e.isReferencedIdentifier())return;let t=n.get(e.node.name);if(!t)return;let i=e.node.start,a=e.node.end;if(!(i==null||a==null)){if(e.parentPath.isObjectProperty()&&e.parent.shorthand&&e.parent.value===e.node){r.overwrite(i-1,a-1,`${e.node.name}: ${t}`);return}r.overwrite(i-1,a-1,t)}}}),r.toString()}catch{return e}}function qt(e,t){if(!e)throw Error(`[oiyo] App.vue 必须包含 <template> 节点`);let n=e.content;if(!(n.includes(`<OiyoPage`)||n.includes(`<oiyo-page`)))throw Error(`[oiyo] App.vue 的 template 必须包含 <OiyoPage /> 或 <oiyo-page /> 占位节点`);return n=Gt(n,t),n.trim()}function Jt(e){if(!e)return;let t=e?.content;if(t){let e=Yt(t);return e.script?e:void 0}}function Yt(e){let t=p(e,{sourceType:`module`,plugins:[`typescript`]}),n={};return w(t,{ImportDeclaration(t){let r=e.substring(t.node.start,t.node.end);n.imports??=[],n.imports.push(r)},CallExpression(t){let{callee:r,arguments:i}=t.node;if(r.type===`Identifier`&&r.name===`defineRootContext`&&i.length>0){let r=i[0];r.start!=null&&r.end!=null&&(n.script=e.substring(r.start,r.end));let a=t.findParent(e=>e.isVariableDeclarator());if(a&&a.isVariableDeclarator()){let e=a.node.id;e.type===`Identifier`?n.variable=e.name:e.type===`ObjectPattern`&&(n.properties=e.properties.filter(e=>e.type===`ObjectProperty`).map(e=>({original:e.key.type===`Identifier`?e.key.name:String(e.key.value),local:e.value.type===`Identifier`?e.value.name:e.key.name})))}}}}),n}function Xt(e,t){let n=e;return n=n.replace(/<OiyoPage[^>]*?\/>/g,t),n=n.replace(/<OiyoPage[^>]*>\s*<\/OiyoPage>/g,t),n=n.replace(/<oiyo-page[^>]*?\/>/g,t),n=n.replace(/<oiyo-page[^>]*>\s*<\/oiyo-page>/g,t),n}const Zt=`virtual:oiyo-root-context`,$=`\0${Zt}`;function Qt(e){let{script:t,imports:n}=e,r=[];return n?.length&&(r.push(...n),r.push(``)),t?(r.push(`let rootContextInstance = null`),r.push(``),r.push(`export function useRootContext() {`),r.push(`if (!rootContextInstance) {`),r.push(`const factory = ${t}`),r.push(`rootContextInstance = factory()`),r.push(`}`),r.push(`return rootContextInstance`),r.push(`}`)):(r.push(`export function useRootContext() {`),r.push(`return {}`),r.push(`}`)),r.join(`
|
|
13
|
+
`)}var $t=class{constructor(e,t){this.config=e,this.rootView={imports:[],template:`<OiyoPage />`,script:``},this.shouldRefreshVM=e=>{let t=``;this.rootMarco&&(t=T(Me(`defineRootContext(${this.rootMarco.script})`)));let n=T(Me(Ht(e)));return t!==n},this.logger=t.logger.withScope(`ROOT`)}get srcDir(){return s(this.config.rootDir,this.config.srcDir)}get rootPath(){return s(this.srcDir,`App.vue`)}isRootPath(e){return e===this.rootPath}parseRoot(e){let{descriptor:t}=v(e),n=Jt(t.scriptSetup);return this.rootView={template:qt(t.template,{varName:n?.variable,varProperties:n?.properties}),imports:[],script:``},n&&(this.rootMarco=n,this.rootVM=Qt(n),n.script&&(this.rootView.imports.push(`import { useRootContext } from 'virtual:oiyo-root-context'`),this.rootView.script=`const $oiyoRootContext = useRootContext()`)),{view:this.rootView,marco:n}}transformRoot(e){let{descriptor:t}=v(e),n=new y(e);if(t.template){let e=t.template.loc.start.offset-10,r=t.template.loc.end.offset+11;n.remove(e,r)}if(t.scriptSetup){let e=t.scriptSetup.content,r=Ut(e);if(r.start!==r.end){e.includes(`virtual:oiyo-root-context`)||n.appendLeft(t.scriptSetup.loc.start.offset,`
|
|
14
14
|
import { useRootContext } from 'virtual:oiyo-root-context'
|
|
15
|
-
`);let i=t.scriptSetup.loc.start.offset+r.start,a=t.scriptSetup.loc.start.offset+r.end;i!==a&&n.overwrite(i,a,`useRootContext()`)}}return{code:n.toString(),sourceMap:n.generateMap()}}shouldRefreshView(e){return
|
|
15
|
+
`);let i=t.scriptSetup.loc.start.offset+r.start,a=t.scriptSetup.loc.start.offset+r.end;i!==a&&n.overwrite(i,a,`useRootContext()`)}}return{code:n.toString(),sourceMap:n.generateMap()}}shouldRefreshView(e){return T(this.rootView.template)!==T(Wt(e))}applyRoot(e){let t=[],n=``,r=``;return e.template&&(n=Xt(this.rootView.template,e.template.content)),e.scriptSetup&&(t.push(...this.rootView.imports),r=`${this.rootView.script}\n${e.scriptSetup.content}`),{imports:t,script:r,template:n}}};function en(e){let t=!1,n=`build`;return e.logger.withScope(`VITE`),[{name:`oiyo:build`,apply:`build`,enforce:`pre`,configResolved(e){n=e.command},async buildStart(){if(t)return;await Promise.all([e.page.loadPagesConfig(),e.page.loadPagesJson(),e.layout.registerLayouts()]);let r=t=>{e.layout.isLayoutPath(t)&&e.layout.registerLayouts()};n===`serve`&&Vt(e.layout.layoutDir,{ignoreInitial:!0}).on(`add`,r).on(`unlink`,r),t=!0},async transform(t,n){if(e.root.isRootPath(n))return e.root.parseRoot(t),e.root.transformRoot(t);if(e.page.isPagePath(n))return this.addWatchFile(e.root.rootPath),e.page.transformPage(t,n)},resolveId(e){if(e===`virtual:oiyo-root-context`)return $},load(t){if(t===$)return e.root.rootVM||`export function useRootContext() {return {}}`},async closeBundle(){await e.page.unwatchPagesConfig()}}]}function tn(){return[{name:`oiyo:deps`,enforce:`pre`,config(e){return me(e,{optimizeDeps:{exclude:[`@skiyee/oiyo`]}})}}]}function nn(e){let n=t(e),r=O();r.withScope(`CONFIG`);let i=new $t(n,{logger:r}),a=new Re(n,{logger:r});return{logger:r,root:i,layout:a,page:new A(n,{oiyoRoot:i,oiyoLayout:a,logger:r})}}function rn(e){return e.logger.withScope(`VITE`),e.logger.withScope(`HMR`),[{name:`oiyo:serve`,apply:`serve`,enforce:`pre`,async buildStart(){await Promise.all([e.page.loadPagesConfig(),e.page.loadPagesJson(),e.layout.registerLayouts()])},configureServer(t){e.page.watchPagesConfig(()=>{t.hot.send({type:`full-reload`})});let n=t=>{e.layout.isLayoutPath(t)&&e.layout.registerLayouts()};t.watcher.on(`add`,n),t.watcher.on(`unlink`,n)},async transform(t,n){if(e.root.isRootPath(n))return e.root.parseRoot(t),e.root.transformRoot(t);if(e.page.isPagePath(n))return this.addWatchFile(e.root.rootPath),e.page.transformPage(t,n)},resolveId(e){if(e===`virtual:oiyo-root-context`)return $},load(t){if(t===$)return e.root.rootVM||`export function useRootContext() {return {}}`},async handleHotUpdate({file:t,server:n,read:r}){if(e.root.isRootPath(t)){let t=await r(),i=!1;if(e.root.shouldRefreshView(t)&&(i=!0),e.root.shouldRefreshVM(t)){let e=n.moduleGraph.getModuleById($);e&&(n.moduleGraph.invalidateModule(e),i=!0)}if(i){n.hot.send({type:`full-reload`});return}}},async closeBundle(){await e.page.unwatchPagesConfig()}}]}function an(e={}){let t=nn(e);return[...tn(),...rn(t),...en(t)]}export{E as LogLevels,an as OiyoCorePlugin,Re as OiyoLayout,A as OiyoPage,$t as OiyoRoot,$ as RESOLVED_VIRTUAL_ROOT_CONTEXT_ID,Zt as VIRTUAL_ROOT_CONTEXT_ID,O as createLogger};
|
package/dist/types.cjs
CHANGED
package/dist/types.d.cts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @oiyo/core v0.0.
|
|
2
|
+
* @oiyo/core v0.0.4
|
|
3
3
|
* Copyright (c) 2026 skiyee. All rights reserved.
|
|
4
4
|
* Commercial software. See LICENSE for terms.
|
|
5
5
|
* Official site: https://oiyo.pages.dev
|
|
6
6
|
*/
|
|
7
|
-
import { t as BasePageMeta } from "./types-
|
|
7
|
+
import { t as BasePageMeta } from "./types-CO6ioKnp.cjs";
|
|
8
8
|
import { DefineComponent } from "vue";
|
|
9
9
|
|
|
10
10
|
//#region src/types/component.d.ts
|
package/dist/types.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @oiyo/core v0.0.
|
|
2
|
+
* @oiyo/core v0.0.4
|
|
3
3
|
* Copyright (c) 2026 skiyee. All rights reserved.
|
|
4
4
|
* Commercial software. See LICENSE for terms.
|
|
5
5
|
* Official site: https://oiyo.pages.dev
|
|
6
6
|
*/
|
|
7
|
-
import { t as BasePageMeta } from "./types-
|
|
7
|
+
import { t as BasePageMeta } from "./types-DLyArdXP.mjs";
|
|
8
8
|
import { DefineComponent } from "vue";
|
|
9
9
|
|
|
10
10
|
//#region src/types/component.d.ts
|
package/dist/types.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oiyo/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.4",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "skiyee",
|
|
7
7
|
"email": "319619193@qq.com",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"pathe": "^2.0.3",
|
|
58
58
|
"tinyglobby": "^0.2.15",
|
|
59
59
|
"vue": "3.4.21",
|
|
60
|
-
"@oiyo/config": "0.0.
|
|
60
|
+
"@oiyo/config": "0.0.4"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"chokidar": "4.0.3",
|