chayns-toolkit 3.0.6 → 3.0.7
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/lib/cli.js +2 -2
- package/package.json +1 -1
package/lib/cli.js
CHANGED
|
@@ -29,10 +29,10 @@ attempted value: ${s}
|
|
|
29
29
|
`),F.blank(o.message),F.exit(1);return}let[r,n]=await Promise.all([bm(),ym()]),i=!0;for(let s of t)if(i){for(let o of s)await o({config:e,packageJson:r,packageManager:n})&&(i=!1);t.indexOf(s)!==t.length-1&&F.blank("")}}var gr=z(require("dotenv"));function _r(t=!1){t?(process.env.BABEL_ENV="development",process.env.NODE_ENV="development"):(process.env.BABEL_ENV="production",process.env.NODE_ENV="production");let e=t?"development":process.env.BUILD_ENV||"production";gr.default.config({path:`.env.${e}.local`}),gr.default.config({path:".env.local"}),gr.default.config({path:`.env.${e}`}),gr.default.config({path:".env"})}var xm=require("util"),{isRegExp:vm}=xm.types;function Em(t,e){let r=Object.keys({...t.dependencies,...t.devDependencies});return Array.isArray(e)?r.filter(n=>e.some(i=>vm(i)?i.test(n):i===n)):vm(e)?r.some(n=>e.test(n)):r.includes(e)}var Am=z(require("fs")),wm=z(require("path")),Om=require("util"),HP=(0,Om.promisify)(Am.readFile);async function Es(t){let e=wm.resolve("package.json"),r=await HP(e,{encoding:"utf-8"}),n=JSON.parse(r),i=Object.keys({...n.dependencies,...n.devDependencies});return Array.isArray(t)?i.filter(s=>t.some(o=>Sm(o)?o.test(s):o===s)):Sm(t)?i.some(s=>t.test(s)):i.includes(t)}function Sm(t){return Object.prototype.toString.call(t)==="[object RegExp]"}async function Cm(t){let e=await Es("@types/react"),r=await Es("@types/react-dom"),n=[!e&&"@types/react",!r&&"@types/react-dom"].filter(Boolean);if(n.length>0){let i=n.map(s=>L.code(s)).join(" and ");F.hint(`You should install the ${i} package${n.length>0?"s":""} to get TypeScript support for React.
|
|
30
30
|
`),t!==void 0&&F.blank(`Install them by running ${Xe.install(t,n,!0)}`)}}async function Pm(){if(!G.hasFile("tsconfig.json"))return!0;let r=(await G.readFile("tsconfig.json")??"").replace(/\s/gi,"");return r===""||r==="{}"}var h0=z(p0());async function d0(){return G.hasFile("tsconfig.json")?!0:(await(0,h0.default)("src/**/*.{ts,tsx}")).length>0}async function In({packageJson:t,packageManager:e}){let r=Em(t,"typescript"),n=await Pm();return r?(await Cm(e),n&&await m0(),!1):await d0()?(n&&await m0(),F.error(`To use TypeScript, you have to install the ${L.code`typescript`} package by running ${Xe.install(e,"typescript",!0)}.`),!0):!1}async function m0(){await G.writeFile("tsconfig.json",JSON.stringify(LF,void 0,4)),F.info(`Seems like you want to use TypeScript. A ${L.path`tsconfig.json`} file has been set up for you.`)}var LF={compilerOptions:{allowJs:!0,allowSyntheticDefaultImports:!0,checkJs:!1,esModuleInterop:!0,experimentalDecorators:!0,isolatedModules:!0,jsx:"react",lib:["DOM","ESNext"],noEmit:!0,skipLibCheck:!0,strict:!0}};var ia=z(require("fs"));function Nn({config:t}){let{cert:e,key:r}=t.development,n=!1;return r&&!e||!r&&e?(F.error(`You have specified the ${L.code(r?"key":"cert")} field in your ${L.path`chayns-toolkit.json`} file, but not ${L.code(r?"cert":"key")}. You need to specify paths in both fields for SSL to work.`),n=!0):(r&&(ia.existsSync(r)||(F.error(`No file exists at the ${L.code`key`} path specified in ${L.path`chayns-toolkit.json`}.`),n=!0)),e&&(ia.existsSync(e)||(F.error(`No file exists at the ${L.code`cert`} path specified in ${L.path`chayns-toolkit.json`}.`),n=!0))),n}var sa=!1;function oa({devtools:t}){return async({config:e,packageJson:r,packageManager:n})=>{let{port:i,ports:s,host:o,cert:a,key:u}=e.development,c=e.output.serverSideRendering==="all"?["server","client"]:[null];for(let f of c){let p=await Tr({analyze:!1,mode:"development",outputFilename:e.output.filename,singleBundle:e.output.singleBundle,serverSideRendering:e.output.serverSideRendering!==!1&&e.output.serverSideRendering!=="build-only",packageJson:r,injectDevtoolsScript:t,prefixCss:e.output.prefixCss,cssVersion:e.output.cssVersion,exposeModules:e.output.exposeModules,entryPoints:e.output.entryPoints,target:f});if(t&&("react-devtools"in(r.dependencies||{})?(F.error(`You added ${L.code`react-devtools`} as a regular dependency.`),F.blank(`Install it under ${L.code`devDependencies`} by running ${Xe.move(n,"react-devtools","dev")}.
|
|
31
31
|
`),process.exit(1)):"react-devtools"in(r.devDependencies||{})||(F.error(`You need to install the ${L.code`react-devtools`} package to use the ${L.command`--devtools`} option.`),F.blank(`Run ${Xe.move(n,"react-devtools","dev")} to add it as a ${L.code`devDependency`}.
|
|
32
|
-
`),process.exit(1)),(0,g0.exec)(`node ${_0.join(require.resolve("react-devtools"),"../bin.js")}`)),p.server||={},p.server.host=o,p.server.port=i,s&&(f==="server"?p.server.port=s.server:p.server.port=s.client),p.server.headers={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, PATCH, OPTIONS","Access-Control-Allow-Headers":"X-Requested-With, content-type, Authorization"},a&&u&&(p.server.https={cert:Er.default.readFileSync(a),key:Er.default.readFileSync(u)}),typeof e.webpack=="function"){let x=e.webpack;p=fn({config:p,dev:!0,modifier:x,target:
|
|
32
|
+
`),process.exit(1)),(0,g0.exec)(`node ${_0.join(require.resolve("react-devtools"),"../bin.js")}`)),p.server||={},p.server.host=o,p.server.port=i,s&&(f==="server"?p.server.port=s.server:p.server.port=s.client),p.server.headers={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, PATCH, OPTIONS","Access-Control-Allow-Headers":"X-Requested-With, content-type, Authorization"},a&&u&&(p.server.https={cert:Er.default.readFileSync(a),key:Er.default.readFileSync(u)}),typeof e.webpack=="function"){let x=e.webpack;p=fn({config:p,dev:!0,modifier:x,target:f})}let h=await(0,y0.createRsbuild)({rsbuildConfig:p}),{server:b,urls:d}=await h.startDevServer();d.forEach(x=>{console.log("Project is running at: ",x)});let y=async()=>{sa||(sa=!0,console.log("Start restarting dev server"),await b.close(),_r(!0),sa=!1,await Qe([In,Nn],[oa({devtools:t})]),console.log("Dev Server restarted"),(0,b0.unwatchFile)(G.resolvePath("./toolkit.config.js"),y))};(0,Er.watchFile)(G.resolvePath("./toolkit.config.js"),y)}}}var aa=require("eslint");async function v0(){F.info("Linting your code...");try{let t=new aa.ESLint({fix:!0,extensions:["js","jsx","ts","tsx"]}),e=await t.lintFiles(["./src"]);await aa.ESLint.outputFixes(e);let r=e.reduce((s,o)=>s+o.warningCount,0),n=e.reduce((s,o)=>s+o.errorCount,0),i="";(r||n)&&(i=(await t.loadFormatter("pretty")).format(e)),n+r===0?F.info(`No linting errors were found.
|
|
33
33
|
`):(F.warn(`${n} errors and ${r} were found:
|
|
34
34
|
`),console.log(i))}catch(t){F.error(`An error occured while linting your project:
|
|
35
|
-
`),F.blank(t.message)}}var x0=z(require("fs")),E0=require("jest"),ua=z(require("path"));function S0({watch:t,setupFile:e}){return async({config:r,packageJson:n})=>{let i={transform:{"\\.[jt]sx?$":["babel-jest",{presets:["@babel/preset-react","@babel/preset-env"]}]},moduleFileExtensions:["ts","tsx","js","jsx"],moduleNameMapper:{"^.+\\.(css|less|scss)$":"babel-jest","\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$":ua.default.resolve(__dirname,"assets","file-mock.js")},testPathIgnorePatterns:["^.+\\.eslintrc\\.js$"],setupFilesAfterEnv:[ua.default.resolve(__dirname,"assets","react-testing-library.setup.js")],testEnvironment:"jsdom"};if(typeof r.jest=="function"){let o=r.jest;i=o(i)}if(e){let o=G.resolvePath(e),a=`The specified setup file for the tests (${o}) could not be found.`;try{x0.default.existsSync(o)?i.setupFilesAfterEnv&&i.setupFilesAfterEnv.push(o):F.warn(a)}catch{F.warn(a)}}let s=[];s.push("--config",JSON.stringify(i)),t&&s.push("--watch"),await(0,E0.run)(s)}}var la=z(ln()),A0=z(require("http")),w0=z(require("https")),O0=z(require("serve-handler")),ca=z(require("fs"));function C0(){return async({config:t})=>{let{host:e,port:r,cert:n,key:i}=t.development,s,o;n&&(s=ca.default.readFileSync(n)),i&&(o=ca.default.readFileSync(i));let a=!!(s&&o),u=async(f,p)=>{let h=Date.now();await(0,O0.default)(f,p,{public:t.output.path??"build"}),console.log(f.method,f.url),console.log("Returned",(p.statusCode===200?la.default.green:la.default.red)(p.statusCode),"in",Date.now()-h,"ms")};(a?w0.default.createServer({key:o,cert:s},u):A0.default.createServer(u)).listen(r,()=>{let f=`http${a?"s":""}://${e}:${r}`;console.log(`Running at ${f}`)}),await Promise.resolve()}}var nt=new P0.Command;nt.version("3.0.
|
|
35
|
+
`),F.blank(t.message)}}var x0=z(require("fs")),E0=require("jest"),ua=z(require("path"));function S0({watch:t,setupFile:e}){return async({config:r,packageJson:n})=>{let i={transform:{"\\.[jt]sx?$":["babel-jest",{presets:["@babel/preset-react","@babel/preset-env"]}]},moduleFileExtensions:["ts","tsx","js","jsx"],moduleNameMapper:{"^.+\\.(css|less|scss)$":"babel-jest","\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$":ua.default.resolve(__dirname,"assets","file-mock.js")},testPathIgnorePatterns:["^.+\\.eslintrc\\.js$"],setupFilesAfterEnv:[ua.default.resolve(__dirname,"assets","react-testing-library.setup.js")],testEnvironment:"jsdom"};if(typeof r.jest=="function"){let o=r.jest;i=o(i)}if(e){let o=G.resolvePath(e),a=`The specified setup file for the tests (${o}) could not be found.`;try{x0.default.existsSync(o)?i.setupFilesAfterEnv&&i.setupFilesAfterEnv.push(o):F.warn(a)}catch{F.warn(a)}}let s=[];s.push("--config",JSON.stringify(i)),t&&s.push("--watch"),await(0,E0.run)(s)}}var la=z(ln()),A0=z(require("http")),w0=z(require("https")),O0=z(require("serve-handler")),ca=z(require("fs"));function C0(){return async({config:t})=>{let{host:e,port:r,cert:n,key:i}=t.development,s,o;n&&(s=ca.default.readFileSync(n)),i&&(o=ca.default.readFileSync(i));let a=!!(s&&o),u=async(f,p)=>{let h=Date.now();await(0,O0.default)(f,p,{public:t.output.path??"build"}),console.log(f.method,f.url),console.log("Returned",(p.statusCode===200?la.default.green:la.default.red)(p.statusCode),"in",Date.now()-h,"ms")};(a?w0.default.createServer({key:o,cert:s},u):A0.default.createServer(u)).listen(r,()=>{let f=`http${a?"s":""}://${e}:${r}`;console.log(`Running at ${f}`)}),await Promise.resolve()}}var nt=new P0.Command;nt.version("3.0.7","-v, --version","output the version number");nt.command("dev").description("start up a development server with hot module replacement").option("-d, --devtools","open react-devtools in a separate window",!1).action(async t=>{_r(!0),await Qe([In,Nn],[oa({devtools:t.devtools})])});nt.command("build").description("bundles your code for production").option("-a, --analyze","analyze your bundle size",!1).action(async t=>{try{_r(!1),await Qe([_m({analyze:t.analyze})])}catch(e){F.error(e),F.exit(1)}console.info("")});nt.command("lint").description("lints your code for possible errors").action(async()=>{await v0(),console.info("")});nt.command("serve").description("serves the files from a local build folder").action(async()=>{try{await Qe([C0()])}catch(t){F.error(t)}});nt.command("test").description("executes all Jest tests for this project").option("-w, --watch","watch for changes to rerun tests",!1).option("--setupFile <path>","file that should be executed before the tests are initialized","").action(async t=>{try{await Qe([S0(t)])}catch(e){F.error(e)}console.info("")});nt.parse(process.argv);
|
|
36
36
|
/*! Bundled license information:
|
|
37
37
|
|
|
38
38
|
is-extglob/index.js:
|