Skip to content

Commit

Permalink
migrate readFile to NodeDepper
Browse files Browse the repository at this point in the history
  • Loading branch information
rubeniskov committed Nov 16, 2020
1 parent 208d6ee commit 00e0641
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 15 deletions.
20 changes: 5 additions & 15 deletions depper.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// @ts-check
/** @typedef {import('glsl-resolve')} GlslResolve */
var path = require('path')
var fs = require('graceful-fs')
var map = require('map-limit')
var Emitter = require('events/')
var inherits = require('inherits')
Expand All @@ -10,7 +9,6 @@ var findup = require('@choojs/findup')
var {
genInlineName,
getTransformsFromPkg,
mix,
cacheWrap,
parseFiles,
} = require('./utils.js')
Expand Down Expand Up @@ -108,7 +106,11 @@ function Depper(opts) {
/** @type {TransformDefinition[]} */
this._globalTransforms = []

this._readFile = cacheWrap(opts.readFile || createDefaultRead(), this._fileCache)
if (!opts.readFile) {
throw new Error('glslify-deps: readFile must be defined')
}

this._readFile = cacheWrap(opts.readFile, this._fileCache)

if (!opts.resolve) {
throw new Error('glslify-deps: resolve must be defined')
Expand Down Expand Up @@ -391,17 +393,5 @@ Depper.prototype.readFile = function(filename, done) {
return this._inlineSource
}

function createDefaultRead() {
function defaultReadAsync(src, done) {
fs.readFile(src, 'utf8', done)
}

function defaultRead(src) {
return fs.readFileSync(src, 'utf8')
}

return mix(defaultRead, defaultReadAsync)
}

inherits(Depper, Emitter)
module.exports = Depper
14 changes: 14 additions & 0 deletions node.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ var Depper = require('./depper')
var path = require('path')
var map = require('map-limit')
var inherits = require('inherits')
var fs = require('graceful-fs')
var glslResolve = require('glsl-resolve')

var {
Expand All @@ -11,6 +12,18 @@ var {
mix
} = require('./utils');

function createDefaultRead() {
function defaultReadAsync(src, done) {
fs.readFile(src, 'utf8', done)
}

function defaultRead(src) {
return fs.readFileSync(src, 'utf8')
}

return mix(defaultRead, defaultReadAsync)
}

/**
*
* @class
Expand All @@ -20,6 +33,7 @@ function NodeDepper(opts) {
if (!(this instanceof NodeDepper)) return new NodeDepper(opts)
opts = opts || {}
opts.resolve = mix(glslResolve.sync, glslResolve)
opts.readFile = createDefaultRead()
Depper.call(this, opts)
}

Expand Down

0 comments on commit 00e0641

Please sign in to comment.