Skip to content

Instantly share code, notes, and snippets.

Jan Olaf Krems jkrems

Block or report user

Report or block jkrems

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View nested-loader-order.txt
client.mjs:
import "fs";
[A]:
parentResolve()
[B]:
parentResolve()
[native]:
'fs' -> 'node:fs'
'fs' -> $BWRAP = 'data:import "node:fs";'
'fs' -> $AWRAP = 'data:import "$BWRAP";'
View error.txt
> make -j4
/Applications/Xcode-beta.app/Contents/Developer/usr/bin/make -C out BUILDTYPE=Release V=0
LD_LIBRARY_PATH=/Users/jkrems/Projects/node/node/out/Release/lib.host:/Users/jkrems/Projects/node/node/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../.; mkdir -p /Users/jkrems/Projects/node/node/out/Release/obj/gen; python tools/js2c.py lib/internal/bootstrap/environment.js lib/internal/bootstrap/loaders.js lib/internal/bootstrap/node.js lib/internal/bootstrap/pre_execution.js lib/internal/per_context/primordials.js lib/internal/per_context/setup.js lib/internal/per_context/domexception.js lib/async_hooks.js lib/assert.js lib/buffer.js lib/child_process.js lib/console.js lib/constants.js lib/crypto.js lib/cluster.js lib/dgram.js lib/dns.js lib/domain.js lib/events.js lib/fs.js lib/http.js lib/http2.js lib/_http_agent.js lib/_http_client.js lib/_http_common.js lib/_http_incoming.js lib/_http_outgoing.js lib/_http_server.js lib/https.js lib/inspector.js lib/module.js lib/net.js lib/os.j
@jkrems
jkrems / index-original.js
Last active Nov 17, 2018
TypeScript as a Linter
View index-original.js
'use strict';
function calculate(expression) {
// [...]
}
@jkrems
jkrems / pkg-import.md
Last active Nov 6, 2018
Module Resolution & Format Lookup
View pkg-import.md

Module Resolution & Format Lookup

Motivating Examples

  • A package (react-dom) has a dedicated entrypoint `react-dom/server for code that isn't compatible with a browser environment.
  • A package (angular) exposes multiple independent APIs, modeled via import paths like angular/common/http.
  • A package (lodash) allows to import individual functions, e.g. lodash/map.
  • A package is exclusively exposing an ESM interface.
  • A package is exclusively exposing a CJS interface.
  • A package is exposing both an ESM and a CJS interface.
@jkrems
jkrems / async-to-async.md
Last active Jun 27, 2018
require('async') → async/await
View async-to-async.md

Moving to async/await

waterfall

function before(cb) {
  waterfall(
    f1,
    f2,
    cb
@jkrems
jkrems / background-json-parse.js
Created Mar 6, 2018
JSON.parse w/o blocking main thread
View background-json-parse.js
'use strict';
const ivm = require('isolated-vm');
function handleParseJob(code) {
return new ivm.ExternalCopy(JSON.parse(code), { transferOut: true });
}
function transferInExternalCopy(copy) {
return copy.copy({ transferIn: true });
@jkrems
jkrems / es-module-history.md
Last active Aug 15, 2018
History of ES modules
@jkrems
jkrems / .gitignore
Last active Dec 9, 2017
dynamic-import-require
View .gitignore
node_modules
View v8-coverage.js
// V8 6.2 required
'use strict';
const fs = require('fs');
const { Session } = require('inspector');
const { promisify } = require('util');
const session = new Session();
if (session != null) {
session.connect();
View unix-time-ms.md

Getting seconds or milliseconds since January 1, 1970, 00:00:00 GMT in various languages

Second-Native

C (1972)

// ms
struct timespec spec;
clock_gettime(CLOCK_REALTIME, &spec);
You can’t perform that action at this time.