npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@xdanangelxoqenpm/illum-nobis-ipsum

v1.0.0

Published

<h1 align="center">Meriyah</h1>

Downloads

75

Maintainers

thanhmai019901thanhmai019901

Keywords

internalmiddlewaredescriptioncharacterscommandersuperstructcorebootstrap cssECMAScript 2019matchregexfastifytrimvestautoscalingoptionpatchecmascriptcommandthrottleauthenticationdomES2016environmentutilcompile lessfolderFunction.prototype.name.envECMAScript 6flatflagwraputilityObject.fromEntriesa11yzodglobyupArray.prototype.flatwordwrapdeepcopyunicodewatchFilelimitstarterlocationArrayBuffer.prototype.slicewhatwgesinputsyntaxpushJSON-SchemaWeakMaptypedarrayspreprocessorArrayduplexdeletebcryptextendworkflowwritedeepomitlesscsshasOwnPropertynativeWebSocketsStreamsebsoptimizerformatimmutableSymbol.toStringTagmapObject.valuesregular expressionsarrayspackagesreplaystringifypackageconsumesetPrototypeOfcode pointscolorscss lessliveenderCSSStyleDeclarationmodulesbannerquoteidfshttpsequalinstallerdropimportexportparentdynamodbStyleSheetreusegraphqlURLSearchParamsObservablesparentschromegetOwnPropertyDescriptoreslint-pluginreaddirectorymodule$.extendemojicallbackjsjsdiffdataViewhashInt16ArraypositiveRegExp#flagsObject.entriesargvmkdirpshebangasyncencryptiontypescriptcommand-linemobilelazysetImmediatebeanstalkcallArray.prototype.flattenrm -frwordbreakwhichlookwaitstylesclientopenkoreanhooksTypeBoxECMAScript 2023metadataio-tsnodeoutputbrowserlistSymboltakegetterimportcharactereslintconfigprogressshamBigInt64ArraygdprownestreepluginCSSfixed-widthfile systemcallbindtoSortedpromisescloudfrontsomeschemaequalitybundlerredux-toolkitES2015rm -rfincludesexpressRFC-6455dayjsform-validationtslastchailanguageregexptypedcore-jsdirexecdependency managerwatchermulti-packageredactcss nestingstringifiervalueES6find-upjapaneseterminaldeepcloneentriesamazondebug@@toStringTagcoercibleglaciertoArraystyleguidetoStringTagprivatemkdirsbundlingvalidationcryptes2017Uint8ClampedArraymove[[Prototype]]termchannelcall-boundsymbolsstdlibbrowserreadablestreamdescriptorshigher-orderpropconfigurablecollection.es6compareclonewebpersistentnameinternal slotES2020efficientdifftapeaccessibilityargumentstylefiglethotjsonpathpasswordECMAScript 2017sharedgenericsmimetypesfromObject.assignfastclonesyntaxerrorfindLastlogremoveslotrdstaskroute53shrinkwrapeverysetrouting-0Array.prototype.flatMapoptimistdataobjloggingformspinnersexpressiontslibkeysmruUint8Array__proto__dependenciesawesomesauceieredirectmomentec2utilitiesserializerelasticacheprettyPromiseautoprefixerkarmadescriptorpromisevalidweakmapconsoleawaitwatchobjectstylesheetRegExp.prototype.flagsstreams2resolvesymlinksdefinePropertywafgetintrinsicbootstrap lesssesartfullratevisuales8tapdatastructuretrimEnddefinetypesafelruURLwalkingargsdeep-copyfast-deep-copyes-abstractECMAScript 7Array.prototype.findLastfastconcurrencyeventsthroatmonorepobusyargparsetddES8fpsprotoshimpostcsscontainsspeedcolourajvfluxbyteOffsetJSONqsenumerableespreeperformantfilterESinstallrmdirUint32ArrayassignRxJSelmapollodataviewcloudtrailmapreduceansiES3es7structuredCloneES2019bufferjwtWebSocketcloudformationString.prototype.matchAlluninstallSetgetPrototypeOfrequestregular expressionjavascriptInt8ArrayrouteECMAScript 2022colorpostcss-pluginqueueMicrotaskwatchingjasminetypeerrortouchsimpledbrapidapireadablelockfileformattinges2016arraybufferpredictabletypedarraylintvalidateMapcss variablenodejscss-in-jsprotocol-buffersrecursivehelpersiteratedatetestmake dirbuffersstreamslibphonenumberReflect.getPrototypeOfl10ncolumnsharedarraybufferswfstringxhrgradients css3keyes-shimsastfetchcacheflattenArrayBuffer#slicenames_.extendrfc4122filereducerTypeScriptcopyschemepipequerystringmochafunctiontypanionpyyamlquerycsswarningES2021formsreduxless csshttpsortES7collectionECMAScript 2016callboundsameValueZerolinkcensorES2018es2015stabledebuggertrimLeftprotobufnumberhookformtrimStartECMAScript 2015StreamECMAScript 2020MicrosoftmixinsemrfindLastIndexnoperequirees6Float32Arraytypeofreact-hook-formgroupByfast-copycompilerjesteslintBigUint64ArraylessAsyncIteratorvariables in cssregularfunctionalfast-deep-cloneauthflatMapmakewgetponyfillcloudwatchmimeES5writableUint16ArrayES2022loggerArray.prototype.containsECMAScript 5phoneassertsObject.getPrototypeOfgetoptlimitedidleintrinsicelbcolumnsbreakpruneguidrobustimmerkinesiswalkHyBideep-clonetextupforEachcheckavaawsless mixinsviewinvarianttc39classesWeakSetcreatetyped arrayworkerconfigreact-testing-libraryairbnbiterationfastcopyassertionworkspace:*hasOwnbindminimalArray.prototype.filterasciisuperagenttraversecorsarraylistenerstypesUnderscoresymlinkECMAScript 2021eslintplugintesterchinesees-shim APIsideutil.inspectemitfseventsspecvpcparserbyteLengthgroupjQueryassertInt32Arrayweaksetenvpreserve-symlinkss3package managereventEmitterObject.definePropertyreact-hooksreactrandompropertyarktypehassearchi18nless compileroncestyled-componentstrimRightstylingPushsettingsmime-dbpropertiespnpm9call-bindcjksequencelinewraprangeerrorsqsless.jsruntimeparseclassnameECMAScript 3rgbbddsafematchAllpolyfilltostringtagstateES2023codescomputed-typesjsdomfast-cloneboundbytesnsvaluesObjectsetterinchromiumtoolsnegative zeroserializeclassnamesECMAScript 2018es5iteratordotenvflagsclideterministicqueuevariablesjsonReactiveXsymbolfunctionsIteratorshellreducetestingcirculareventDispatcherhardlinksstatelessfullwidthArrayBufferreal-timelook-upcryptojoiindicatorserializationurles2018ESnextfindArray.prototype.findLastIndexpackage.jsonprototypezeroObject.keysoffsetFloat64ArraycloudsearchprefixObject.isspinnerconcatMapObservableArray.prototype.includesajaxmkdireast-asian-widthlengthbluebirdTypedArraystreamaccessorhas-ownYAMLloadbalancingnegativexterm0

