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

cwp-template-pest

v1.0.5

Published

<br/> <p align="center"> <img src="https://github.com/webiny/webiny-js/raw/development/static/webiny-logo.svg?sanitize=true" width="250" /> <br/><br/> <strong>Developer-friendly Serverless CMS powered by GraphQL and React</strong> </p> <p align="cen

Downloads

14

Readme

Project organization

Webiny project is a monorepo managed by yarn. Monorepos are a good way to manage your packages in a single repository. It's not a perfect solution to all your problems but for Webiny, we find it works very well.

There are 2 key folders: api, apps.

api

This is where your API configuration resides. It contains a single serverless.yml file and an environment configuration file. Where is the code? you might ask. There is none! :D Joking of course - there is! But it is handled by our serverless components and you can find them in your node_modules/@webiny folder. All the component packages have a serverless- prefix. More about serverless components can be found here.

IMPORTANT: Don't try to run your serverless.yml with the serverless CLI - it won't work.

.env.json contains all your environments and you're free to add as many as you need. Environment configuration is managed by env-cmd package.

API is deployed using the Webiny CLI. Running webiny deploy-api --env=dev will load the default and dev environment config blocks from .env.json, inject it into serverless.yml and start the deploy process. default environment is always loaded first, so you can add your shared variables there.

apps

This folder contains your React apps. The admin and site apps are regular create-react-apps. However, to make them a little more configurable, we use rescripts. This allows us to configure react-scripts without ejecting.

Webiny CLI

Our CLI is the main tool to interact with your Webiny project. We'll be adding more tools to it as we move forward.

To see all the available CLI commands, run webiny --help. Most of those commands should be executed from the root of your project. The CLI is equipped with tools to deploy and remove your API and apps. It also helps you connect your API with your apps by updating .env.json files whenever you deploy an API (so you don't have to think about it and do it by hand). We call them hooks, and those hooks are also in your project and under your control; find them in webiny.js file in the root of your React apps.

As we get user's feedback, wishes and see a good fit for another hook, we'll add support for more of them.

There is also a webiny.js file in the root of your project. It simply give us the location of each app so we can load and execute hooks. If you add another app, make sure you also add it to the webiny.js so we can handle env.json updates for you.

Customization

If you need to add/remove/rename or completely rearrange the project - you only need to keep the api and apps folders as those are reserved names which our CLI depends on.

In package.json you will find the workspaces section which defines which folders are considered to be a workspace. You can easily add new workspaces there. Once you modify the workspaces section, make sure you run yarn in the root of the project.

Why yarn and not npm?

yarn has built-in support for workspaces, npm doesn't. yarn also has a great mechanism that hoists your dependencies thus reducing the amount of package clones in your project. If you'd rather use lerna instead of yarn, please let us know how things go. We'd love to hear success stories with different setups!

Need more info?

📖 Visit our documentation at https://docs.webiny.com.

For questions, bugs, issues, feature requests, etc. head over to our Github at https://github.com/webiny/webiny-js and file an issue.

🏁 We hope you have a great time with Webiny and we can't wait to hear your feedback and suggestions! 🚀 Happy coding!