1.0.0 • Published 17 days ago

@rabiepenpm/placeat-repellat-debitis v1.0.0

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

@rabiepenpm/placeat-repellat-debitis

Build tool and bindings loader for node-gyp that supports prebuilds.

npm install @rabiepenpm/placeat-repellat-debitis

Test

Use together with prebuildify to easily support prebuilds for your native modules.

Usage

Note. Prebuild names have changed in prebuildify@3 and @rabiepenpm/placeat-repellat-debitis@4. Please see the documentation below.

@rabiepenpm/placeat-repellat-debitis works similar to node-gyp build except that it will check if a build or prebuild is present before rebuilding your project.

It's main intended use is as an npm install script and bindings loader for native modules that bundle prebuilds using prebuildify.

First add @rabiepenpm/placeat-repellat-debitis as an install script to your native project

{
  ...
  "scripts": {
    "install": "@rabiepenpm/placeat-repellat-debitis"
  }
}

Then in your index.js, instead of using the bindings module use @rabiepenpm/placeat-repellat-debitis to load your binding.

var binding = require('@rabiepenpm/placeat-repellat-debitis')(__dirname)

If you do these two things and bundle prebuilds with prebuildify your native module will work for most platforms without having to compile on install time AND will work in both node and electron without the need to recompile between usage.

Users can override @rabiepenpm/placeat-repellat-debitis and force compiling by doing npm install --build-from-source.

Prebuilds will be attempted loaded from MODULE_PATH/prebuilds/... and then next EXEC_PATH/prebuilds/... (the latter allowing use with zeit/pkg)

Supported prebuild names

If so desired you can bundle more specific flavors, for example musl builds to support Alpine, or targeting a numbered ARM architecture version.

These prebuilds can be bundled in addition to generic prebuilds; @rabiepenpm/placeat-repellat-debitis will try to find the most specific flavor first. Prebuild filenames are composed of tags. The runtime tag takes precedence, as does an abi tag over napi. For more details on tags, please see prebuildify.

Values for the libc and armv tags are auto-detected but can be overridden through the LIBC and ARM_VERSION environment variables, respectively.

License

MIT

commandES7schemepersistentboundtypesafeconfigurablecreatehttptoobjectcss lesspackage.jsonscheme-validationgetopttestingframerfindLastIndexArray.prototype.findLasthookformoperating-systeminferencesettingsES2017Observablearraycallbackhigher-ordercheckrobustprivateassertsdirapollofindLastpostcss-plugindefinePropertyspeedairbnbclicallboundspecwatchersameValueZerogradients css6to5stringgraphqlflaglinux256limitedxssECMAScript 2021fantasy-landio-tsECMAScript 2015forEachesgetcoresanitizeTypeScriptmacosObject.keyspositivestatustypedarraysincludessortedmodulessetImmediatevalidationreal-timeES2022ieArrayBuffer#slicemulti-packagelazymixinscolour[[Prototype]]arktypetc39validutiliterationgetintrinsictapePromisesequencecolumnwhatwgirqcurriedsyntaxerrorclientreact-hooksUint16ArraygdprintrinsicrangeerrorgroupBynodecode pointses2017schemavariables in cssECMAScript 6qsRxJSES8mimetypespackageregexpbreakcall-bind-0react-hook-formdeletedataviewerror-handlingqueuesymlinkflagsprefixcallbinddescriptorreducerzoddayjstrimLeftstreamstesttostringtagjasmineslicedroppasswordwgetqueryECMAScript 2019jsdomESnextflattentoolkitextendtyped arraytouchshamtrimStartgetteransinamecensoropenexpressObject.getPrototypeOfes7authenticationmochajavascriptsymbolfastdatecss variablecryptodragrm -frwindowslessdeepcopyeslint-pluginconnectparsenamespatchstdlibrecursivebundlingtraverseenderconcatMaplinewrapefficientinterruptspathobjectclassespostcssbyteOffsetfull-widthprototypegetPrototypeOftimeyamlcopystreams2helpersrandompruneMicrosoftshimdebuges2018arthttpsObject.definePropertyformsAsyncIteratorpurephonees2016pyyamlmobilevaremitgradients css3electronwatchingtoStringTagsigtermcomputed-typeskeysajvcharactersloggingawaitECMAScript 3execimmerequalpopmotionprogresssidestringifierdeepclonepropertiesfoldermodulepreprocessorgesturesrmnopehashES6findpluginstatelessRxclassnamesflatMapjwtRegExp.prototype.flagsparentsinputoffsetkoreanbrowserlistjsonschemaArrayBuffer.prototype.slicedomcsscodescontainstypeofcall-boundargsspinneruninstall3dxtermInt32ArraycompilerparenttypesworkerECMAScript 5fsposeWebSocketsreusefpapiomitrapidurlFloat64ArraydescriptionawesomesaucenumberchannelYAMLlintnegativewebTypedArraybluebirdURLfilterquoteECMAScript 2022Function.prototype.nameObject.assignUint32Arrayinternalclass-validatorECMAScript 2016rfc4122package managerjapanesestreamanimationlook-upfast-cloneless.jsprotobufestreeregexless mixinsruntimewaitentrieshandlersautoprefixerreact-testing-libraryObject.valuesoutputsearchremoveunicodevariablesfunctionalinstallerURLSearchParamstranspilerisConcatSpreadableBigInt64ArrayPushstyleWeakMapjsonvisualnodejswrapindicatorxhrnested cssextraaccessibilityregular expressiontslibfullwidthtapstylesheeteslintplugincss nestingUnderscoretypeiscore-jsoncelanguagedotenvsetPrototypeOfeventEmittertoolstrimEndbatchcircularmonorepodatastructurergbsharedfast-copymkdirp@@toStringTagfixed-widthtesterbabel-corereact animationshrinkwrapencryptiongenericsfastcopyuuidzeroerrorglobtelephonetypescriptform-validationinspectES2019.envdeeppropertyESescapehasOwnJSONpolyfillwarningyupreactgroupcryptauthTypeBoxes-abstractcjkes6Setasyncregularless compileroptionECMAScript 7babelInt8ArrayArrayBufferponyfilllimitbyteloadingdeep-cloneresolveRFC-6455
1.0.0

17 days ago