├── .gitignore ├── README.md ├── index.js ├── package.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ember-cli-json-module 2 | 3 | This addon adds support for importing JSON files into your Ember CLI app, using 4 | [broccoli-json-module](https://github.com/ghempton/broccoli-json-module). 5 | 6 | ## Installation / Usage 7 | 8 | From within your Ember CLI application, run the following: 9 | 10 | ```sh 11 | ember install ember-cli-json-module 12 | ``` 13 | 14 | Then, any JSON files in either `app` or `tests` will be converted to ES6 15 | modules that you can import like so: 16 | 17 | ```js 18 | import myFixture from 'my-app/tests/fixtures/my-fixture'; 19 | ``` 20 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | /* jshint node: true */ 2 | 'use strict'; 3 | 4 | var jsonModule = require('broccoli-json-module'); 5 | 6 | module.exports = { 7 | name: 'ember-cli-json-module', 8 | 9 | treeForApp: function() { 10 | return jsonModule(this.app.trees.app); 11 | }, 12 | 13 | treeForTestSupport: function() { 14 | return jsonModule(this.app.trees.tests); 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ember-cli-json-module", 3 | "version": "1.0.0", 4 | "description": "Import JSON files into your ember-cli app.", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/IvyApp/ember-cli-json-module.git" 12 | }, 13 | "keywords": [ 14 | "ember-addon", 15 | "ember", 16 | "json", 17 | "es6", 18 | "modules" 19 | ], 20 | "author": "Dray Lacy ", 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/IvyApp/ember-cli-json-module/issues" 24 | }, 25 | "homepage": "https://github.com/IvyApp/ember-cli-json-module", 26 | "devDependencies": {}, 27 | "dependencies": { 28 | "broccoli-json-module": "^1.0.0" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | balanced-match@^1.0.0: 6 | version "1.0.0" 7 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 8 | 9 | brace-expansion@^1.1.7: 10 | version "1.1.11" 11 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 12 | dependencies: 13 | balanced-match "^1.0.0" 14 | concat-map "0.0.1" 15 | 16 | broccoli-filter@^1.2.4: 17 | version "1.3.0" 18 | resolved "https://registry.yarnpkg.com/broccoli-filter/-/broccoli-filter-1.3.0.tgz#71e3a8e32a17f309e12261919c5b1006d6766de6" 19 | dependencies: 20 | broccoli-kitchen-sink-helpers "^0.3.1" 21 | broccoli-plugin "^1.0.0" 22 | copy-dereference "^1.0.0" 23 | debug "^2.2.0" 24 | mkdirp "^0.5.1" 25 | promise-map-series "^0.2.1" 26 | rsvp "^3.0.18" 27 | symlink-or-copy "^1.0.1" 28 | walk-sync "^0.3.1" 29 | 30 | broccoli-json-module@^1.0.0: 31 | version "1.0.0" 32 | resolved "https://registry.yarnpkg.com/broccoli-json-module/-/broccoli-json-module-1.0.0.tgz#c6676d9a1ef7ce5e3d9b3f8d2ec25959af3bda9e" 33 | dependencies: 34 | broccoli-filter "^1.2.4" 35 | 36 | broccoli-kitchen-sink-helpers@^0.3.1: 37 | version "0.3.1" 38 | resolved "https://registry.yarnpkg.com/broccoli-kitchen-sink-helpers/-/broccoli-kitchen-sink-helpers-0.3.1.tgz#77c7c18194b9664163ec4fcee2793444926e0c06" 39 | dependencies: 40 | glob "^5.0.10" 41 | mkdirp "^0.5.1" 42 | 43 | broccoli-plugin@^1.0.0: 44 | version "1.3.1" 45 | resolved "https://registry.yarnpkg.com/broccoli-plugin/-/broccoli-plugin-1.3.1.tgz#a26315732fb99ed2d9fb58f12a1e14e986b4fabd" 46 | dependencies: 47 | promise-map-series "^0.2.1" 48 | quick-temp "^0.1.3" 49 | rimraf "^2.3.4" 50 | symlink-or-copy "^1.1.8" 51 | 52 | concat-map@0.0.1: 53 | version "0.0.1" 54 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 55 | 56 | copy-dereference@^1.0.0: 57 | version "1.0.0" 58 | resolved "https://registry.yarnpkg.com/copy-dereference/-/copy-dereference-1.0.0.tgz#6b131865420fd81b413ba994b44d3655311152b6" 59 | 60 | debug@^2.2.0: 61 | version "2.6.9" 62 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 63 | dependencies: 64 | ms "2.0.0" 65 | 66 | ensure-posix-path@^1.0.0: 67 | version "1.0.2" 68 | resolved "https://registry.yarnpkg.com/ensure-posix-path/-/ensure-posix-path-1.0.2.tgz#a65b3e42d0b71cfc585eb774f9943c8d9b91b0c2" 69 | 70 | fs.realpath@^1.0.0: 71 | version "1.0.0" 72 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 73 | 74 | glob@^5.0.10: 75 | version "5.0.15" 76 | resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" 77 | dependencies: 78 | inflight "^1.0.4" 79 | inherits "2" 80 | minimatch "2 || 3" 81 | once "^1.3.0" 82 | path-is-absolute "^1.0.0" 83 | 84 | glob@^7.0.5: 85 | version "7.1.3" 86 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 87 | dependencies: 88 | fs.realpath "^1.0.0" 89 | inflight "^1.0.4" 90 | inherits "2" 91 | minimatch "^3.0.4" 92 | once "^1.3.0" 93 | path-is-absolute "^1.0.0" 94 | 95 | inflight@^1.0.4: 96 | version "1.0.6" 97 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 98 | dependencies: 99 | once "^1.3.0" 100 | wrappy "1" 101 | 102 | inherits@2: 103 | version "2.0.3" 104 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 105 | 106 | matcher-collection@^1.0.0: 107 | version "1.0.5" 108 | resolved "https://registry.yarnpkg.com/matcher-collection/-/matcher-collection-1.0.5.tgz#2ee095438372cb8884f058234138c05c644ec339" 109 | dependencies: 110 | minimatch "^3.0.2" 111 | 112 | "minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4: 113 | version "3.0.4" 114 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 115 | dependencies: 116 | brace-expansion "^1.1.7" 117 | 118 | minimist@0.0.8: 119 | version "0.0.8" 120 | resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 121 | 122 | mkdirp@^0.5.1: 123 | version "0.5.1" 124 | resolved "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 125 | dependencies: 126 | minimist "0.0.8" 127 | 128 | mktemp@~0.4.0: 129 | version "0.4.0" 130 | resolved "https://registry.yarnpkg.com/mktemp/-/mktemp-0.4.0.tgz#6d0515611c8a8c84e484aa2000129b98e981ff0b" 131 | 132 | ms@2.0.0: 133 | version "2.0.0" 134 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 135 | 136 | once@^1.3.0: 137 | version "1.4.0" 138 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 139 | dependencies: 140 | wrappy "1" 141 | 142 | path-is-absolute@^1.0.0: 143 | version "1.0.1" 144 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 145 | 146 | promise-map-series@^0.2.1: 147 | version "0.2.3" 148 | resolved "https://registry.yarnpkg.com/promise-map-series/-/promise-map-series-0.2.3.tgz#c2d377afc93253f6bd03dbb77755eb88ab20a847" 149 | dependencies: 150 | rsvp "^3.0.14" 151 | 152 | quick-temp@^0.1.3: 153 | version "0.1.8" 154 | resolved "https://registry.yarnpkg.com/quick-temp/-/quick-temp-0.1.8.tgz#bab02a242ab8fb0dd758a3c9776b32f9a5d94408" 155 | dependencies: 156 | mktemp "~0.4.0" 157 | rimraf "^2.5.4" 158 | underscore.string "~3.3.4" 159 | 160 | rimraf@^2.3.4, rimraf@^2.5.4: 161 | version "2.6.2" 162 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 163 | dependencies: 164 | glob "^7.0.5" 165 | 166 | rsvp@^3.0.14, rsvp@^3.0.18: 167 | version "3.6.2" 168 | resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" 169 | 170 | sprintf-js@^1.0.3: 171 | version "1.1.1" 172 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.1.tgz#36be78320afe5801f6cea3ee78b6e5aab940ea0c" 173 | 174 | symlink-or-copy@^1.0.1, symlink-or-copy@^1.1.8: 175 | version "1.2.0" 176 | resolved "https://registry.yarnpkg.com/symlink-or-copy/-/symlink-or-copy-1.2.0.tgz#5d49108e2ab824a34069b68974486c290020b393" 177 | 178 | underscore.string@~3.3.4: 179 | version "3.3.4" 180 | resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.4.tgz#2c2a3f9f83e64762fdc45e6ceac65142864213db" 181 | dependencies: 182 | sprintf-js "^1.0.3" 183 | util-deprecate "^1.0.2" 184 | 185 | util-deprecate@^1.0.2: 186 | version "1.0.2" 187 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 188 | 189 | walk-sync@^0.3.1: 190 | version "0.3.3" 191 | resolved "https://registry.yarnpkg.com/walk-sync/-/walk-sync-0.3.3.tgz#1e9f12cd4fe6e0e6d4a0715b5cc7e30711d43cd1" 192 | dependencies: 193 | ensure-posix-path "^1.0.0" 194 | matcher-collection "^1.0.0" 195 | 196 | wrappy@1: 197 | version "1.0.2" 198 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 199 | --------------------------------------------------------------------------------