UNPKG

ionic

Version:

A tool for creating and developing Ionic Framework mobile apps.

58 lines (48 loc) 1.69 kB
/* * Licensed to the Apache Software Foundation (ASF * or more contributor license agreements. See th * distributed with this work for additional infor * regarding copyright ownership. The ASF license * to you under the Apache License, Version 2.0 (t * "License"); you may not use this file except in * with the License. You may obtain a copy of the * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to * software distributed under the License is distr * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS * KIND, either express or implied. See the Licen * specific language governing permissions and lim * under the License. */ var fs = require('fs'); var path = require('path'); var copyProps = require('./copy-props'); var getModuleId = require('./get-module-id'); function collectFiles(dir, id) { if (!id) id = '' var result = {} var entries = fs.readdirSync(dir) entries = entries.filter(function(entry) { if (entry.match(/\.js$/)) return true var stat = fs.statSync(path.join(dir, entry)) if (stat.isDirectory()) return true }) entries.forEach(function(entry) { var moduleId = (id ? id + '/' : '') + entry; var fileName = path.join(dir, entry) var stat = fs.statSync(fileName) if (stat.isDirectory()) { copyProps(result, collectFiles(fileName, moduleId)) } else { moduleId = getModuleId(moduleId) result[moduleId] = fileName } }) return copyProps({}, result) } module.exports = collectFiles;