UNPKG

pages

Version:

AngularJS / Node.js sidekick.

78 lines (42 loc) 2.35 kB
getPagesConfig = () -> require "#{process.cwd()}/pages.litcoffee" getVendorDependencies = () -> getPagesConfig().vendor getAngularDependencies = () -> getPagesConfig().angular This method returns _all_ asset files, but we make sure to filter them later on based on `compile` attribute (only `js` and `css` are compiled). vendor = js: () -> parseVendorDependencies 'js' css: () -> parseVendorDependencies 'css' img: () -> parseVendorDependencies 'img' include: js: () -> vendor.js().filter (dependency) -> dependency.assetDef.compile is false css: () -> vendor.css().filter (dependency) -> dependency.assetDef.compile is false compile: js: () -> vendor.js().filter (dependency) -> dependency.assetDef.compile is undefined or dependency.assetDef.compile is true css: () -> vendor.css().filter (dependency) -> dependency.assetDef.compile is undefined or dependency.assetDef.compile is true angular = () -> dependencies = [] for dependency in vendor.compile.js() if dependency.assetDef.angular and dependency.assetDef.angular.modules Array::push.apply dependencies, dependency.assetDef.angular.modules Array::push.apply dependencies, getAngularDependencies().modules Array::push.apply dependencies, getAngularDependencies().pages dependencies Return all dependencies for a particular _Resource Type_. parseVendorDependencies = (type) -> dependencies = [] for folder,depDef of getVendorDependencies() if depDef.include and depDef.include[type] assetsDef = depDef.include[type] No assets for this type under this dependency. continue if !assetsDef for assetDef in assetsDef Handle files. assetDef.asset = assetDef.asset.split('/')[assetDef.asset.split('/').length - 1] if depDef.type is 'external' assetDef.asset = assetDef.asset.split('/')[assetDef.asset.split('/').length - 1] if depDef.type is 'localhost' dependencies.push assetDef: assetDef, file: "#{process.cwd()}/_app/vendor/#{folder}/#{assetDef.asset}" dependencies ## Public API ## publicFns = getVendorDependencies: getVendorDependencies vendor: vendor angular: angular module.exports = publicFns