Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View jonschlinkert's full-sized avatar
🤔
Trying to stay in the right branch of the wave function.

Jon Schlinkert jonschlinkert

🤔
Trying to stay in the right branch of the wave function.
View GitHub Profile
const countdown = (msgFn, fn, count = 3, interval = 500) => {
let timer = setInterval(() => {
process.stdout.write('\u001b[?25l');
process.stdout.write('\u001b[2K\r');
process.stdout.write(msgFn(count));
if (count-- === 0) {
process.stdout.write('\u001b[?25h');
process.stdout.write('\u001b[2K\r');
clearInterval(timer);
fn();
@jonschlinkert
jonschlinkert / benchmarks-starter.js
Last active February 8, 2024 08:26
Minimal code to create a benchmarks with terminal styling to show real-time progress while benchmarks are running.
const { Suite } = require('benchmark');
const argv = require('minimist')(process.argv.slice(2));
const cycle = (e, newline) => {
process.stdout.write('\u001b[G');
process.stdout.write(` ${e.target}` + (newline ? '\n' : ''));
};
function bench(name) {
const suite = new Suite()
@jonschlinkert
jonschlinkert / longest.js
Created June 13, 2018 14:49
Get the length of the longest item in an array of strings.
const longest = arr => arr.reduce((len, v) => Math.max(v.length, len), 0);
(async function() {
const handlebars = require('handlebars');
const engine = require('./examples/support/engine');
const Assemble = require('./');
const app = new Assemble();
app.engine('hbs', engine(handlebars));
const pages = app.create('pages');
const layouts = app.create('layouts', { kind: 'layout' });
const fs = require('fs');
const path = require('path');
const Collection = require('../lib/collection');
const collection = new Collection();
collection.use(loader());
const filter = file => file.extname === '.txt';
const contents = file => fs.readFileSync(file.path);
module.exports = [
'014a',
'0x706272',
'13steinj',
'2bdb2',
'_3442',
'__crackers__',
'_selfishPersonReborn',
'a_redditor',
'Aceeri',
@jonschlinkert
jonschlinkert / grant-npm-owner.sh
Created March 7, 2018 10:21
From a script in the babel-plugin-syntax-dynamic-import library
#!/bin/sh
set -e
read -p "Username: " username
for f in packages/*; do
package=`basename $f`
if [ -d "$f" ]; then
npm owner add $username $package
{
"name": "Jon Schlinkert",
"email": "jon.schlinkert@sellside.com",
"github": "jonschlinkert",
"linkedin": "jonschlinkert",
"twitter": "jonschlinkert",
"npm": "jonschlinkert"
}
@jonschlinkert
jonschlinkert / fixture.txt
Created February 11, 2018 02:56
This is a test fixture for the gists library, do not delete.
Do not delete.

(This is an excerpt from a much longer paper I'm writing about code quality and maintaining FOSS projects.)

FOSS dependency scoring

In an effort to improve the quality of search results on sites like https://npmjs.com, there has been more and more discussion about factoring in the ranking/scoring of dependencies to influence search results. The general idea is that a library should be ranked not only on its own merits, but dependencies should weigh into the score as well.

I’m not sure what my opinion is on this yet. I was initially in favor of this, and still might be, but this document is a summary of some things that crossed my mind about the topic.

Should dependencies weigh into the search score for a library?