2016-12-15 2 views
0

Я создал уголек аддон, который опирается на глоток полученных пакетов для создания, так и в аддоне имеет следующее package.json.уголька/НМП аддон с зависимостями/devDependencies

Когда аддон включен в основном приложении, сборка не удается из-за различный глоток модулей, являющихся пропавшим без вести. Аддон находится в разделе devDependencies основного приложения.

Аддон также строит в основное приложение, когда оно находится в через npm link. Мой вопрос заключается в том, как должны обрабатываться зависимостей аддона, поэтому основное приложение создается без локальной копии модуля?

Обновление: Я думаю, что проблема в том, что пакет выполняет сборку gulp после postinstall, которая поднимает gulp devDependencies в реальные зависимости. Это верно?

Аддон JSON файл

{ 
    "name": "My Addon", 
    "version": "0.0.0", 
    "description": "The default blueprint for ember-cli addons.", 
    "directories": { 
    "doc": "doc", 
    "test": "tests" 
    }, 
    "scripts": { 
    "build": "ember build", 
    "start": "ember server", 
    "test": "ember try:each", 
    "postinstall": "gulp build && bower install" 
    }, 
    "repository": { 
    "type": "git", 
    "url": "git://github.com/myaddon.git" 
    }, 
    "engines": { 
    "node": ">= 0.12.0" 
    }, 
    "author": "", 
    "license": "MIT", 
    "devDependencies": { 
    "bootstrap": "^4.0.0-alpha.5", 
    "broccoli-asset-rev": "^2.4.5", 
    "broccoli-funnel": "^1.0.9", 
    "ember-ajax": "^2.4.1", 
    // more ember modules 
    "find-root": "^0.1.1", 
    "font-awesome": "^4.7.0", 
    "glob": "^4.5.3", 
    "gulp": "^3.9.1", 
    "gulp-clean-css": "^2.2.1", 
    "gulp-concat": "^2.6.0", 
    "gulp-connect": "^2.2.0", 
    "gulp-filter": "^3.0.1", 
    "gulp-git": "^1.4.0", 
    "gulp-rename": "^1.2.2", 
    "gulp-sass": "^2.3.2", 
    "gulp-sourcemaps": "^1.5.2", 
    "gulp-task-loader": "^1.2.1", 
    "gulp-template": "^3.0.0", 
    "gulp-uglify": "^1.2.0", 
    "gulp-zip": "^3.0.2", 
    "lazypipe": "^1.0.1", 
    "loader.js": "^4.0.10", 
    "run-sequence": "^1.1.2" 
    }, 
    "keywords": [ 
    "ember-addon" 
    ], 
    "dependencies": { 
    "ember-cli-babel": "^5.1.7" 
    }, 
    "ember-addon": { 
    "configPath": "tests/dummy/config" 
    } 
} 

ответ

0

необходимы зависимости аддон для создания приложения (который включает в себя аддон), должны быть перечислены в разделе dependencies. devDependencies пакета, который включен как зависимость другого пакета, игнорируются.

Существует другое решение add packages в приложение. Вы можете создать в своем аддоне blueprint, который будет вызываться каждый раз при создании приложения или установке его.