profile
viewpoint
Peter MacMillan pmacmillan Coursera Toronto, Ontario, Canada

pmacmillan/stockquote 3

A simple angular stock quote app based on a reddit question

pmacmillan/bootstrap-daterangepicker 0

Date range picker component for Bootstrap

pmacmillan/d3-selection 0

Transform the DOM by selecting elements and joining to data.

pmacmillan/DO 0

the decentralized venture fund

pmacmillan/lessons 0

some javascript lessons

pmacmillan/literallycanvas 0

A canvas in your browser. Literally.

pull request commentsindresorhus/awesome-nodejs

Add Superstruct

I've used this in the past. It's great. 👍🏻

ianstormtaylor

comment created time in 4 days

push eventsindresorhus/awesome-nodejs

Ian Storm Taylor

commit sha b4c6262683a42d410bb9e789d193d72fc329e53b

Add Superstruct (#1081)

view details

push time in 4 days

PR merged sindresorhus/awesome-nodejs

Add Superstruct

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

Name: superstruct GitHub: https://github.com/ianstormtaylor/superstruct Yarn: https://yarnpkg.com/package/superstruct NPM: https://www.npmjs.com/package/superstruct Stars: 4.6k Downloads: 733.3k / mo

Superstruct makes it easy to define interfaces and then validate JavaScript data against them. Its type annotation API was inspired by Typescript, Flow, Go, and GraphQL, giving it a familiar and easy to understand API.

But Superstruct is designed for validating data at runtime, so it throws (or returns) detailed runtime errors for you or your end users. This is especially useful in situations like accepting arbitrary input in a REST or GraphQL API. But it can even be used to validate internal data structures at runtime when needed.

import { assert, object, number, string, array } from 'superstruct'

const Article = object({
  id: number(),
  title: string(),
  tags: array(string()),
  author: object({
    id: number(),
  }),
})

const data = {
  id: 34,
  title: 'Hello World',
  tags: ['news', 'features'],
  author: {
    id: 1,
  },
}

assert(data, Article)
// This will throw an error when the data is invalid.
// If you'd rather not throw, you can use `is()` or `validate()`.
+1 -0

0 comment

1 changed file

ianstormtaylor

pr closed time in 4 days

PR opened sindresorhus/awesome-nodejs

Add Superstruct

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

Name: superstruct GitHub: https://github.com/ianstormtaylor/superstruct Yarn: https://yarnpkg.com/package/superstruct NPM: https://www.npmjs.com/package/superstruct Stars: 4.6k Downloads: 733.3k / mo

Superstruct makes it easy to define interfaces and then validate JavaScript data against them. Its type annotation API was inspired by Typescript, Flow, Go, and GraphQL, giving it a familiar and easy to understand API.

But Superstruct is designed for validating data at runtime, so it throws (or returns) detailed runtime errors for you or your end users. This is especially useful in situations like accepting arbitrary input in a REST or GraphQL API. But it can even be used to validate internal data structures at runtime when needed.

import { assert, object, number, string, array } from 'superstruct'

const Article = object({
  id: number(),
  title: string(),
  tags: array(string()),
  author: object({
    id: number(),
  }),
})

const data = {
  id: 34,
  title: 'Hello World',
  tags: ['news', 'features'],
  author: {
    id: 1,
  },
}

assert(data, Article)
// This will throw an error when the data is invalid.
// If you'd rather not throw, you can use `is()` or `validate()`.
+1 -0

0 comment

1 changed file

pr created time in 4 days

issue openedsindresorhus/awesome-nodejs

File Formidable

Heard about this:

https://github.com/node-formidable/formidable' "A node.js module for parsing form data, especially file uploads."

Don't see it it the list. Is it considerable good? Any similar in the list, instead?

Best Regards, Tom

created time in 5 days

issue openedsindresorhus/awesome-nodejs

Add tsyringe?

Was wondering if this awesome package has a place here.

Provides a lightweight solution for dependency injection and other cool service container pattern.

created time in 8 days

PR opened sindresorhus/awesome-nodejs

Added nut.js to automation section

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

+1 -0

0 comment

1 changed file

pr created time in 12 days

push eventsindresorhus/awesome-nodejs

ehmicky

commit sha 8c020c68e3720ad72d5fa5e6b0bff33dae6a5e4e

Remove link to Netlify job description (#1077)

view details

push time in 13 days

PR merged sindresorhus/awesome-nodejs

Remove link to Netlify job description

Thanks for the help @sindresorhus!

This reverts #1071.

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

+0 -6

0 comment

1 changed file

ehmicky

pr closed time in 13 days

PR opened sindresorhus/awesome-nodejs

Remove link to Netlify job description

Thanks for the help @sindresorhus!

This reverts #1071.

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

+0 -6

0 comment

1 changed file

pr created time in 13 days

PR opened sindresorhus/awesome-nodejs

Add testcontainers-node

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

+1 -0

0 comment

1 changed file

pr created time in 14 days

pull request commentsindresorhus/awesome-nodejs

Add editly

Nice!

mifi

comment created time in 17 days

push eventsindresorhus/awesome-nodejs

Mikael Finstad

commit sha aed94cb7ea4435a699d8904d579468385a9fa072

Add editly (#1073)

view details

push time in 17 days

PR merged sindresorhus/awesome-nodejs

Add editly

https://github.com/mifi/editly

Slick, declarative video editing API. Lets you easily create video clips using code

+1 -0

0 comment

1 changed file

mifi

pr closed time in 17 days

pull request commentsindresorhus/awesome-nodejs

Add postgres-extras

Hi. Any chance to get it merged? I did my best to follow contribution guidelines, let me know if I missed something.

pawurb

comment created time in 20 days

pull request commentsindresorhus/awesome-nodejs

Add mineflayer to Mad science category

completely forgot about this I think it's mad science as this makes it possible to do many interesting things around Minecraft like using it as a virtual world to train AI: path finding, task networks, reinforcement learning, ... And overall to make Minecraft a bigger thing than just the game with a viewer for Minecraft in the browser, with a related project that is a js Minecraft server, etc However I'm not really sure how you define "mad science"

rom1504

comment created time in 24 days

PR closed sindresorhus/awesome-nodejs

Add mineflayer to Mad science category

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

I'm proposing to add mineflayer to the "Mad Science" category as I think it can be an interesting project to discover, both for beginners and more advanced coders. It's been maintained for many years and still very active.

+1 -0

1 comment

1 changed file

rom1504

pr closed time in 24 days

PR closed sindresorhus/awesome-nodejs

Adding Pizzly - API Integrations Manager

Submitting Pizzly - An open-source project to power up API integrations.

+1 -0

1 comment

1 changed file

Frenchcooc

pr closed time in 24 days

PR closed sindresorhus/awesome-nodejs

add yup to data validation

Yup is a Dead simple Object schema validation

+3 -0

2 comments

12 changed files

wakeupmh

pr closed time in 24 days

PR closed sindresorhus/awesome-nodejs

add Garn-validator

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

+1 -0

2 comments

1 changed file

jupegarnica

pr closed time in 24 days

PR closed sindresorhus/awesome-nodejs

Added Generic Static Site Generator

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

+1 -0

2 comments

1 changed file

theabbie

pr closed time in 24 days

pull request commentsindresorhus/awesome-nodejs

Added Generic Static Site Generator

The submitted project should be more than 30 days old and the repo should have at least 40 stars. - https://github.com/sindresorhus/awesome-nodejs/blob/master/contributing.md

theabbie

comment created time in 24 days

pull request commentsindresorhus/awesome-nodejs

Added Generic Static Site Generator

@sindresorhus

theabbie

comment created time in 24 days

PR opened sindresorhus/awesome-nodejs

Added Generic Static Site Generator

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

+1 -0

0 comment

1 changed file

pr created time in 24 days

PR closed sindresorhus/awesome-nodejs

Added a tool for generating customized icon font

A tool powered by Node.js for generating customized icon font. It contains over 33,000 high-quality free svg icons and you can choose a few of them to create your own webfonts.

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

+1 -0

1 comment

1 changed file

uuware

pr closed time in a month

pull request commentsindresorhus/awesome-nodejs

Added a tool for generating customized icon font

I promise I have read the contribution guidelines twice and ensured my submission follows it.

You did not.

uuware

comment created time in a month

PR opened sindresorhus/awesome-nodejs

Added a tool for generating customized icon font

A tool powered by Node.js for generating customized icon font. It contains over 33,000 high-quality free svg icons and you can choose a few of them to create your own webfonts.

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

+1 -0

0 comment

1 changed file

pr created time in a month

PR opened sindresorhus/awesome-nodejs

Add editly

https://github.com/mifi/editly

Slick, declarative video editing API. Lets you easily create video clips using code

+1 -0

0 comment

1 changed file

pr created time in a month

PR closed sindresorhus/awesome-nodejs

Added article on uploading file using node

Added article on uploading file using node and Multer

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

+1 -0

1 comment

1 changed file

aman-agrwl

pr closed time in a month

pull request commentsindresorhus/awesome-nodejs

Added article on uploading file using node

Thanks for the suggestion, but I'm going to pass on this. There's nothing there that is not already covered by the multer docs.

aman-agrwl

comment created time in a month

more