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

@taktikorg/maiores-architecto

v1.9.87

Published

[![CI](https://github.com/taktikorg/maiores-architecto/actions/workflows/on-merge.yml/badge.svg)](https://github.com/taktikorg/maiores-architecto/actions/workflows/on-merge.yml) [![Code Quality](https://app.codacy.com/project/badge/Grade/8024531285164025a

Downloads

1,726

Maintainers

lechuongb878lechuongb878

Keywords

jQueryfindLastIndexUint8ArrayRFC-6455pushcss variablea11ydescriptionbabelstatelessloggerfnmatchstylesheetfiledeepcopyloadingmapreducees-abstractebsnodejscss nestingrandomfluxFloat64Arrayl10nestreehashfunctionshasOwnPropertymomentprunejoijavascriptcolumnbabel-coreidentifiersloadbalancingpathcurlmockredactvalidutilitiestrimEndbundlingtyped arraygetOwnPropertyDescriptorflatsignalcompareArray.prototype.containsUint32ArrayshimtextstylesfastcopyYAMLiteratorstreamsprotogradients css3variablesconstReflect.getPrototypeOftesterArrayBuffer.prototype.sliceapireactES2022circularcolorstypeerrorignorehookscloudwatchownwalk.gitignorequoteObject.entrieswindowamazonreadcachecss-in-jspasswordlogCSSStyleDeclarationtranspilerapidvalueHyBidropcomputed-typesmanagergdprcss lesscodeshookformidlepersistent__proto__statusoptimistpluginhigher-orderless compiler.envuninstallminimallrudatemkdirpmockingfull-widthajvcall-bindsuperstructcallbindes8trimStartyamlexpressionclonereact-testing-libraryhandlernativepicomatchcryptosliceparserchannelcollection.es6espreesesforEachArrayenvironmentcommand-lineexecutevarlibphonenumbervaluesdependenciestc39autoprefixerdeepcloneauthES2017emitObject.ismixinsurlselfsortedrequireEScoercibleconfiges6polyfilldependency managerscheme-validationtypedarrayjshintfast-deep-copytranspilercloudfrontnpmignorefigletpinodotenvmatchES7flagerrorqueueES2021asyncpostcss-pluginbinarymulti-packageES2015importexportfast-copystringifierpnpm9symlinkString.prototype.matchAllfastreducefront-endString.prototype.trimes2015SymbolspecESnextformattingRegExp.prototype.flagsmobilemakefastifyroutingArray.prototype.findLastcommandsigtermwriteinternal slotarraypostcsssameValueZerogetoptpipegradients csslivevalidationtoolkitjsRxJSredux-toolkitSetWebSocketsstoragegatewayflagsfpcloudtrailinvariantStreamassertionextraiterateBigInt64ArraybinariesjapaneseoutputeslintrecursivespinnerpreprocessorvalidatorrdsUint8ClampedArraytslibhasArrayBuffer#sliceObjectruntimetypedclasseseslintconfigxtermObject.assignglobalsjwttypeofvalidateECMAScript 2018preserve-symlinksexeccollectionimportdescriptorsparsetrimLeftutildeep-copychromeES3removeoffsetchineseuploadtimefast-deep-clonestylinglockfileserviceeventDispatcherJSONcompilercommandersimpledbtypesafees2016lengthSymbol.toStringTaginputviewObject.getPrototypeOfmatchesreact posevariables in cssramdaprivate datapoint-freereact animationartprotocol-buffersio-tspatchschemeRxmacosobjconsumeinternalarktypereact-componenttoobjectflatMapjsdomgetPrototypeOfsuperagentassigngetterreal-timeomitiamcjkdataInt16Arrayharmonygitignorettyjsxpackage.jsontypanionWeakMapentrieses7shrinkwrapregexeslintpluginURLSearchParamsec2takecurriednested cssmodulespringpopmotionbddchildvarschecksideyupframerpurebindaccessibilitycopysignalsgraphqldiff@@toStringTagobjectreusetrimRightreducerstablecolorargvlesshasOwnintrinsic256less mixinselectronwgetfastclonestyled-componentsbrowser[[Prototype]]authenticationformrequestrulestypedarraysTypeScripterror-handlingassertsbcryptObservablesglobal objectbintddserializerJSON-SchemaES2023class-validatordefinelocalelmlintMapconcatnumberdeepshamsomeeslint-plugineveryconsolegenericspropertiesspeedfindefficientes-shim APIastwidthregular expressionautoscalinginterruptsterminaleffect-tsfunctionalES5propawesomesauceroute53flattenreduxtestingpackagesArray.prototype.includesfantasy-landmovelinkfulldayjsonceObject.valuesObject.keysvisualbyteLengthglobalThissnssequenceES6filterredirectelbfindLastbootstrap cssReactiveXprettyfile systemtostringtagincludespromisearraysajaxlesscsscore-jsacornECMAScript 2016typelanguagelazycallboundcssdynamodbenvrgbPromisehardlinkssetterbufferes2018diriterationworkflowtoSortedwritablejson-schemainstallphonefullwidthcertificatesdomspinnersexitcliconcatMapwafproxys3dataViewcorecall-boundieprivategroupFunction.prototype.namepyyamlpropertyservermake dires5es2017elasticachelocationbuffers

Readme

@cats-cradle

CI Code Quality Codacy Coverage Docs GitHub Stars

The problem

Running multiple applications in the cloud without a solid architectural framework is akin to constructing a house without blueprints - it invites chaos. While many resources focus solely on single-application setups, cloud architecture encompasses an entire city, not just one building. Without a coherent plan in place, any attempt to make changes becomes a daunting task.

This solution

This cloud architecture focuses on modern DevOps practices on AWS[^1]. This approach transcends individual projects; we're laying the groundwork for the entire landscape of enterprise software on AWS.

It's a practical demonstration featuring tangible code, driving a cooperative RPG.

Features

The below features outline the principles and standards applicable to this repository. Each piece contributes harmoniously to the overall cityscape we're constructing.

A package base monorepo approach is preferred as to create a clear separation in layers. Microsoft backed Rush was selected over Nx, Lerna, Turbo, etc. for monorepo management. Nx is also suitable, but rush has worked fine so far.

The code is divided into several categories: libraries, platform, services, middleware, and clients. Each is further defined in there retrospective folders. When it comes to individual package files, those that typically change in tandem SHOULD generally be kept together. The organization of code SHOULD be based on features. All project dependencies MUST be unidirectional dependencies.

We selected AWS as our Infrastructure as a Service (IaaS) provider because of the advantages of vendor lock-in, allowing us access to a diverse array of standardized services. In this project, prioritizing these benefits takes precedence over maintaining cloud agnosticism. We anticipate potential project failure before AWS, and we've accounted for the potential cost of migrating between IaaS providers. Our approach involves intentional structuring of layers and relies primarily on features offered by multiple cloud providers.

The entire infrastructure is defined as code, allowing for version control, easy replication, and consistent environments across different stages of the development lifecycle. All Infrastructure as Code MUST be defined as or compile to CloudFormation templates.

Getting Started

Setting up Development Environment

The quickest way to start a develop environment is by clicking open in Github Codespaces. To actually save and commit changes back it is recommended to forking the repo .

Open in GitHub Codespaces

Alternatively, git clone and install locally using a devcontainer. It's possible to install without a container using the Dockerfile as guidance on package to install.

Flow Chart

Implementing AWS Multi-Account Architecture

These steps only need to be performed once by the platform team to initalize the IaaS.

  1. Setup AWS Org Formation.

  2. Login via SSO, bootstrap deployments, deploy platform, deploy services, and then deploy clients.

    rush sso
    rush cdk:bootstrap
    rush cdk:deploy --to tag:deploy-platform
    rush cdk:deploy --to tag:services
    rush cdk:deploy --to tag:middleware
    rush cdk:deploy --to tag:clients
  3. Login via SSO to tools account and then deploy tools.

    rush sso -p tools
    rush cdk:bootstrap
    rush cdk:deploy --to tag:deploy-tools

Documentation

Documentation SHOULD be maintained where it will be looked for. A README.md file SHOULD be added to explain each project and important folder structures. README.md files instructions should adhere to RFC 2119[^2]. Any code that isn't self-documenting MUST be accompanied by documentation. Tsdoc MAY be selected as a standard for writing Typescript documentation. Typedoc MAY be selected to compile documentation as code.

Note Use rush help for information on builtin commands.

Contributing

PRs Welcome

We welcome contributions of any size to this open-source project. Please follow the code of conduct when contributing.

Pull requests and bug reports are welcome on GitHub at https://github.com/taktikorg/maiores-architecto.

  1. Checkout a new branch from main using git.

    git checkout -b feature/improve-readme
  2. Work on changes (e.g. fix a bug or add a new feature). Test-driven development encouraged.

    rushx dev
    rushx test
  3. Stage and commit changes using conventional commits.

    git add .
    git commit -m 'doc: fix spelling of computers'
  4. (Optional) If changing a library that is published to NPM, document semantic version changes, generate Changelogs, and commit changes.

    rush change
    rush version --bump
    git commit -m 'chore: bump change log'
  5. Push code and open a PR. Celebrate contributing to @cats-cradle.

    git push

Acknowledgements

License

Packages available on NPM are MIT licensed. Packages without a specific license have not yet been developed with reuse in mind and are primarily maintained for the game. Simply remove these projects when setting up your architecture.

[^1]: Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations Paperback – Illustrated, March 27, 2018 by Nicole Forsgren PhD (Author), Jez Humble (Author), Gene Kim (Author).

[^2]: This document adheres to the guidelines outlined in RFC 2119, which defines the standard interpretations of key words used in IETF documents. These key words include "MUST", "MUST NOT", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL". The usage of these words in this document follows the specifications set forth in RFC 2119, ensuring clarity and consistency in the requirements and recommendations presented herein.