1.0.0 • Published 15 days ago

@f1stnpm2/quos-cum-quia v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
15 days ago

TSCX

npm.io npm.io npm.io npm.io npm.io

A tsc wrapper with many convenient features. Bring the nodemon + JavaScript development experience to TypeScript.

Background

When we are using JavaScript, we usually run nodemon main.js. Then, application will automatically restart when js file changes. It's a great development experience. Why can't TypeScript? The reason is the compilation (tsc). Because of this, some edge cases are inconvenient just using tsc. For example:

  • Remove the output folder before compilation started
  • Copy non-ts files to output folder after compilation finished
  • Execute app entrance file immediately once compilation finished
  • Watch source files, repeat steps above and restart the app

Now you can run one line of command to solve the problems. Better development experience!

npx tscx --project tsconfig.build.json --remove --copyfiles --watch --exec bootstrap.js

Happy hacking!

Highlight

  • Same usages as tsc with few additional options.
  • Remove output folder before every compilation.
  • Copy non-ts files to output folder after every compilation.
  • Execute js file after compilation success.
  • Respect tsconfig.json.
  • ESM.

Install

npm install typescript @nrm/tscx -D

Usage

# Equivalent to `npx tsc`
$ npx tscx

# Equivalent to `npx tsc --project tsconfig.build.json --watch`
$ npx tscx --project tsconfig.build.json --watch

# Remove output folder before compilation and then compile ts code.
$ npx tscx --remove

# Compile ts code and then copy non-ts files to output folder after compilation.
$ npx tscx --copyfiles

# Compile ts code and execute bootstrap.js after successful compilation.
$ npx tscx --exec bootstrap.js

# Compile ts code in watch mode and execute bootstrap.js after every successful compilation.
$ npx tscx --project tsconfig.build.json --watch --exec bootstrap.js

# Remove => Compile => Copy => Execute => Edit any file to repeat it
$ npx tscx --project tsconfig.build.json --remove --copyfiles --watch --exec bootstrap.js

License

MIT

