{"_id":"@bobyzgirlllnpm/voluptate-itaque-quae","name":"@bobyzgirlllnpm/voluptate-itaque-quae","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@bobyzgirlllnpm/voluptate-itaque-quae","version":"1.0.0","description":"<img src=\"static/favicon.png\" align=\"right\" width=\"192\" height=\"192\">","main":"index.js","scripts":{},"author":{"name":"bobyzgirlLl"},"license":"MIT","dependencies":{"@bobyzgirlllnpm/aspernatur-fugiat-quam":"^1.0.0","@bobyzgirlllnpm/autem-nemo-incidunt":"^1.0.0","@bobyzgirlllnpm/dolorem-officia-assumenda":"^1.0.0","@bobyzgirlllnpm/dolorem-vero-atque":"^1.0.0","@bobyzgirlllnpm/facere-ipsum-aspernatur":"^1.0.0","@bobyzgirlllnpm/id-nobis-pariatur":"^1.0.0","@bobyzgirlllnpm/illo-architecto-dolorum":"^1.0.0","@bobyzgirlllnpm/impedit-quia-ea":"^1.0.0","@bobyzgirlllnpm/itaque-similique-commodi":"^1.0.0","@bobyzgirlllnpm/iure-velit-sapiente":"^1.0.0","@bobyzgirlllnpm/libero-facere-id":"^1.0.0","@bobyzgirlllnpm/libero-itaque-consequuntur":"^1.0.0","@bobyzgirlllnpm/magnam-laboriosam-illum":"^1.0.0","@bobyzgirlllnpm/mollitia-doloribus-sapiente":"^1.0.0","@bobyzgirlllnpm/mollitia-fugit-officia":"^1.0.0","@bobyzgirlllnpm/nesciunt-voluptatibus-nesciunt":"^1.0.0","@bobyzgirlllnpm/nostrum-inventore-quasi":"^1.0.0","@bobyzgirlllnpm/nostrum-voluptate-provident":"^1.0.0","@bobyzgirlllnpm/pariatur-recusandae-id":"^1.0.0","@bobyzgirlllnpm/perspiciatis-sequi-eligendi":"^1.0.0","@bobyzgirlllnpm/recusandae-minus-veritatis":"^1.0.0","@bobyzgirlllnpm/repudiandae-quae-in":"^1.0.0","@bobyzgirlllnpm/saepe-autem-impedit":"^1.0.0","@bobyzgirlllnpm/suscipit-nisi-fuga":"^1.0.0","@bobyzgirlllnpm/ullam-voluptate-placeat":"^1.0.0","@drftgyhuji7npm/repellendus-eum-et-itaque":"^1.0.0","hai-custom-button":"^1.0.0","remind-works-8th":"^1.0.2","web3-khai-1":"^1.0.1","web3-khai-2":"^1.0.1"},"keywords":["espree","rm -rf","visual","cloudwatch","fast-clone","parents","efficient","linewrap","ES2016","pretty","typed array","invariant","whatwg","typeerror","mime","less css","less","higher-order","watcher","safe","ReactiveX","trimRight","error","jwt","lazy","rangeerror","package.json","diff","columns","jsonpath","cloudsearch","regex","styleguide","stylesheet","WeakSet","rm -fr","await","Object.assign","queue","TypedArray","east-asian-width","wget","traverse","getOwnPropertyDescriptor","length","internal","readablestream","byteLength","bundling","copy","batch","Object.defineProperty","loading","assertion","ECMAScript 2015","array","getPrototypeOf","check","key","generics","argparse","less.js","flat","watch","deepclone","monorepo","has","cloudtrail","spinners","es5","prop","mru","plugin","performance","starter","typeof","CSSStyleDeclaration","cjk","regular expression","js","logging","browser","command","flag","classnames","args","flags","minimal","ts","parser","Array.prototype.findLast","sequence","iam","toobject","pyyaml","deterministic","a11y","Function.prototype.name","warning","value","wrap","dynamodb","autoscaling","format","rfc4122","serialization","superagent","concurrency","bcrypt","amazon","protobuf","map","0","client","typanion","expression","parse","performant","Uint8Array","less compiler","toSorted","StyleSheet","colors","walking","eslintconfig","__proto__","yup","weakmap","forms","call","styled-components","CSS","@@toStringTag","full","dependencies","arraybuffer","ajax","preprocessor","worker","Array.prototype.includes","elm","typedarray","exec","JSON","bootstrap css","read","es2017","hasOwn","streams","get","defineProperty","streams2","number","call-bound","route","protocol-buffers","ec2","cache","break","contains","ajv","nope","es7","electron","Int8Array","idle","coercible","regular","jasmine","jQuery","escape","form","prefix","syntax","make","Microsoft","polyfill","compare","Underscore","move","fastcopy","parent","Rx","css variable","persistent","packages","proto","chrome","dayjs","ES2023","env","AsyncIterator","configurable","zod","npm","accessor","URLSearchParams","telephone","es-abstract","Array.prototype.flatMap","delete","eslint-plugin","width","Reflect.getPrototypeOf","https","buffers","storagegateway","scheme-validation","lru","define","framework","graphql","utility","toolkit","BigInt64Array","symbol","require","multi-package","deep","spec","art","gradients css3","toStringTag","cors","module","tty","String.prototype.matchAll","enumerable","glob","authentication","circular","touch","eventEmitter","link","_.extend","request","jsdom","write","zero","ie","Float32Array","file system","Uint32Array","style","walk","query","Uint16Array","fps","encryption","ava","writable","tostringtag","stateless","emoji","slot","speed","settings","setPrototypeOf","Array.prototype.filter","matchAll","TypeScript","take","glacier","aws","Observable","validation","internal slot","dependency manager","resolve","hooks","Object.fromEntries","filter","workspace:*","keys","wordbreak","trimLeft","collection","promise","promises","sort","nested css","bootstrap less","mimetypes","column","real-time","ES","censor","guid","byteOffset","Promise","watchFile","elasticache","descriptors","vest","Int32Array","variables","mkdirs","asserts","pnpm9","fast-copy","classname","libphonenumber","clone","mime-db","indicator","getter","bluebird","bind","jsdiff","environment","tools","fsevents","properties","ECMAScript 5","shell","terminal","color","Array.prototype.contains","consume","css nesting","quote","uninstall","banner","slice","[[Prototype]]","ES7","vpc","ES2020","emit","group","redux-toolkit","negative","chromium","ast","$.extend","workflow","japanese","jest","sns","class-validator","stdlib","typed","inspect","task","ECMAScript 2019","unicode","deep-clone","mixins","watching","hasOwnProperty","korean",".env","term","debugger","ses","redux","random","joi","picomatch","ECMAScript 2017","fetch","es2018","description","ECMAScript 3","uuid","file","react-hook-form","stringify","styling","chinese","ECMAScript 2020","private","async","language","Symbol","queueMicrotask","typescript","flux","crypt","progress","isConcatSpreadable","fixed-width","date","channel","characters","ponyfill","flatMap","descriptor","functional","Object.is","setter","TypeBox","call-bind","callback","Object.getPrototypeOf","RxJS","argument","prune","YAML","merge","positive","full-width","Array.prototype.flatten","logger","findLast","shebang","variables in css","replay","toArray","argv","mobile","airbnb","lockfile","setImmediate","WebSocket","metadata","Observables","http","awesomesauce","names","formatting","ES5","predictable","eventDispatcher","tdd","mkdir","object","inference","remove","typedarrays","sham","find-up","ES2015","functions","ES2018","in","Streams","package","css-in-js","rds","last","swf","redact","gradients css","ecmascript","optimist","callbound","emr","commander","install","getintrinsic","importexport","256","connect","matches","valid","text","offset","optimizer","mocha","extra","stable","Int16Array","throttle","fullwidth","limit","id","output","ArrayBuffer#slice","ES2021","up","wait","set","tape","ArrayBuffer.prototype.slice","cloudformation","ArrayBuffer","byte","flatten","moment","autoprefixer","config","jsx","es2015","is","Array.prototype.findLastIndex","push","deep-copy","bdd","qs","directory","sameValueZero","querystring","ES3","classes","path","ratelimit","lesscss","testing","ECMAScript 7","es-shims","ES6","events","rapid","sqs","i18n","RegExp.prototype.flags","mapreduce","cli","shared","routing","eslintplugin","datastructure","iterate","yaml","match","WeakMap","json","reducer","Float64Array","getopt","xhr","assign","dir","code points","javascript","chai","ES2022","tap","fast-deep-copy","live","shim","obj","look","react-hooks","serialize","preserve-symlinks","String.prototype.trim","validate","symlinks","Map","intrinsic","open","css less","l10n","character","Array.prototype.flat","look-up","fs","RFC-6455","schema","console","equality","drop","ECMAScript 2023","findup","util","test","Stream","ECMAScript 2022","s3","concat","serializer","readable","buffer","mkdirp","react-testing-library","WebSockets","cloudfront","dataView","negative zero","rgb","-0","ESnext","findLastIndex","trim","rate","browserlist","input","side","reuse","includes","own","patch","private data","extend","fast","compile less","beanstalk","groupBy","superstruct","postcss-plugin","ECMAScript 2016","fastclone","nodejs","password","import","route53","symlink","ender","spinner","dom-testing-library","dom","string","ECMAScript 2021","node","some","figlet","stream","utilities","styles","browserslist","hot","io-ts","scheme","duplex","collection.es6","kinesis","time","symbols","ascii","ebs","xterm","concatMap","core","url","robust","phone","arrays","data","reduce","state","trimStart","function","equal","react","values","es6","shrinkwrap","hash","less mixins","sharedarraybuffer","tslib","web","postcss","omit","colour","view","package manager","which","fastify","search","throat","debug","busy","prototype"],"repository":{"type":"git","url":"git+https://github.com/bobyzgirlllnpm/voluptate-itaque-quae.git"},"homepage":"https://github.com/bobyzgirlllnpm/voluptate-itaque-quae/#readme","bugs":{"url":"https://github.com/bobyzgirlllnpm/voluptate-itaque-quae/issues"},"_id":"@bobyzgirlllnpm/voluptate-itaque-quae@1.0.0","gitHead":"3247860c789c0764aa4b6975ce2b3e66d0b135c1","_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-cUfMGG8IBUU2zFDY2uLqHtedTaj4fMGZyQ3YQ+gJJqmMMTVAhhKPqG3yBXFFGJgljzx/Nmj9rjJdPhHdf5QNNA==","shasum":"8847ecaeaddd5e35b727552aef3de129c60e33b3","tarball":"https://registry.npmjs.org/@bobyzgirlllnpm/voluptate-itaque-quae/-/voluptate-itaque-quae-1.0.0.tgz","fileCount":8,"unpackedSize":25728,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQN3marT3SOtZZV/V9EuM00rz8yaqWOKf5UimVmRqXugIgTF2zACBOFChIocrFV0yC6H+nT4f+uF8PKLHd6jJd1rg="}]},"_npmUser":{"name":"haiminh1192","email":"haiminh1192@gmail.com"},"directories":{},"maintainers":[{"name":"haiminh1192","email":"haiminh1192@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/voluptate-itaque-quae_1.0.0_1714886666746_0.3728178728479383"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-05T05:24:26.648Z","1.0.0":"2024-05-05T05:24:26.895Z","modified":"2024-05-05T05:24:27.239Z"},"maintainers":[{"name":"haiminh1192","email":"haiminh1192@gmail.com"}],"description":"<img src=\"static/favicon.png\" align=\"right\" width=\"192\" height=\"192\">","homepage":"https://github.com/bobyzgirlllnpm/voluptate-itaque-quae/#readme","keywords":["espree","rm -rf","visual","cloudwatch","fast-clone","parents","efficient","linewrap","ES2016","pretty","typed array","invariant","whatwg","typeerror","mime","less css","less","higher-order","watcher","safe","ReactiveX","trimRight","error","jwt","lazy","rangeerror","package.json","diff","columns","jsonpath","cloudsearch","regex","styleguide","stylesheet","WeakSet","rm -fr","await","Object.assign","queue","TypedArray","east-asian-width","wget","traverse","getOwnPropertyDescriptor","length","internal","readablestream","byteLength","bundling","copy","batch","Object.defineProperty","loading","assertion","ECMAScript 2015","array","getPrototypeOf","check","key","generics","argparse","less.js","flat","watch","deepclone","monorepo","has","cloudtrail","spinners","es5","prop","mru","plugin","performance","starter","typeof","CSSStyleDeclaration","cjk","regular expression","js","logging","browser","command","flag","classnames","args","flags","minimal","ts","parser","Array.prototype.findLast","sequence","iam","toobject","pyyaml","deterministic","a11y","Function.prototype.name","warning","value","wrap","dynamodb","autoscaling","format","rfc4122","serialization","superagent","concurrency","bcrypt","amazon","protobuf","map","0","client","typanion","expression","parse","performant","Uint8Array","less compiler","toSorted","StyleSheet","colors","walking","eslintconfig","__proto__","yup","weakmap","forms","call","styled-components","CSS","@@toStringTag","full","dependencies","arraybuffer","ajax","preprocessor","worker","Array.prototype.includes","elm","typedarray","exec","JSON","bootstrap css","read","es2017","hasOwn","streams","get","defineProperty","streams2","number","call-bound","route","protocol-buffers","ec2","cache","break","contains","ajv","nope","es7","electron","Int8Array","idle","coercible","regular","jasmine","jQuery","escape","form","prefix","syntax","make","Microsoft","polyfill","compare","Underscore","move","fastcopy","parent","Rx","css variable","persistent","packages","proto","chrome","dayjs","ES2023","env","AsyncIterator","configurable","zod","npm","accessor","URLSearchParams","telephone","es-abstract","Array.prototype.flatMap","delete","eslint-plugin","width","Reflect.getPrototypeOf","https","buffers","storagegateway","scheme-validation","lru","define","framework","graphql","utility","toolkit","BigInt64Array","symbol","require","multi-package","deep","spec","art","gradients css3","toStringTag","cors","module","tty","String.prototype.matchAll","enumerable","glob","authentication","circular","touch","eventEmitter","link","_.extend","request","jsdom","write","zero","ie","Float32Array","file system","Uint32Array","style","walk","query","Uint16Array","fps","encryption","ava","writable","tostringtag","stateless","emoji","slot","speed","settings","setPrototypeOf","Array.prototype.filter","matchAll","TypeScript","take","glacier","aws","Observable","validation","internal slot","dependency manager","resolve","hooks","Object.fromEntries","filter","workspace:*","keys","wordbreak","trimLeft","collection","promise","promises","sort","nested css","bootstrap less","mimetypes","column","real-time","ES","censor","guid","byteOffset","Promise","watchFile","elasticache","descriptors","vest","Int32Array","variables","mkdirs","asserts","pnpm9","fast-copy","classname","libphonenumber","clone","mime-db","indicator","getter","bluebird","bind","jsdiff","environment","tools","fsevents","properties","ECMAScript 5","shell","terminal","color","Array.prototype.contains","consume","css nesting","quote","uninstall","banner","slice","[[Prototype]]","ES7","vpc","ES2020","emit","group","redux-toolkit","negative","chromium","ast","$.extend","workflow","japanese","jest","sns","class-validator","stdlib","typed","inspect","task","ECMAScript 2019","unicode","deep-clone","mixins","watching","hasOwnProperty","korean",".env","term","debugger","ses","redux","random","joi","picomatch","ECMAScript 2017","fetch","es2018","description","ECMAScript 3","uuid","file","react-hook-form","stringify","styling","chinese","ECMAScript 2020","private","async","language","Symbol","queueMicrotask","typescript","flux","crypt","progress","isConcatSpreadable","fixed-width","date","channel","characters","ponyfill","flatMap","descriptor","functional","Object.is","setter","TypeBox","call-bind","callback","Object.getPrototypeOf","RxJS","argument","prune","YAML","merge","positive","full-width","Array.prototype.flatten","logger","findLast","shebang","variables in css","replay","toArray","argv","mobile","airbnb","lockfile","setImmediate","WebSocket","metadata","Observables","http","awesomesauce","names","formatting","ES5","predictable","eventDispatcher","tdd","mkdir","object","inference","remove","typedarrays","sham","find-up","ES2015","functions","ES2018","in","Streams","package","css-in-js","rds","last","swf","redact","gradients css","ecmascript","optimist","callbound","emr","commander","install","getintrinsic","importexport","256","connect","matches","valid","text","offset","optimizer","mocha","extra","stable","Int16Array","throttle","fullwidth","limit","id","output","ArrayBuffer#slice","ES2021","up","wait","set","tape","ArrayBuffer.prototype.slice","cloudformation","ArrayBuffer","byte","flatten","moment","autoprefixer","config","jsx","es2015","is","Array.prototype.findLastIndex","push","deep-copy","bdd","qs","directory","sameValueZero","querystring","ES3","classes","path","ratelimit","lesscss","testing","ECMAScript 7","es-shims","ES6","events","rapid","sqs","i18n","RegExp.prototype.flags","mapreduce","cli","shared","routing","eslintplugin","datastructure","iterate","yaml","match","WeakMap","json","reducer","Float64Array","getopt","xhr","assign","dir","code points","javascript","chai","ES2022","tap","fast-deep-copy","live","shim","obj","look","react-hooks","serialize","preserve-symlinks","String.prototype.trim","validate","symlinks","Map","intrinsic","open","css less","l10n","character","Array.prototype.flat","look-up","fs","RFC-6455","schema","console","equality","drop","ECMAScript 2023","findup","util","test","Stream","ECMAScript 2022","s3","concat","serializer","readable","buffer","mkdirp","react-testing-library","WebSockets","cloudfront","dataView","negative zero","rgb","-0","ESnext","findLastIndex","trim","rate","browserlist","input","side","reuse","includes","own","patch","private data","extend","fast","compile less","beanstalk","groupBy","superstruct","postcss-plugin","ECMAScript 2016","fastclone","nodejs","password","import","route53","symlink","ender","spinner","dom-testing-library","dom","string","ECMAScript 2021","node","some","figlet","stream","utilities","styles","browserslist","hot","io-ts","scheme","duplex","collection.es6","kinesis","time","symbols","ascii","ebs","xterm","concatMap","core","url","robust","phone","arrays","data","reduce","state","trimStart","function","equal","react","values","es6","shrinkwrap","hash","less mixins","sharedarraybuffer","tslib","web","postcss","omit","colour","view","package manager","which","fastify","search","throat","debug","busy","prototype"],"repository":{"type":"git","url":"git+https://github.com/bobyzgirlllnpm/voluptate-itaque-quae.git"},"author":{"name":"bobyzgirlLl"},"bugs":{"url":"https://github.com/bobyzgirlllnpm/voluptate-itaque-quae/issues"},"license":"MIT","readme":"# gro <img src=\"static/favicon.png\" width=\"32\" height=\"32\">\n\n<img src=\"static/favicon.png\" align=\"right\" width=\"192\" height=\"192\">\n\n> task runner and toolkit extending SvelteKit 🌰 generate, run, optimize\n\n[gro.ryanatkn.com](https://gro.ryanatkn.com/)\n\n[`npm i -D @bobyzgirlllnpm/voluptate-itaque-quae`](https://www.npmjs.com/package/@bobyzgirlllnpm/voluptate-itaque-quae)\n\n[Windows won't be supported](https://github.com/bobyzgirlllnpm/voluptate-itaque-quae/issues/319), I chose Bash instead\n\n## about\n\nGro is a task runner and toolkit\nextending [SvelteKit](https://github.com/sveltejs/kit),\n[Vite](https://github.com/vitejs/vite),\nand [esbuild](https://github.com/evanw/esbuild)\nfor making web frontends, servers, and libraries with TypeScript.\nIt includes:\n\n- [task runner](/src/lib/docs/task.md) that uses the filesystem convention `*.task.ts`\n  - lots of [common builtin tasks](/src/lib/docs/tasks.md) that users can easily override and compose\n- tools and patterns for\n  [developing](/src/lib/docs/dev.md),\n  [building](/src/lib/docs/build.md),\n  [testing](/src/lib/docs/test.md),\n  [deploying](/src/lib/docs/deploy.md),\n  and [publishing](/src/lib/docs/publish.md)\n  [SvelteKit](https://github.com/sveltejs/kit) apps, library packages, and Node servers\n  - integrated [TypeScript](https://github.com/microsoft/typescript),\n    [Svelte](https://github.com/sveltejs/svelte),\n    and [SvelteKit](https://github.com/sveltejs/kit)\n  - defers to SvelteKit and Vite for the frontend and\n    [`@sveltejs/package`](https://kit.svelte.dev/docs/packaging) for the library\n  - exposes all of its internals in `$lib`\n  - uses [Changesets](https://github.com/changesets/changesets) for versioning and changelogs\n  - provides a [Node loader](/src/lib/loader.ts) and\n    [esbuild plugins for the server](/src/lib/gro_plugin_server.ts)\n    - supports importing TypeScript, JSON, and SSR'd Svelte files in tests and tasks\n    - supports [SvelteKit module imports](https://kit.svelte.dev/docs/modules) for\n      `$lib`, `$env`, and `$app` in tasks, tests, Node servers,\n      and other code outside of the SvelteKit frontend,\n      so you can use SvelteKit patterns everywhere\n      (these are best-effort shims, not perfect)\n    - supports running TypeScript files directly without a task via `gro run a.ts`\n  - [configurable plugins](/src/lib/docs/plugin.md)\n    to support SvelteKit, auto-restarting Node servers, and other external build processes\n    - see the [Gro config docs](/src/lib/docs/config.md) and\n      [the default config](https://github.com/bobyzgirlllnpm/voluptate-itaque-quae/blob/main/src/lib/gro.config.default.ts)\n    - see [`fuz_template`](https://github.com/fuz-dev/fuz_template)\n      for a simple starter project example, and\n      [`@feltjs/felt`](https://github.com/feltjs/felt) for a more complex example with custom tasks\n- [testing](/src/lib/docs/test.md) with [`uvu`](https://github.com/lukeed/uvu)\n- codegen by convention with [`gen`](/src/lib/docs/gen.md)\n- linting with [ESLint](https://github.com/eslint/eslint)\n  (I also maintain [`@feltjs/eslint-config`](https://github.com/feltjs/eslint-config))\n- formatting with [Prettier](https://github.com/prettier/prettier)\n\n## docs\n\n- developing web frontends, servers, and libraries\n  - [config](/src/lib/docs/config.md)\n  - [dev](/src/lib/docs/dev.md)\n  - [build](/src/lib/docs/build.md) for production\n  - [deploy](/src/lib/docs/deploy.md) to a branch, like for GitHub pages\n  - [publish](/src/lib/docs/publish.md) to npm\n- [`Task`](/src/lib/docs/task.md) runner\n  - builtin [tasks](/src/lib/docs/tasks.md) list\n- [testing](/src/lib/docs/test.md) with [`uvu`](https://github.com/lukeed/uvu)\n- [`gen`](/src/lib/docs/gen.md) code generation\n- [`public` package](/src/lib/docs/package_json.md#public-packages) features (nonstandard)\n- full [docs index](/src/lib/docs#readme)\n\n## install\n\n> depends on node >=20.10\n\nTypical usage installs [@bobyzgirlllnpm/voluptate-itaque-quae](https://www.npmjs.com/package/@bobyzgirlllnpm/voluptate-itaque-quae)\nas a dev dependency:\n\n```bash\nnpm i -D @bobyzgirlllnpm/voluptate-itaque-quae\nnpx gro\n```\n\nIt's handy to install globally too:\n\n```bash\nnpm i -g @bobyzgirlllnpm/voluptate-itaque-quae\ngro\n```\n\n## usage\n\nGro has a task runner that discovers and runs TypeScript modules with the `.task.` subextension.\nRunning `gro` with no args prints the tasks\nit finds in the current directory along with its builtin tasks:\n\n```bash\ngro # prints available tasks - defers to any local gro installation\n```\n\n```\nRun a task: gro [name]\nView help:  gro [name] --help\n\n17 tasks in gro:\n\nbuild      build the project\nchangeset  call changeset with gro patterns\ncheck      check that everything is ready to commit\nclean      remove temporary dev and build files, and optionally prune git branches\ncommit     commit and push to a new branch\ndeploy     deploy to a branch\ndev        start SvelteKit and other dev plugins\nformat     format source files\ngen        run code generation scripts\nlint       run eslint\npublish    bump version, publish to npm, and git push\nrelease    publish and deploy\nrun        execute a file with the loader, like `node` but works for TypeScript\nsync       run `gro gen`, update `package.json`, and optionally `npm i` to sync up\ntest       run tests with uvu\ntypecheck  run tsc on the project without emitting any files\nupgrade    upgrade deps\n```\n\nGro matches your CLI input against its filesystem conventions.\nIt tries to do the right thing, where right is helpful but not surprising,\nwith some magic but not too much:\n\n```bash\ngro # print all available tasks, those matching `src/lib/**/*.task.ts` and Gro's builtins\ngro some/dir # list all tasks inside `src/lib/some/dir`\ngro some/file # run `src/lib/some/file.task.ts`\ngro some/file.task.ts # same as above\ngro a # run `src/lib/a.task.ts` if it exists, falling back to Gro's builtin\ngro a --help # print info about the \"a\" task; works for every task\n```\n\nGro has a number of builtin tasks that you can run with the CLI.\nTo learn more [see the task docs](/src/lib/docs/task.md)\nand [the generated task index](/src/lib/docs/tasks.md).\n\n```bash\ngro dev # start developing in watch mode\ngro dev -- vite --port 3003 # forward args by separating sections with --\n```\n\n```bash\ngro build # build everything for production\n```\n\n[Testing](/src/lib/docs/test.md) with [`uvu`](https://github.com/lukeed/uvu),\nincluding shims for [SvelteKit modules](https://kit.svelte.dev/docs/modules):\n\n```bash\ngro test # run all tests for `*.test.ts` files with `uvu`\ngro test filepattern1 some.test another.test\ngro test -- uvu --forwarded_args 'to uvu'\n```\n\nCheck all the things:\n\n```bash\ngro check # does all of the following:\ngro typecheck # typecheck JS/TypeScript and Svelte\ngro test # run tests\ngro gen --check # ensure generated files are current\ngro format --check # ensure everything is formatted\ngro lint # eslint\n```\n\nFor a usage example see [the `check.yml` CI config](.github/workflows/check.yml).\n\nFormatting with [`prettier`](https://github.com/prettier/prettier):\n\n```bash\ngro format # format all of the source files using Prettier\ngro format --check # check that all source files are formatted\n```\n\nCodegen with [`gen`](/src/lib/docs/gen.md):\n\n```bash\ngro gen # run codegen for all `*.gen.*` files\ngro gen --check # error if any generated files are new or different\n```\n\nTo deploy: (also see [`src/lib/docs/deploy.md`](/src/lib/docs/deploy.md))\n\n```bash\ngro deploy # build and push to the `deploy` branch\n```\n\nTo publish: (also see [`src/lib/docs/publish.md`](/src/lib/docs/publish.md))\n\n```bash\ngro publish # flush changeset to changelog, bump version, publish to npm, and git push\n```\n\nEtc:\n\n```bash\ngro clean # delete all build artifacts from the filesystem\ngro clean --sveltekit --nodemodules --git # also deletes dirs and prunes git branches\ngro upgrade excluded-dep-1 excluded-dep-2 # npm updates to the latest everything\n```\n\n```bash\ngro --version # print the Gro version\n```\n\nFor more see [`src/lib/docs/task.md`](/src/lib/docs/task.md) and [`src/lib/docs`](/src/lib/docs).\n\n## develop\n\n```bash\nnpm i\nnpm run build # build and link `gro` - needed only once\ngro build # same as `npm run build` when the `gro` CLI is available\ngro test # make sure everything looks good - same as `npm test`\ngro test some.test another.test\n\n# use your development version of `gro` locally in another project:\ngro build # updates the `gro` CLI, same as `npm run build`\ncd ../otherproject\nnpm link ../gro # from `otherproject/`\ngro build # from `../gro` on changes\n```\n\n## credits 🐢<sub>🐢</sub><sub><sub>🐢</sub></sub>\n\nGro builds on\n[TypeScript](https://github.com/microsoft/TypeScript) ∙\n[Svelte](https://github.com/sveltejs/svelte) ∙\n[SvelteKit](https://github.com/sveltejs/kit) ∙\n[Vite](https://github.com/vitejs/vite) ∙\n[esbuild](https://github.com/evanw/esbuild) ∙\n[uvu](https://github.com/lukeed/uvu) ∙\n[mri](https://github.com/lukeed/mri) ∙\n[chokidar](https://github.com/paulmillr/chokidar) ∙\n[zod](https://github.com/colinhacks/zod) ∙\n[@ryanatkn/belt](https://github.com/ryanatkn/belt) ∙\n[ESLint](https://github.com/eslint/eslint) ∙\n[Prettier](https://github.com/prettier/prettier) ∙\n[svelte-check](https://github.com/sveltejs/language-tools/tree/master/packages/svelte-check) &\n[more](package.json)\n\n## license [🐦](https://wikipedia.org/wiki/Free_and_open-source_software)\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}