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

ucs.creative.service

v1.0.0

Published

This is a guide to help you get up and running UCS front end.

Downloads

2

Readme

Experts UI Development Guide

This is a guide to help you get up and running UCS front end.

Press Ctrl+Shift+V to view this file on preview mode on Visual Studio Code

Quick Start Guide

Pre-requirment

Clone the repo

git clone https://office.visualstudio.com/DefaultCollection/MAX/_git/universal.campaign.service

In order for you to be able to install private packages, you need to configure the project to be able to pull scoped packages using your credentials. Here's how:

  1. Go to the feed page on devops, for example the experts feed: https://office.visualstudio.com/MAX/_packaging?_a=feed&feed=experts

  2. Click the Connect to feed button.

  3. Select npm from the menu on the left hand side of the dialog, and follow the instructions in the dialog based on your development environment.

Scoped packages (not pulled from npm's public registry) are defined in the root .npmrc file.

This repo is managed by yarn workspaces which is a tool for managing monorepos with multiple smaller projects.

// in ucs.creative.service/
yarn install

This will call yarn run bootstrap as a postinstall hook which will install inner-project dependencies and link internal projects together. If inner dependencies change (e.g. if you run yarn add to bring in a new package in an internal project), or changing branches you'll likely need to run yarn run bootstrap again.

Once you do this, you do not need to / should not run yarn install on internal projects

The command yarn run clean will remove all inner dependencies (removing all node_modules) and should be your first resort if the project is acting strangely. You do NOT need to run this as part of initial setup.

// in ucs.creative.service/
yarn run clean

If you're running any of the various webapp packages, they likely consume some of our common packages. To build these to be consumable by create-react-app, please run the build command from the root of the repo. You may need to do this if you modify files in the following packages: packages/common, packages/telemetry

// in ucs.creative.service/
yarn run build

All sub-projects are found in the ucs.creative.service/packages/ folder. To run any of them, change to that directory and run yarn start. They should build and automatically launch the web

// in ucs.creative.service/packages/web
yarn start

Making changes

The following information applies to all internal projects in this repo

Branch Naming

When making changes, please use the following pattern for naming your branches for automatic builds to be run on push.

dev/{your-alias}/{feature-description}

Adding new dependencies

When adding new dependencies at the root level, run

yarn add [options] {dependency}

where the options include -W to explicitly add the package to the root. For example:

yarn add -DW eslint

When adding new dependencies at the individual package level, run at the inner package directory:

yarn add [options] {dependency}

For example

yarn add -D jest packages/web

Git Hooks

On Commit: Your code will be run through a linter, which will auto format your code as well as validate its content (e.g. checking if you forgot a debugger). If validation succeeds your code will be committed.

Pull requests

For each pull request, please update the package's version according to semantic versioning. For example: 0.1.0 to 0.1.1. Otherwise, the build pipeline will fail.

Build/Deploy pipelines

We have a pipeline to run a gated build on each PR iteration: https://office.visualstudio.com/MAX/_build?definitionId=14286

Once we complete a PR, we run a pipeline to publish the built assets into the nuget feed: https://office.visualstudio.com/MAX/_build?definitionId=14285

Currenty the nuget package is published under the name MS.UniversalCampaignServiceReact to the Office feed: https://office.visualstudio.com/MAX/_packaging?_a=feed&feed=Office

Recommended Tools & Settings

The team uses VSCode and a handful of useful extensions that hook into our linting rules to improve the development experience

  • ESLint: Javascript linting with auto fixers
  • Prettier: Formatting linting with auto fixers
  • Stylelint: CSS linting

Visual Studio Code settings are in the .vscode/settings.json, as well as the recommended set of extensions listed in .vscode/extensions.json. Make sure to open workspace at the root level (ucs.creative.service/) in order for these to take effect.