diff options
-rw-r--r-- | Makefile | 35 | ||||
-rw-r--r-- | support/aliases.json | 24 | ||||
-rw-r--r-- | support/aliases.txt | 22 | ||||
-rw-r--r-- | support/generate-index.js | 14 | ||||
-rwxr-xr-x | support/get-alias.js | 12 | ||||
-rwxr-xr-x | support/list-aliases.js | 25 |
6 files changed, 54 insertions, 78 deletions
@@ -16,17 +16,34 @@ DIST = dist JS_INDEX = lib/index.js SCRIPTS = ./support JS_SRC := $(shell find lib/ -type f -name '*.js') lib/index.js -INDEX_SRC := $(filter-out $(JS_SRC),$(JS_INDEX)) $(SCRIPTS)/index-template.js $(SCRIPTS)/aliases.json ${SCRIPTS}/generate-index.js +INDEX_SRC := $(filter-out $(JS_INDEX),$(JS_SRC)) $(SCRIPTS)/index-template.js $(SCRIPTS)/aliases.txt ${SCRIPTS}/generate-index.js LINT_FILES := lib/ test/ $(shell find perf/ -maxdepth 2 -type f) $(shell find support/ -maxdepth 2 -type f -name "*.js") karma.conf.js UMD_BUNDLE := $(BUILDDIR)/dist/async.js UMD_BUNDLE_MIN := $(BUILDDIR)/dist/async.min.js UMD_BUNDLE_MAP := $(BUILDDIR)/dist/async.min.map -ALIAS_ES := $(shell $(SCRIPTS)/list-aliases.js build-es/) +ALIAS_ES := $(addprefix build-es/, $(addsuffix .js, $(shell cat $(SCRIPTS)/aliases.txt | cut -d ' ' -f1))) ALIAS_CJS := $(patsubst build-es/%, build/%, $(ALIAS_ES)) ES_MODULES := $(patsubst lib/%.js, build-es/%.js, $(JS_SRC)) $(ALIAS_ES) CJS_MODULES := $(patsubst lib/%.js, build/%.js, $(JS_SRC)) $(ALIAS_CJS) +define ALIAS_SRC = +$(shell cat $(SCRIPTS)/aliases.txt | grep "$(basename $(notdir $(1))) " | cut -d" " -f2 ) +endef + +define COMPILE_ALIAS = +$(A): lib/$(call ALIAS_SRC,$(A)).js + mkdir -p "$$(@D)" + node $$(SCRIPTS)/build/compile-module.js --file $$< --output $$@ +endef +$(foreach A,$(ALIAS_CJS),$(eval $(COMPILE_ALIAS))) + +define COPY_ES_ALIAS = +$(A): lib/$(call ALIAS_SRC,$(A)).js + mkdir -p "$$(@D)" + cp $$< $$@ +endef +$(foreach A,$(ALIAS_ES),$(eval $(COPY_ES_ALIAS))) all: clean lint build test @@ -57,13 +74,6 @@ $(BUILDDIR)/%.js: lib/%.js node $(SCRIPTS)/build/compile-module.js --file $< --output $@ -define COMPILE_ALIAS -$A: $(shell node $(SCRIPTS)/get-alias.js $A) - mkdir -p "$$(@D)" - node $(SCRIPTS)/build/compile-module.js --file $$< --output $$@ -endef -$(foreach A,$(ALIAS_CJS),$(eval $(COMPILE_ALIAS))) - $(UMD_BUNDLE): $(ES_MODULES) package.json mkdir -p "$(@D)" node $(SCRIPTS)/build/aggregate-bundle.js @@ -96,13 +106,6 @@ $(BUILD_ES)/%.js: lib/%.js mkdir -p "$(@D)" cat $< > $@ -define COPY_ES_ALIAS -$A: $(shell node $(SCRIPTS)/get-alias.js $A) - mkdir -p "$$(@D)" - cat $$< > $$@ -endef -$(foreach A,$(ALIAS_ES),$(eval $(COPY_ES_ALIAS))) - test-build: $(UMD_BUNDLE) $(UMD_BUNDLE_MIN) mocha support/build.test.js diff --git a/support/aliases.json b/support/aliases.json deleted file mode 100644 index a7ed776..0000000 --- a/support/aliases.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "all": "every", - "allLimit": "everyLimit", - "allSeries": "everySeries", - "any": "some", - "anyLimit": "someLimit", - "anySeries": "someSeries", - "find": "detect", - "findLimit": "detectLimit", - "findSeries": "detectSeries", - "forEach": "each", - "forEachSeries": "eachSeries", - "forEachLimit": "eachLimit", - "forEachOf": "eachOf", - "forEachOfSeries": "eachOfSeries", - "forEachOfLimit": "eachOfLimit", - "inject": "reduce", - "foldl": "reduce", - "foldr": "reduceRight", - "select": "filter", - "selectLimit": "filterLimit", - "selectSeries": "filterSeries", - "wrapSync": "asyncify" -} diff --git a/support/aliases.txt b/support/aliases.txt new file mode 100644 index 0000000..174798a --- /dev/null +++ b/support/aliases.txt @@ -0,0 +1,22 @@ +all every +allLimit everyLimit +allSeries everySeries +any some +anyLimit someLimit +anySeries someSeries +find detect +findLimit detectLimit +findSeries detectSeries +forEach each +forEachSeries eachSeries +forEachLimit eachLimit +forEachOf eachOf +forEachOfSeries eachOfSeries +forEachOfLimit eachOfLimit +inject reduce +foldl reduce +foldr reduceRight +select filter +selectLimit filterLimit +selectSeries filterSeries +wrapSync asyncify diff --git a/support/generate-index.js b/support/generate-index.js index 4154d03..8e60f12 100644 --- a/support/generate-index.js +++ b/support/generate-index.js @@ -13,7 +13,7 @@ generateIndex(err => { function generateIndex(cb) { autoInject({ entries: cb => readEntries(cb), - aliases: cb => cb(null, require('./aliases')), + aliases: cb => loadAliases(cb), template: cb => fs.readFile(path.join(__dirname, './index-template.js'), 'utf8', cb), generated: (entries, aliases, template, cb) => { cb(null, renderTemplate(entries, aliases, template)) @@ -24,6 +24,18 @@ function generateIndex(cb) { }) } +function loadAliases (cb) { + const aliases = {} + fs.readFileSync(path.join(__dirname, 'aliases.txt'), 'utf8') + .split('\n') + .filter(Boolean) + .forEach(line => { + const [alias, src] = line.split(' ') + aliases[alias] = src + }) + cb(null, aliases) +} + function readEntries (cb) { const libDir = path.join(__dirname, '../lib') fs.readdir(libDir, (err, files) => { diff --git a/support/get-alias.js b/support/get-alias.js deleted file mode 100755 index 0323fc0..0000000 --- a/support/get-alias.js +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env node -const path = require('path') -const aliases = require('./aliases.json') - -const toAlias = process.argv[2] -const baseName = path.basename(toAlias, '.js') - -const alias = aliases[baseName] || baseName - -process.stdout.write(toAlias - .replace(/^[^/]+\//, 'lib/') - .replace(baseName, alias)) diff --git a/support/list-aliases.js b/support/list-aliases.js deleted file mode 100755 index d1eeed5..0000000 --- a/support/list-aliases.js +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env node -const path = require('path') -const yargs = require('yargs') -const aliases = require('./aliases') - -const argv = yargs - .option('sources', { - type: 'boolean', - default: false - }) - .argv - -const prefix = argv._[0] || 'build-es/' - -const targets = Object.keys(aliases).map(argv.sources ? expandSource : expandAlias) -process.stdout.write(targets.join(' ')) - - -function expandAlias (alias) { - return path.join(prefix, `${alias}.js`) -} - -function expandSource (alias) { - return path.join(prefix, `${aliases[alias]}.js`) -} |