@terai/dev 0.0.0-dev-20251208135104 → 0.0.0-dev-20251208143016

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.
@@ -63,7 +63,7 @@ GFS4: `),console.error(e)}),n[s]||(u(n,global[s]||[]),n.close=(function(e){funct
63
63
  Try running with %s or get access `,B.cyan(`sudo`))+`
64
64
  to the local update config store via
65
65
  `+B.cyan((0,_.format)(` sudo chown -R $USER:$(id -gn $USER) %s `,it));d.default.on(`exit`,()=>{console.error(qc(t,{textAlignment:`center`}))})}}check(){!this.config||this.config.get(`optOut`)||this.#r||(this.update=this.config.get(`update`),this.update&&(this.update.current=this.#t,this.config.delete(`update`)),!(Date.now()-this.config.get(`lastUpdateCheck`)<this.#n)&&(0,m.spawn)(d.default.execPath,[g.default.join(il,`check.js`),JSON.stringify(this.#e)],{detached:!0,stdio:`ignore`}).unref())}async fetchInfo(){let{distTag:e}=this.#e,t=await fs(this._packageName,{version:e});return{latest:t,current:this.#t,type:fr(this.#t,t)||e,name:this._packageName}}notify(e){let t=!this._shouldNotifyInNpmScript&&ys;if(!d.default.stdout.isTTY||t||!this.update||!rl.default.gt(this.update.latest,this.update.current))return this;e={isGlobal:ws.default,isYarnGlobal:Es(),...e};let n;n=e.isYarnGlobal?`yarn global add ${this._packageName}`:e.isGlobal?`npm i -g ${this._packageName}`:Ds()?`yarn add ${this._packageName}`:`npm i ${this._packageName}`;let r=`Update available `+B.dim(`{currentVersion}`)+B.reset(` → `)+B.green(`{latestVersion}`)+`
66
- Run `+B.cyan(`{updateCommand}`)+` to update`,i=e.message||r;e.boxenOptions=e.boxenOptions||{padding:1,margin:1,textAlignment:`center`,borderColor:`yellow`,borderStyle:`round`};let a=qc(nl(i,{packageName:this._packageName,currentVersion:this.update.current,latestVersion:this.update.latest,updateCommand:n}),e.boxenOptions);return e.defer===!1?console.error(a):(d.default.on(`exit`,()=>{console.error(a)}),d.default.on(`SIGINT`,()=>{console.error(``),d.default.exit()})),this}};function sl(e){let t=new ol(e);return t.check(),t}var cl=`0.0.15`,ll={name:`@terai/dev`,version:cl,description:`The user-facing package for Terai`,main:`./dist/index.cjs`,module:`./dist/index.mjs`,types:`./dist/index.d.ts`,private:!1,author:`Hugo Corta <corta.hugo@gmail.com>`,bin:{terai:`bin.js`},scripts:{dev:`tsdown --format=esm --no-dts --watch`,build:`tsdown`},files:[`bin.js`,`dist`],sideEffects:!1,publishConfig:{access:`public`},exports:{".":{import:{types:`./dist/index.d.mts`,default:`./dist/index.mjs`},require:{types:`./dist/index.d.cts`,default:`./dist/index.cjs`}}},dependencies:{"@inquirer/prompts":`^3`,"@terai/extractor":`workspace:*`,"@terai/runtime":`workspace:*`,"@terai/translator":`workspace:*`,"@terai/utils":`workspace:*`,"@terai/types":`workspace:*`,cac:`^6`,dotenv:`^1`,inquirer:`^9`,kleur:`^4`,"perfect-debounce":`^1`,"preferred-pm":`^3`},devDependencies:{"@terai/generator":`workspace:*`,"@terai/logger":`workspace:*`,"@types/update-notifier":`^6`,"update-notifier":`^6`}},ul=o(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.outdent=void 0;function n(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]}function r(){return typeof WeakMap<`u`?new WeakMap:i()}function i(){return{add:n,delete:n,get:n,set:n,has:function(e){return!1}}}var a=Object.prototype.hasOwnProperty,o=function(e,t){return a.call(e,t)};function s(e,t){for(var n in t)o(t,n)&&(e[n]=t[n]);return e}var c=/^[ \t]*(?:\r\n|\r|\n)/,l=/(?:\r\n|\r|\n)[ \t]*$/,u=/^(?:[\r\n]|$)/,d=/(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/,f=/^[ \t]*[\r\n][ \t\r\n]*$/;function p(e,t,n){var r=0,i=e[0].match(d);i&&(r=i[1].length);var a=`(\\r\\n|\\r|\\n).{0,`+r+`}`,o=new RegExp(a,`g`);t&&(e=e.slice(1));var s=n.newline,u=n.trimLeadingNewline,f=n.trimTrailingNewline,p=typeof s==`string`,m=e.length;return e.map(function(e,t){return e=e.replace(o,`$1`),t===0&&u&&(e=e.replace(c,``)),t===m-1&&f&&(e=e.replace(l,``)),p&&(e=e.replace(/\r\n|\n|\r/g,function(e){return s})),e})}function m(e,t){for(var n=``,r=0,i=e.length;r<i;r++)n+=e[r],r<i-1&&(n+=t[r]);return n}function h(e){return o(e,`raw`)&&o(e,`length`)}function g(e){var t=r(),n=r();function i(r){for(var a=[],o=1;o<arguments.length;o++)a[o-1]=arguments[o];if(h(r)){var c=r,l=(a[0]===i||a[0]===_)&&f.test(c[0])&&u.test(c[1]),d=l?n:t,v=d.get(c);return v||(v=p(c,l,e),d.set(c,v)),a.length===0?v[0]:m(v,l?a.slice(1):a)}else return g(s(s({},e),r||{}))}return s(i,{string:function(t){return p([t],!1,e)[0]}})}var _=g({trimLeadingNewline:!0,trimTrailingNewline:!0});if(e.outdent=_,e.default=_,t!==void 0)try{t.exports=_,Object.defineProperty(_,`__esModule`,{value:!0}),_.default=_,_.outdent=_}catch{}})),dl=ul();function fl(e,t){return e.command(`init`,`Initialize config file`).option(`-f, --force`,`Force overwrite existing config files`).option(`--cwd <cwd>`,`Current working directory`,{default:t}).action(pl)}async function pl({cwd:e,force:t}){P.heading(`init`,`Initialize config file`);let n=(0,u.findConfig)({cwd:e}),r=(await(0,ae.default)(e))?.name??`npm`,i=r===`npm`?`npm run`:r;if(n&&!t)return P.log(dl.outdent`
66
+ Run `+B.cyan(`{updateCommand}`)+` to update`,i=e.message||r;e.boxenOptions=e.boxenOptions||{padding:1,margin:1,textAlignment:`center`,borderColor:`yellow`,borderStyle:`round`};let a=qc(nl(i,{packageName:this._packageName,currentVersion:this.update.current,latestVersion:this.update.latest,updateCommand:n}),e.boxenOptions);return e.defer===!1?console.error(a):(d.default.on(`exit`,()=>{console.error(a)}),d.default.on(`SIGINT`,()=>{console.error(``),d.default.exit()})),this}};function sl(e){let t=new ol(e);return t.check(),t}var cl=`0.0.16`,ll={name:`@terai/dev`,version:cl,description:`The user-facing package for Terai`,main:`./dist/index.cjs`,module:`./dist/index.mjs`,types:`./dist/index.d.ts`,private:!1,author:`Hugo Corta <corta.hugo@gmail.com>`,bin:{terai:`bin.js`},scripts:{dev:`tsdown --format=esm --no-dts --watch`,build:`tsdown`},files:[`bin.js`,`dist`],sideEffects:!1,publishConfig:{access:`public`},exports:{".":{import:{types:`./dist/index.d.mts`,default:`./dist/index.mjs`},require:{types:`./dist/index.d.cts`,default:`./dist/index.cjs`}}},dependencies:{"@inquirer/prompts":`^3`,"@terai/extractor":`workspace:*`,"@terai/runtime":`workspace:*`,"@terai/translator":`workspace:*`,"@terai/utils":`workspace:*`,"@terai/types":`workspace:*`,cac:`^6`,dotenv:`^1`,inquirer:`^9`,kleur:`^4`,"perfect-debounce":`^1`,"preferred-pm":`^3`},devDependencies:{"@terai/generator":`workspace:*`,"@terai/logger":`workspace:*`,"@types/update-notifier":`^6`,"update-notifier":`^6`}},ul=o(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.outdent=void 0;function n(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]}function r(){return typeof WeakMap<`u`?new WeakMap:i()}function i(){return{add:n,delete:n,get:n,set:n,has:function(e){return!1}}}var a=Object.prototype.hasOwnProperty,o=function(e,t){return a.call(e,t)};function s(e,t){for(var n in t)o(t,n)&&(e[n]=t[n]);return e}var c=/^[ \t]*(?:\r\n|\r|\n)/,l=/(?:\r\n|\r|\n)[ \t]*$/,u=/^(?:[\r\n]|$)/,d=/(?:\r\n|\r|\n)([ \t]*)(?:[^ \t\r\n]|$)/,f=/^[ \t]*[\r\n][ \t\r\n]*$/;function p(e,t,n){var r=0,i=e[0].match(d);i&&(r=i[1].length);var a=`(\\r\\n|\\r|\\n).{0,`+r+`}`,o=new RegExp(a,`g`);t&&(e=e.slice(1));var s=n.newline,u=n.trimLeadingNewline,f=n.trimTrailingNewline,p=typeof s==`string`,m=e.length;return e.map(function(e,t){return e=e.replace(o,`$1`),t===0&&u&&(e=e.replace(c,``)),t===m-1&&f&&(e=e.replace(l,``)),p&&(e=e.replace(/\r\n|\n|\r/g,function(e){return s})),e})}function m(e,t){for(var n=``,r=0,i=e.length;r<i;r++)n+=e[r],r<i-1&&(n+=t[r]);return n}function h(e){return o(e,`raw`)&&o(e,`length`)}function g(e){var t=r(),n=r();function i(r){for(var a=[],o=1;o<arguments.length;o++)a[o-1]=arguments[o];if(h(r)){var c=r,l=(a[0]===i||a[0]===_)&&f.test(c[0])&&u.test(c[1]),d=l?n:t,v=d.get(c);return v||(v=p(c,l,e),d.set(c,v)),a.length===0?v[0]:m(v,l?a.slice(1):a)}else return g(s(s({},e),r||{}))}return s(i,{string:function(t){return p([t],!1,e)[0]}})}var _=g({trimLeadingNewline:!0,trimTrailingNewline:!0});if(e.outdent=_,e.default=_,t!==void 0)try{t.exports=_,Object.defineProperty(_,`__esModule`,{value:!0}),_.default=_,_.outdent=_}catch{}})),dl=ul();function fl(e,t){return e.command(`init`,`Initialize config file`).option(`-f, --force`,`Force overwrite existing config files`).option(`--cwd <cwd>`,`Current working directory`,{default:t}).action(pl)}async function pl({cwd:e,force:t}){P.heading(`init`,`Initialize config file`);let n=(0,u.findConfig)({cwd:e}),r=(await(0,ae.default)(e))?.name??`npm`,i=r===`npm`?`npm run`:r;if(n&&!t)return P.log(dl.outdent`
67
67
  It looks like you already have a config file created.
68
68
  You can now run ${P.colors.cyan(`'${i} terai extract --watch'`)}
69
69
  `);let a=await(0,ie.input)({message:`What locale do you use in your project messages?`,default:`en-US`,validate:e=>e.trim().length===0?`Please provide a valid locale`:!0}),o=await(0,ie.input)({message:`What locales do you want to support? (comma separated)`,default:`fr-FR,es-ES,de-DE`,validate:e=>e.trim().length===0?`Please provide at least one locale`:!0,transformer:e=>e.split(`,`).map(e=>e.trim()).join(`,`)}),s=await(0,ie.input)({message:`Where do you want to place your generated files?`,default:`./locale`}),c=P.time.success();await(0,u.setupConfig)({cwd:e,projectLocale:a,outDir:s,outLocales:o.split(`,`)}),c(`Config file created`),P.log(`🚀 You are set up to start using Terai! Thanks for choosing it.`)}async function ml({dictionaries:e,locale:t,cwd:n,outDir:r}){let i=u.runtime.path.resolve(n,r,t),a=[];for(let t in e){let n=u.runtime.path.resolve(i,`${t}.json`),r=e[t],o=(0,ce.stringify)(r);u.runtime.fs.write(n,o),a.push(o)}return a}function hl(e,t){return e.command(`extract`,`Statically extract messages from your project`).option(`-w, --watch`,`Watch files and rebuild`).option(`--cwd <cwd>`,`Current working directory`,{default:t}).action(gl)}async function gl(e){P.heading(`extract`,`Statically extract messages from your project`);let t=P.time.success(),n=await(0,u.loadConfig)(e),r=u.runtime.fs.glob({...n,cwd:e.cwd}),i=u.runtime.path.resolve(e.cwd,n.outDir),a=u.runtime.path.resolve(i,n.projectLocale),o=u.runtime.path.resolve(i,`.terai`,`locale-manifest.json`);P.info(`Scan:`,`Processing files...`);async function s(t=r){let i=await(0,se.extract)({...n,filesPaths:t,cwd:e.cwd}),s=(0,ce.convertExtractedMessagesToDictionary)(i),c={messages:i},l=(0,ce.groupDictionaryByChunks)(s,c,n.projectLocale);return u.runtime.fs.remove(u.runtime.path.resolve(a)),await ml({...n,dictionaries:l,locale:n.projectLocale,cwd:e.cwd}),u.runtime.fs.write(o,(0,ce.stringify)(c)),Object.keys(s).length}P.info(`Extraction:`,`Extracting messages...`),t(`Extracted ${await s()} messages`),e.watch&&(P.log(``),P.info(`Watch:`,`Watching files for changes...