@yangzw/bruce-app
Version:
A JS/React App automation build scaffolding with zero-configuration and out-of-the-box
1 lines • 1.77 kB
JavaScript
var x=this&&this.__awaiter||function(t,e,s,n){return new(s||(s=Promise))(function(o,r){function i(t){try{u(n.next(t))}catch(t){r(t)}}function l(t){try{u(n.throw(t))}catch(t){r(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof s?e:new s(function(t){t(e)})).then(i,l)}u((n=n.apply(t,e||[])).next())})};import{readFileSync as tt,unlinkSync as et,writeFileSync as st}from"node:fs";import{extname as nt}from"node:path";import{pathToFileURL as ot}from"node:url";import{IsEmptyArray as rt,IsEmptyObject as J,ReadJson as p,ReadYaml as it,NodeType as lt,AbsPath as E}from"@yangzw/bruce-us/dist/node.js";import ut from"typescript";import{BROWSERS_ES6 as ce,JudgeFile as L}from"../utils/index.js";const{ModuleKind:ct,ScriptTarget:ft,transpileModule:at}=ut;export default function W(){return x(this,void 0,void 0,function*(){var t,e,s,n;const o="windows"===lt().system,r=L("","configFile"),i=o?ot(r).href:r,l=nt(i).replace(/^\./,"");let u={};const c=u;if("js"===l)u=null!==(t=(yield import(i)).default)&&void 0!==t?t:{};else if("json"===l)u=null!==(e=p("brucerc.json"))&&void 0!==e?e:{};else if("ts"===l){const t=E("brucerc.ts"),e=tt(t,"utf8"),n=E("brucerc.bu.js"),r=o?ot(n).href:n,i=at(e,{compilerOptions:{module:ct.ESNext,target:ft.ESNext}}).outputText;st(n,i,"utf8"),u=null!==(s=(yield import(r)).default)&&void 0!==s?s:{},et(n)}else"yaml"===l&&(u=null!==(n=it("brucerc.yaml"))&&void 0!==n?n:{});if(!J(u))for(const t in u){const e=t,s=u[e];!s||rt(s)||J(s)||(c[e]=s)}return Object.assign({alias:{},browsers:ce,buildError:null,buildSuccess:null,copyFiles:[],eslintIgnores:[],eslintRules:{},frame:"js",linkAssets:[],openPages:[],proxy:{},proxyHost:"",publicPath:"",scriptAssets:[],style:"scss",stylelintIgnores:[],stylelintRules:{},transpileDeps:[],useTs:!1},c)})}