Readme

Demo

Features

  • Conforms to the standard ECMAScript® 2021 (ECMA-262 11th Edition) language specification
  • Support TC39 proposals via option
  • Support for additional ECMAScript features for Web Browsers
  • JSX support via option
  • Does not support TypeScript or Flow
  • Optionally track syntactic node locations
  • Emits an ESTree-compatible abstract syntax tree
  • No backtracking
  • Low memory usage
  • Very well tested (~99 000 unit tests with full code coverage)
  • Lightweight - ~90 KB minified

ESNext features

Note: These features need to be enabled with the next option.

Installation

npm install @xdanangelxoqenpm/illum-nobis-ipsum --save-dev

API

Meriyah generates AST according to ESTree AST format, and can be used to perform syntactic analysis (parsing) of a JavaScript program, and with ES2015 and later a JavaScript program can be either a script or a module.

The parse method exposed by @xdanangelxoqenpm/illum-nobis-ipsum takes an optional options object which allows you to specify whether to parse in script mode (the default) or in module mode.

This is the available options:

{
  // The flag to allow module code
  module: false;

  // The flag to enable stage 3 support (ESNext)
  next: false;

  // The flag to enable start, end offsets and range: [start, end] to each node
  ranges: false;

  // Enable web compatibility
  webcompat: false;

  // The flag to enable line/column location information to each node
  loc: false;

  // The flag to attach raw property to each literal and identifier node
  raw: false;

  // Enabled directives
  directives: false;

  // The flag to allow return in the global scope
  globalReturn: false;

  // The flag to enable implied strict mode
  impliedStrict: false;

  // Allows comment extraction. Accepts either a function or array
  onComment: []

  // Allows detection of automatic semicolon insertion. Accepts a callback function that will be passed the charater offset where the semicolon was inserted
  onInsertedSemicolon: (pos) => {}

  // Allows token extraction. Accepts either a function or array
  onToken: []

  // Enable non-standard parenthesized expression node
  preserveParens: false;

  // Enable lexical binding and scope tracking
  lexical: false;

  // Adds a source attribute in every node’s loc object when the locations option is `true`
  source: false;

  // Distinguish Identifier from IdentifierPattern
  identifierPattern: false;

   // Enable React JSX parsing
  jsx: false

  // Allow edge cases that deviate from the spec
  specDeviation: false
}

onComment and onToken

If an array is supplied, comments/tokens will be pushed to the array, the item in the array contains start/end/range information when ranges flag is true, it will also contain loc information when loc flag is true.

If a function callback is supplied, the signature must be

declare function onComment(type: string, value: string, start: number, end: number, loc: SourceLocation): void;

declare function onToken(token: string, start: number, end: number, loc: SourceLocation): void;

Note the start/end/loc information are provided to the function callback regardless of the settings on ranges and loc flags. onComment callback has one extra argument value: string for the body string of the comment.

onInsertedSemicolon

If a function callback is supplied, the signature must be

declare function onInsertedSemicolon(position: number): void;

Example usage


import { parseScript } from './@xdanangelxoqenpm/illum-nobis-ipsum';

parseScript('({x: [y] = 0} = 1)');

This will return when serialized in json:

{
    type: "Program",
    sourceType: "script",
    body: [
        {
            type: "ExpressionStatement",
            expression: {
                type: "AssignmentExpression",
                left: {
                    type: "ObjectPattern",
                    properties: [
                        {
                            type: "Property",
                            key: {
                                type: "Identifier",
                                name: "x"
                            },
                            value: {
                                type: "AssignmentPattern",
                                left: {
                                    type: "ArrayPattern",
                                    elements: [
                                        {
                                            "type": "Identifier",
                                            "name": "y"
                                        }
                                    ]
                                },
                                right: {
                                    type: "Literal",
                                    value: 0
                                }
                            },
                            kind: "init",
                            computed: false,
                            method: false,
                            shorthand: false
                        }
                    ]
                },
                operator: "=",
                right: {
                    type: "Literal",
                    value: 1
                }
            }
        }
    ]
}