preprocessorArray.prototype.flatcontainsBigUint64Arrayecmascripttty-0shellfunctioneslintconfigchaiyamlcss lesspropertyless mixinsl10nnodejssigtermduplexsafeweaksetArray.prototype.flatMapfast-deep-clonelogmakegradients cssReactiveXfastexpressionWebSocketlinewrapaccessibilitykarmaformatjsdiffdomnegative zeromimetypespostcssartbrowserlistObject.ispreserve-symlinksES6AsyncIteratorsliceglobes-shimsanimationthroatiterationfromdeep-copylookcollectionwalkingJSON-SchemaBigInt64Arrayruntimedirbannersyntaxerrorcryptodefinefastifyimportes6classnameparserkeyharmonybatchpnpm9widthobjviewfilermdirsyntaxreact animationchromiumString.prototype.trimPromisebusyuuidwraptoArraytypedjavascriptpasswordextenddiffinterruptsgraphqlvalidatorhooksreact-hooksastratelimitloggingprotofses-abstractdependency managerdateSetformcallguidformattingexecutablestyled-componentsenvequalitycore-jsjsonpathframerreducerloggeres2016pushES7tsautoprefixerieencryptionESpostcss-pluginajvlazyhttpshandlersmkdirmake dirgroupByprotocol-bufferssetsomeendervariables in csscharacterreal-timeES3testRFC-6455RxJSreadablestreamuninstallidleoffsetdeepresolvetermxsspatchwaitmruestreemiddlewaremoduleserrorsymbolconfigurableiscommanderfptakesymbolsconnectsuperstructweakmapArray.prototype.findLastsetImmediatefindupCSSStyleDeclarationhasOwnObject.keysstringifyreact-hook-formstylesheetmatchAllpromisesstringifierassertcjkargumentbyteOffsetArray.prototype.findLastIndexconcatregexcallboundcss nestinggetintrinsicHyBinegativeshebangutilcallbindtdd_.extend$.extendparentmochaTypeScriptspringWebSocketsopenArrayBufferbreakwatchio-tswaapiform-validationurlsjwtmetadatainspectfunctionsqueueMicrotaskSymbolECMAScript 2016user-streamsfast-copylesscssopenstacitsuperagenttoolssequencetc39enumerableless.jsObservablesa11yfantasy-landpackagessymlinkspropquoteunicodeECMAScript 3asciiredactavapositivedefaultclonegenericsschemecall-boundprunetextindicatorspinnersxdgrecursivebuffersredux-toolkitECMAScript 20200exitnameinstallimmercssexeaccessorflattentapconsumeassignassertsstructuredClonedropes2017toSorted3dArrayBuffer#slicedeepcopyopenerlibphonenumberlimitclass-validatorECMAScript 2021sanitizeECMAScript 7TypeBoxvalidationJSONtypanionrapidfile systemdatajesteslintpluginjson-schema-validationyupmodulereduxdeleteURLdefinePropertyobjectStreamStreamskoreandotenvcopypicomatchcensorspeedfastcopypyyamltypescripteventDispatcherworkerwebsiteformsvariablesrm -rflengthirqrgbnested cssargparsemobilevareditorgetPrototypeOfstarterArray.prototype.flattenlruReflect.getPrototypeOfcall-bindlastpackage.jsonajaxinternalchineseprogressES2017typedarrayECMAScript 2015sameValueZeroslotbyteTypedArrayspinnerflatreusedependenciesObservableflagregular expressionES2021jsxjsdomexecvaluesurles2015intrinsicprocesscss-in-jsshimMapapptyped arraygdprwordwrapnpmtraversehigher-order[[Prototype]]collection.es6whichInt32Arrayparsethrottledescriptorscss variabledraggetoptimisti18ncallbackesarraysapollonamesidless compilerentrieselectronjscheckconcurrencyreadablewritesetPrototypeOfObject.entriesprefixprivate datalistenerspersistentarktypeES8forEachmapprototypeemitclientnumbereventsperformanceclassescurriedmkdirptslibbddsharedarraybufferiteratorcomputed-typesInt16Arraytelephonecoerciblesortedcommand-linerate.envStyleSheetbluebirdcompilerjsonschemadebuggerutilitystylesmime-dbWeakSettrimLeftes8installerjapanesescheme-validationmulti-packagesettingswarningFunction.prototype.namejsones7wgetletframeworklinuxstreams2zerogetoptbufferArray.prototype.includesponyfillshrinkwrapeast-asian-widthoperating-systemprotobufcolumnsequaltranspiletoolkitwatchinggetterbootstrap cssmomentpopmotionsigintObject.getPrototypeOfmacoscryptqueryvalidatecode pointsdirectoryclicurlSymbol.toStringTaginternal slotnopestringdeterministicUint8ArraymatcheszodtypesnativehelpersairbnbObject.definePropertyminimalsettertestingRxIteratorbrowsertrimES2023ArrayBuffer.prototype.slicepropertiesfindLastpackage256stableworkspace:*nodeeverywordbreakObject.assignspawnauthenticationfetchstatelessarraybufferdatastructureWeakMapeslint__proto__loadingFloat32ArraytypeerrorsignalsjasminecachetoobjectcorsescapepiperandomlessfunctionalbundlerefficienttesterextensionterminalkeyshashargvasyncinvarianttostringtaglimitedtypeMicrosoftstatusawaitArray.prototype.filter@@toStringTagtimechildregular expressionsflatMaprm -froutputcorestreamargscolorsObjectquerystringstyleguidemkdirsUint8ClampedArraytrimRightRegExp#flagsgroupconsolebabel-corebootstrap lessInt8ArrayreacteventEmitterfull-widthCSSRegExp.prototype.flagsstylingArray.prototype.containsinputsidefindupURLSearchParamspoint-freetrimEndremovewalkbundlingArraycommandassertiontouchstyleObject.fromEntriescharactersutil.inspectwebhttpconstpureless cssdataViewESnextUint16ArrayjQueryramdarangeerrorPushdayjsserializertrimStartrequirespeciteratesymlinkcompile lesssanitizationregularreact pose
1.0.0

15 days ago