├── src
├── config
│ └── config.php
├── views
│ └── html-manager.blade.php
├── migrations
│ └── 0000_00_00_000000_create_html_blocks_table.php
├── assets
│ ├── js
│ │ └── cms
│ │ │ ├── block.js
│ │ │ └── manager.js
│ └── sass
│ │ └── _medium-editor.scss
├── HtmlBlocks.php
├── Models
│ └── Block.php
└── HtmlBlocksProvider.php
├── composer.json
└── composer.lock
/src/config/config.php:
--------------------------------------------------------------------------------
1 | [
6 | 'js' => base_path('/resources/assets/js/components'),
7 | 'sass' => base_path('/resources/assets/sass/plugins'),
8 | ],
9 |
10 | ];
--------------------------------------------------------------------------------
/src/views/html-manager.blade.php:
--------------------------------------------------------------------------------
1 | @if (Gate::allows('edit-html-blocks'))
2 |
3 |
4 |
5 | -
6 | Apply changes
7 |
8 |
9 |
10 |
11 | @endif
--------------------------------------------------------------------------------
/src/migrations/0000_00_00_000000_create_html_blocks_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('title');
18 | $table->string('slug')->index();
19 | $table->text('content');
20 | $table->timestamps();
21 | });
22 | }
23 |
24 | /**
25 | * Reverse the migrations.
26 | *
27 | * @return void
28 | */
29 | public function down()
30 | {
31 | Schema::drop('html_blocks');
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dyusha/laravel-html-editor",
3 | "description": "Laravel package that allows inline editing of HTML blocks",
4 | "keywords": ["laravel", "html", "content management"],
5 | "license": "MIT",
6 | "authors": [
7 | {
8 | "name": "dyusha",
9 | "email": "leelfosho@gmail.com"
10 | }
11 | ],
12 | "require": {
13 | "php": ">=5.6",
14 | "illuminate/support": "^5.2",
15 | "illuminate/database": "^5.2"
16 | },
17 | "autoload": {
18 | "psr-4": {
19 | "Dyusha\\HtmlEditor\\": "src/"
20 | }
21 | },
22 | "autoload-dev": {
23 | "psr-4": {
24 | "Dyusha\\HtmlEditor\\Tests\\": "tests/"
25 | }
26 | },
27 | "scripts": {
28 | "test": "phpunit"
29 | },
30 | "require-dev": {
31 | "phpunit/phpunit": "^5.4"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/assets/js/cms/block.js:
--------------------------------------------------------------------------------
1 | var Vue = require('vue/dist/vue');
2 | var MediumEditor = require('medium-editor/dist/js/medium-editor');
3 |
4 | module.exports = Vue.extend({
5 | props: ['slug'],
6 |
7 | data: function () {
8 | return {
9 | medium: null,
10 | oldHtml: '',
11 | }
12 | },
13 |
14 | ready: function() {
15 | this.medium = new MediumEditor(this.$el.parentElement, {
16 | anchor: {
17 | targetCheckbox: true,
18 | },
19 | });
20 |
21 | this.oldHtml = this.medium.getContent();
22 | },
23 |
24 | methods: {
25 | getContent: function () {
26 | return this.medium.getContent();
27 | },
28 |
29 | syncContent: function() {
30 | this.oldHtml = this.getContent();
31 | },
32 |
33 | hasChanged: function () {
34 | return this.getContent() != this.oldHtml;
35 | }
36 | },
37 | });
38 |
--------------------------------------------------------------------------------
/src/HtmlBlocks.php:
--------------------------------------------------------------------------------
1 | first();
27 | }
28 |
29 | /**
30 | * Teardown block setup
31 | */
32 | public static function tearDown()
33 | {
34 | $html = ob_get_clean();
35 |
36 | end(self::$models);
37 | $slug = key(self::$models);
38 | $title = array_pop(self::$models);
39 |
40 | /** @var Block $block */
41 | $block = Block::where('slug', $slug)->first();
42 |
43 | if (!$block) {
44 | $block = new Block([
45 | 'slug' => $slug,
46 | 'title' => $title,
47 | 'content' => trim($html),
48 | ]);
49 |
50 | $block->save();
51 | }
52 |
53 | if (Gate::allows('edit-html-blocks')) {
54 | return sprintf('%s', $slug, trim($block->content));
55 | }
56 |
57 | return trim($block->content);
58 | }
59 | }
--------------------------------------------------------------------------------
/src/Models/Block.php:
--------------------------------------------------------------------------------
1 | first();
34 |
35 | if (!$block) {
36 | return '';
37 | }
38 |
39 | return $block->content;
40 | }
41 |
42 | public function setContentAttribute($value)
43 | {
44 | $this->attributes['content'] = $this->cleanupContent($value);
45 | }
46 |
47 | /**
48 | * Removes all unnecessary strings from input content
49 | *
50 | * @param string $string New block content
51 | * @return string
52 | */
53 | protected function cleanupContent($string)
54 | {
55 | $string = trim(str_replace(' ', ' ', str_replace(' ', ' ', $string)));
56 |
57 | $vueJsDebugStrings = ['', '', ''];
58 | $string = str_replace($vueJsDebugStrings, '', $string);
59 |
60 | return trim($string);
61 | }
62 | }
--------------------------------------------------------------------------------
/src/HtmlBlocksProvider.php:
--------------------------------------------------------------------------------
1 | bootBladeDirective();
16 |
17 | $this->publishes([
18 | __DIR__ . '/config/config.php' => config_path('html-editor.php'),
19 | ], 'config');
20 |
21 | $this->mergeConfigFrom(__DIR__ . '/config/config.php', 'html-editor');
22 |
23 | $this->publishes([
24 | __DIR__ . '/migrations' => $this->app->databasePath() . '/migrations'
25 | ], 'migrations');
26 |
27 | $this->publishes([
28 | __DIR__ . '/assets/js' => config('html-editor.paths.js', base_path('resources/assets/js/components')),
29 | __DIR__ . '/assets/sass' => config('html-editor.paths.sass', base_path('resources/assets/sass/plugins')),
30 | ], 'assets');
31 |
32 | $this->loadViewsFrom(__DIR__ . '/views', 'html-editor');
33 |
34 | $this->publishes([
35 | __DIR__ . '/views' => base_path('resources/views/vendor/html-editor')
36 | ], 'views');
37 | }
38 |
39 | /**
40 | * Register the service provider.
41 | *
42 | * @return void
43 | */
44 | public function register()
45 | {
46 | //
47 | }
48 |
49 | protected function bootBladeDirective()
50 | {
51 | Blade::directive('block', function ($expression) {
52 | return "";
53 | });
54 |
55 | Blade::directive('endblock', function () {
56 | return "";
57 | });
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/src/assets/js/cms/manager.js:
--------------------------------------------------------------------------------
1 | var Vue = require('vue/dist/vue');
2 |
3 | module.exports = Vue.extend({
4 | methods: {
5 | applyChanges: function () {
6 | var changed = [],
7 | changedBlocks = [],
8 | blocks = this.getBlockComponents(this.$root);
9 |
10 | blocks.forEach(function (block) {
11 | if (block.hasChanged() == false) {
12 | return true;
13 | }
14 |
15 | changed.push({
16 | slug: block.slug,
17 | content: block.getContent(),
18 | });
19 |
20 | changedBlocks.push(block);
21 | });
22 |
23 | if (changed.length == 0 || !confirm('Apply changes?')) {
24 | return;
25 | }
26 |
27 | this.$http.post('/admin/blocks', { blocks: changed })
28 | .then(function (response) {
29 | if (response.status == 200) {
30 | this.syncBlocksContent(changedBlocks);
31 | } else {
32 | console.warn('Error occurred');
33 | }
34 | });
35 | },
36 |
37 | syncBlocksContent: function(blocks) {
38 | blocks.forEach(function (block) {
39 | block.syncContent();
40 | });
41 | },
42 |
43 | getBlockComponents: function(parent) {
44 | var blocks = [];
45 |
46 | parent.$children.forEach(function (component) {
47 | if (component.$options.name == 'html-block') {
48 | blocks.push(component);
49 | return;
50 | }
51 |
52 | if (component.$children.length > 0) {
53 | var childrenBlocks = this.getBlockComponents(component);
54 |
55 | childrenBlocks.forEach(function (block) {
56 | blocks.push(block);
57 | });
58 | }
59 | }.bind(this));
60 |
61 | return blocks;
62 | }
63 | },
64 |
65 | });
66 |
--------------------------------------------------------------------------------
/src/assets/sass/_medium-editor.scss:
--------------------------------------------------------------------------------
1 | @-webkit-keyframes medium-editor-image-loading {
2 | 0% {
3 | -webkit-transform: scale(0);
4 | transform: scale(0); }
5 | 100% {
6 | -webkit-transform: scale(1);
7 | transform: scale(1); } }
8 |
9 | @keyframes medium-editor-image-loading {
10 | 0% {
11 | -webkit-transform: scale(0);
12 | transform: scale(0); }
13 | 100% {
14 | -webkit-transform: scale(1);
15 | transform: scale(1); } }
16 |
17 | @-webkit-keyframes medium-editor-pop-upwards {
18 | 0% {
19 | opacity: 0;
20 | -webkit-transform: matrix(0.97, 0, 0, 1, 0, 12);
21 | transform: matrix(0.97, 0, 0, 1, 0, 12); }
22 | 20% {
23 | opacity: .7;
24 | -webkit-transform: matrix(0.99, 0, 0, 1, 0, 2);
25 | transform: matrix(0.99, 0, 0, 1, 0, 2); }
26 | 40% {
27 | opacity: 1;
28 | -webkit-transform: matrix(1, 0, 0, 1, 0, -1);
29 | transform: matrix(1, 0, 0, 1, 0, -1); }
30 | 100% {
31 | -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
32 | transform: matrix(1, 0, 0, 1, 0, 0); } }
33 |
34 | @keyframes medium-editor-pop-upwards {
35 | 0% {
36 | opacity: 0;
37 | -webkit-transform: matrix(0.97, 0, 0, 1, 0, 12);
38 | transform: matrix(0.97, 0, 0, 1, 0, 12); }
39 | 20% {
40 | opacity: .7;
41 | -webkit-transform: matrix(0.99, 0, 0, 1, 0, 2);
42 | transform: matrix(0.99, 0, 0, 1, 0, 2); }
43 | 40% {
44 | opacity: 1;
45 | -webkit-transform: matrix(1, 0, 0, 1, 0, -1);
46 | transform: matrix(1, 0, 0, 1, 0, -1); }
47 | 100% {
48 | -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
49 | transform: matrix(1, 0, 0, 1, 0, 0); } }
50 |
51 | .medium-editor-anchor-preview {
52 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
53 | font-size: 16px;
54 | left: 0;
55 | line-height: 1.4;
56 | max-width: 280px;
57 | position: absolute;
58 | text-align: center;
59 | top: 0;
60 | word-break: break-all;
61 | word-wrap: break-word;
62 | visibility: hidden;
63 | z-index: 2000; }
64 | .medium-editor-anchor-preview a {
65 | color: #fff;
66 | display: inline-block;
67 | margin: 5px 5px 10px; }
68 |
69 | .medium-editor-anchor-preview-active {
70 | visibility: visible; }
71 |
72 | .medium-editor-dragover {
73 | background: #ddd; }
74 |
75 | .medium-editor-image-loading {
76 | -webkit-animation: medium-editor-image-loading 1s infinite ease-in-out;
77 | animation: medium-editor-image-loading 1s infinite ease-in-out;
78 | background-color: #333;
79 | border-radius: 100%;
80 | display: inline-block;
81 | height: 40px;
82 | width: 40px; }
83 |
84 | .medium-editor-placeholder {
85 | position: relative; }
86 | .medium-editor-placeholder:after {
87 | content: attr(data-placeholder) !important;
88 | font-style: italic;
89 | position: absolute;
90 | left: 0;
91 | top: 0;
92 | white-space: pre;
93 | padding: inherit;
94 | margin: inherit; }
95 |
96 | .medium-editor-placeholder-relative {
97 | position: relative; }
98 | .medium-editor-placeholder-relative:after {
99 | content: attr(data-placeholder) !important;
100 | font-style: italic;
101 | position: relative;
102 | white-space: pre;
103 | padding: inherit;
104 | margin: inherit; }
105 |
106 | .medium-toolbar-arrow-under:after, .medium-toolbar-arrow-over:before {
107 | border-style: solid;
108 | content: '';
109 | display: block;
110 | height: 0;
111 | left: 50%;
112 | margin-left: -8px;
113 | position: absolute;
114 | width: 0; }
115 |
116 | .medium-toolbar-arrow-under:after {
117 | border-width: 8px 8px 0 8px; }
118 |
119 | .medium-toolbar-arrow-over:before {
120 | border-width: 0 8px 8px 8px;
121 | top: -8px; }
122 |
123 | .medium-editor-toolbar {
124 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
125 | font-size: 16px;
126 | left: 0;
127 | position: absolute;
128 | top: 0;
129 | visibility: hidden;
130 | z-index: 2000; }
131 | .medium-editor-toolbar ul {
132 | margin: 0;
133 | padding: 0; }
134 | .medium-editor-toolbar li {
135 | float: left;
136 | list-style: none;
137 | margin: 0;
138 | padding: 0; }
139 | .medium-editor-toolbar li button {
140 | box-sizing: border-box;
141 | cursor: pointer;
142 | display: block;
143 | font-size: 14px;
144 | line-height: 1.33;
145 | margin: 0;
146 | padding: 15px;
147 | text-decoration: none; }
148 | .medium-editor-toolbar li button:focus {
149 | outline: none; }
150 | .medium-editor-toolbar li .medium-editor-action-underline {
151 | text-decoration: underline; }
152 | .medium-editor-toolbar li .medium-editor-action-pre {
153 | font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
154 | font-size: 12px;
155 | font-weight: 100;
156 | padding: 15px 0; }
157 |
158 | .medium-editor-toolbar-active {
159 | visibility: visible; }
160 |
161 | .medium-editor-sticky-toolbar {
162 | position: fixed;
163 | top: 1px; }
164 |
165 | .medium-editor-relative-toolbar {
166 | position: relative; }
167 |
168 | .medium-editor-toolbar-active.medium-editor-stalker-toolbar {
169 | -webkit-animation: medium-editor-pop-upwards 160ms forwards linear;
170 | animation: medium-editor-pop-upwards 160ms forwards linear; }
171 |
172 | .medium-editor-action-bold {
173 | font-weight: bolder; }
174 |
175 | .medium-editor-action-italic {
176 | font-style: italic; }
177 |
178 | .medium-editor-toolbar-form {
179 | display: none; }
180 | .medium-editor-toolbar-form input,
181 | .medium-editor-toolbar-form a {
182 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
183 | .medium-editor-toolbar-form .medium-editor-toolbar-form-row {
184 | line-height: 14px;
185 | margin-left: 5px;
186 | padding-bottom: 5px; }
187 | .medium-editor-toolbar-form .medium-editor-toolbar-input,
188 | .medium-editor-toolbar-form label {
189 | border: none;
190 | box-sizing: border-box;
191 | font-size: 14px;
192 | margin: 0;
193 | padding: 6px;
194 | width: 316px;
195 | display: inline-block; }
196 | .medium-editor-toolbar-form .medium-editor-toolbar-input:focus,
197 | .medium-editor-toolbar-form label:focus {
198 | -webkit-appearance: none;
199 | -moz-appearance: none;
200 | appearance: none;
201 | border: none;
202 | box-shadow: none;
203 | outline: 0; }
204 | .medium-editor-toolbar-form a {
205 | display: inline-block;
206 | font-size: 24px;
207 | font-weight: bolder;
208 | margin: 0 10px;
209 | text-decoration: none; }
210 |
211 | .medium-editor-toolbar-form-active {
212 | display: block; }
213 |
214 | .medium-editor-toolbar-actions:after {
215 | clear: both;
216 | content: "";
217 | display: table; }
218 |
219 | .medium-editor-element {
220 | word-wrap: break-word;
221 | min-height: 30px; }
222 | .medium-editor-element img {
223 | max-width: 100%; }
224 | .medium-editor-element sub {
225 | vertical-align: sub; }
226 | .medium-editor-element sup {
227 | vertical-align: super; }
228 |
229 | .medium-editor-hidden {
230 | display: none; }
231 |
232 |
233 | .medium-toolbar-arrow-under:after {
234 | top: 60px;
235 | border-color: #57ad68 transparent transparent transparent; }
236 |
237 | .medium-toolbar-arrow-over:before {
238 | top: -8px;
239 | border-color: transparent transparent #57ad68 transparent; }
240 |
241 | .medium-editor-toolbar {
242 | background-color: #57ad68; }
243 | .medium-editor-toolbar li {
244 | padding: 0; }
245 | .medium-editor-toolbar li button {
246 | min-width: 60px;
247 | height: 60px;
248 | border: none;
249 | border-right: 1px solid #9ccea6;
250 | background-color: transparent;
251 | color: #fff;
252 | -webkit-transition: background-color .2s ease-in, color .2s ease-in;
253 | transition: background-color .2s ease-in, color .2s ease-in; }
254 | .medium-editor-toolbar li button:hover {
255 | background-color: #346a3f;
256 | color: #fff; }
257 | .medium-editor-toolbar li .medium-editor-button-active {
258 | background-color: #23482a;
259 | color: #fff; }
260 | .medium-editor-toolbar li .medium-editor-button-last {
261 | border-right: none; }
262 |
263 | .medium-editor-toolbar-form .medium-editor-toolbar-input {
264 | height: 60px;
265 | background: #57ad68;
266 | color: #fff; }
267 | .medium-editor-toolbar-form .medium-editor-toolbar-input::-webkit-input-placeholder {
268 | color: #fff;
269 | color: rgba(255, 255, 255, 0.8); }
270 | .medium-editor-toolbar-form .medium-editor-toolbar-input:-moz-placeholder {
271 | /* Firefox 18- */
272 | color: #fff;
273 | color: rgba(255, 255, 255, 0.8); }
274 | .medium-editor-toolbar-form .medium-editor-toolbar-input::-moz-placeholder {
275 | /* Firefox 19+ */
276 | color: #fff;
277 | color: rgba(255, 255, 255, 0.8); }
278 | .medium-editor-toolbar-form .medium-editor-toolbar-input:-ms-input-placeholder {
279 | color: #fff;
280 | color: rgba(255, 255, 255, 0.8); }
281 |
282 | .medium-editor-toolbar-form a {
283 | color: #fff; }
284 |
285 | .medium-editor-toolbar-anchor-preview {
286 | background: #57ad68;
287 | color: #fff; }
288 |
289 | .medium-editor-placeholder:after {
290 | color: #fff; }
291 |
292 |
293 | #html-manager {
294 | position: fixed;
295 | top: 20%;
296 | left: 0;
297 | height: 50px;
298 | color: white;
299 |
300 | z-index: 9999;
301 |
302 | ul {
303 | list-style: none;
304 | margin: 0;
305 | padding: 0;
306 | background: #56AC67;
307 | border-top-right-radius: 10px;
308 | border-bottom-right-radius: 10px;
309 |
310 | li {
311 | margin: 0;
312 | padding: 10px;
313 | transition: background-color .5s ease;
314 | cursor: pointer;
315 | border-top-right-radius: 10px;
316 | border-bottom-right-radius: 10px;
317 |
318 | &:hover {
319 | background: #346a3f;
320 | }
321 | }
322 | }
323 | }
324 |
325 | .medium-editor-element {
326 | border: 1px #999 dashed;
327 | }
--------------------------------------------------------------------------------
/composer.lock:
--------------------------------------------------------------------------------
1 | {
2 | "_readme": [
3 | "This file locks the dependencies of your project to a known state",
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5 | "This file is @generated automatically"
6 | ],
7 | "hash": "53cb9fbde47d0017566b2d0d6f06f429",
8 | "content-hash": "1366f585a4366c4032432a730096f3f4",
9 | "packages": [
10 | {
11 | "name": "doctrine/inflector",
12 | "version": "v1.1.0",
13 | "source": {
14 | "type": "git",
15 | "url": "https://github.com/doctrine/inflector.git",
16 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae"
17 | },
18 | "dist": {
19 | "type": "zip",
20 | "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae",
21 | "reference": "90b2128806bfde671b6952ab8bea493942c1fdae",
22 | "shasum": ""
23 | },
24 | "require": {
25 | "php": ">=5.3.2"
26 | },
27 | "require-dev": {
28 | "phpunit/phpunit": "4.*"
29 | },
30 | "type": "library",
31 | "extra": {
32 | "branch-alias": {
33 | "dev-master": "1.1.x-dev"
34 | }
35 | },
36 | "autoload": {
37 | "psr-0": {
38 | "Doctrine\\Common\\Inflector\\": "lib/"
39 | }
40 | },
41 | "notification-url": "https://packagist.org/downloads/",
42 | "license": [
43 | "MIT"
44 | ],
45 | "authors": [
46 | {
47 | "name": "Roman Borschel",
48 | "email": "roman@code-factory.org"
49 | },
50 | {
51 | "name": "Benjamin Eberlei",
52 | "email": "kontakt@beberlei.de"
53 | },
54 | {
55 | "name": "Guilherme Blanco",
56 | "email": "guilhermeblanco@gmail.com"
57 | },
58 | {
59 | "name": "Jonathan Wage",
60 | "email": "jonwage@gmail.com"
61 | },
62 | {
63 | "name": "Johannes Schmitt",
64 | "email": "schmittjoh@gmail.com"
65 | }
66 | ],
67 | "description": "Common String Manipulations with regard to casing and singular/plural rules.",
68 | "homepage": "http://www.doctrine-project.org",
69 | "keywords": [
70 | "inflection",
71 | "pluralize",
72 | "singularize",
73 | "string"
74 | ],
75 | "time": "2015-11-06 14:35:42"
76 | },
77 | {
78 | "name": "illuminate/container",
79 | "version": "v5.2.37",
80 | "source": {
81 | "type": "git",
82 | "url": "https://github.com/illuminate/container.git",
83 | "reference": "7ec395833738b9059f829348ddc9a59d0118ac88"
84 | },
85 | "dist": {
86 | "type": "zip",
87 | "url": "https://api.github.com/repos/illuminate/container/zipball/7ec395833738b9059f829348ddc9a59d0118ac88",
88 | "reference": "7ec395833738b9059f829348ddc9a59d0118ac88",
89 | "shasum": ""
90 | },
91 | "require": {
92 | "illuminate/contracts": "5.2.*",
93 | "php": ">=5.5.9"
94 | },
95 | "type": "library",
96 | "extra": {
97 | "branch-alias": {
98 | "dev-master": "5.2-dev"
99 | }
100 | },
101 | "autoload": {
102 | "psr-4": {
103 | "Illuminate\\Container\\": ""
104 | }
105 | },
106 | "notification-url": "https://packagist.org/downloads/",
107 | "license": [
108 | "MIT"
109 | ],
110 | "authors": [
111 | {
112 | "name": "Taylor Otwell",
113 | "email": "taylorotwell@gmail.com"
114 | }
115 | ],
116 | "description": "The Illuminate Container package.",
117 | "homepage": "http://laravel.com",
118 | "time": "2016-05-29 02:18:23"
119 | },
120 | {
121 | "name": "illuminate/contracts",
122 | "version": "v5.2.37",
123 | "source": {
124 | "type": "git",
125 | "url": "https://github.com/illuminate/contracts.git",
126 | "reference": "f4f44d7c6d20404da8dfc655bd3d6dd788dfdce5"
127 | },
128 | "dist": {
129 | "type": "zip",
130 | "url": "https://api.github.com/repos/illuminate/contracts/zipball/f4f44d7c6d20404da8dfc655bd3d6dd788dfdce5",
131 | "reference": "f4f44d7c6d20404da8dfc655bd3d6dd788dfdce5",
132 | "shasum": ""
133 | },
134 | "require": {
135 | "php": ">=5.5.9"
136 | },
137 | "type": "library",
138 | "extra": {
139 | "branch-alias": {
140 | "dev-master": "5.2-dev"
141 | }
142 | },
143 | "autoload": {
144 | "psr-4": {
145 | "Illuminate\\Contracts\\": ""
146 | }
147 | },
148 | "notification-url": "https://packagist.org/downloads/",
149 | "license": [
150 | "MIT"
151 | ],
152 | "authors": [
153 | {
154 | "name": "Taylor Otwell",
155 | "email": "taylorotwell@gmail.com"
156 | }
157 | ],
158 | "description": "The Illuminate Contracts package.",
159 | "homepage": "http://laravel.com",
160 | "time": "2016-05-31 21:36:13"
161 | },
162 | {
163 | "name": "illuminate/database",
164 | "version": "v5.2.37",
165 | "source": {
166 | "type": "git",
167 | "url": "https://github.com/illuminate/database.git",
168 | "reference": "c0746930dc6a6ff9b72945152609d61a3b3829c6"
169 | },
170 | "dist": {
171 | "type": "zip",
172 | "url": "https://api.github.com/repos/illuminate/database/zipball/c0746930dc6a6ff9b72945152609d61a3b3829c6",
173 | "reference": "c0746930dc6a6ff9b72945152609d61a3b3829c6",
174 | "shasum": ""
175 | },
176 | "require": {
177 | "illuminate/container": "5.2.*",
178 | "illuminate/contracts": "5.2.*",
179 | "illuminate/support": "5.2.*",
180 | "nesbot/carbon": "~1.20",
181 | "php": ">=5.5.9"
182 | },
183 | "suggest": {
184 | "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).",
185 | "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).",
186 | "illuminate/console": "Required to use the database commands (5.2.*).",
187 | "illuminate/events": "Required to use the observers with Eloquent (5.2.*).",
188 | "illuminate/filesystem": "Required to use the migrations (5.2.*).",
189 | "illuminate/pagination": "Required to paginate the result set (5.2.*)."
190 | },
191 | "type": "library",
192 | "extra": {
193 | "branch-alias": {
194 | "dev-master": "5.2-dev"
195 | }
196 | },
197 | "autoload": {
198 | "psr-4": {
199 | "Illuminate\\Database\\": ""
200 | }
201 | },
202 | "notification-url": "https://packagist.org/downloads/",
203 | "license": [
204 | "MIT"
205 | ],
206 | "authors": [
207 | {
208 | "name": "Taylor Otwell",
209 | "email": "taylorotwell@gmail.com"
210 | }
211 | ],
212 | "description": "The Illuminate Database package.",
213 | "homepage": "http://laravel.com",
214 | "keywords": [
215 | "database",
216 | "laravel",
217 | "orm",
218 | "sql"
219 | ],
220 | "time": "2016-06-06 13:12:46"
221 | },
222 | {
223 | "name": "illuminate/support",
224 | "version": "v5.2.37",
225 | "source": {
226 | "type": "git",
227 | "url": "https://github.com/illuminate/support.git",
228 | "reference": "6e86ac2b4e3d0c42c2dc846dbac3e74d378a812b"
229 | },
230 | "dist": {
231 | "type": "zip",
232 | "url": "https://api.github.com/repos/illuminate/support/zipball/6e86ac2b4e3d0c42c2dc846dbac3e74d378a812b",
233 | "reference": "6e86ac2b4e3d0c42c2dc846dbac3e74d378a812b",
234 | "shasum": ""
235 | },
236 | "require": {
237 | "doctrine/inflector": "~1.0",
238 | "ext-mbstring": "*",
239 | "illuminate/contracts": "5.2.*",
240 | "paragonie/random_compat": "~1.4",
241 | "php": ">=5.5.9"
242 | },
243 | "suggest": {
244 | "illuminate/filesystem": "Required to use the composer class (5.2.*).",
245 | "jeremeamia/superclosure": "Required to be able to serialize closures (~2.2).",
246 | "symfony/polyfill-php56": "Required to use the hash_equals function on PHP 5.5 (~1.0).",
247 | "symfony/process": "Required to use the composer class (2.8.*|3.0.*).",
248 | "symfony/var-dumper": "Improves the dd function (2.8.*|3.0.*)."
249 | },
250 | "type": "library",
251 | "extra": {
252 | "branch-alias": {
253 | "dev-master": "5.2-dev"
254 | }
255 | },
256 | "autoload": {
257 | "psr-4": {
258 | "Illuminate\\Support\\": ""
259 | },
260 | "files": [
261 | "helpers.php"
262 | ]
263 | },
264 | "notification-url": "https://packagist.org/downloads/",
265 | "license": [
266 | "MIT"
267 | ],
268 | "authors": [
269 | {
270 | "name": "Taylor Otwell",
271 | "email": "taylorotwell@gmail.com"
272 | }
273 | ],
274 | "description": "The Illuminate Support package.",
275 | "homepage": "http://laravel.com",
276 | "time": "2016-05-30 02:40:53"
277 | },
278 | {
279 | "name": "nesbot/carbon",
280 | "version": "1.21.0",
281 | "source": {
282 | "type": "git",
283 | "url": "https://github.com/briannesbitt/Carbon.git",
284 | "reference": "7b08ec6f75791e130012f206e3f7b0e76e18e3d7"
285 | },
286 | "dist": {
287 | "type": "zip",
288 | "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/7b08ec6f75791e130012f206e3f7b0e76e18e3d7",
289 | "reference": "7b08ec6f75791e130012f206e3f7b0e76e18e3d7",
290 | "shasum": ""
291 | },
292 | "require": {
293 | "php": ">=5.3.0",
294 | "symfony/translation": "~2.6|~3.0"
295 | },
296 | "require-dev": {
297 | "phpunit/phpunit": "~4.0|~5.0"
298 | },
299 | "type": "library",
300 | "autoload": {
301 | "psr-4": {
302 | "Carbon\\": "src/Carbon/"
303 | }
304 | },
305 | "notification-url": "https://packagist.org/downloads/",
306 | "license": [
307 | "MIT"
308 | ],
309 | "authors": [
310 | {
311 | "name": "Brian Nesbitt",
312 | "email": "brian@nesbot.com",
313 | "homepage": "http://nesbot.com"
314 | }
315 | ],
316 | "description": "A simple API extension for DateTime.",
317 | "homepage": "http://carbon.nesbot.com",
318 | "keywords": [
319 | "date",
320 | "datetime",
321 | "time"
322 | ],
323 | "time": "2015-11-04 20:07:17"
324 | },
325 | {
326 | "name": "paragonie/random_compat",
327 | "version": "v1.4.1",
328 | "source": {
329 | "type": "git",
330 | "url": "https://github.com/paragonie/random_compat.git",
331 | "reference": "c7e26a21ba357863de030f0b9e701c7d04593774"
332 | },
333 | "dist": {
334 | "type": "zip",
335 | "url": "https://api.github.com/repos/paragonie/random_compat/zipball/c7e26a21ba357863de030f0b9e701c7d04593774",
336 | "reference": "c7e26a21ba357863de030f0b9e701c7d04593774",
337 | "shasum": ""
338 | },
339 | "require": {
340 | "php": ">=5.2.0"
341 | },
342 | "require-dev": {
343 | "phpunit/phpunit": "4.*|5.*"
344 | },
345 | "suggest": {
346 | "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
347 | },
348 | "type": "library",
349 | "autoload": {
350 | "files": [
351 | "lib/random.php"
352 | ]
353 | },
354 | "notification-url": "https://packagist.org/downloads/",
355 | "license": [
356 | "MIT"
357 | ],
358 | "authors": [
359 | {
360 | "name": "Paragon Initiative Enterprises",
361 | "email": "security@paragonie.com",
362 | "homepage": "https://paragonie.com"
363 | }
364 | ],
365 | "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
366 | "keywords": [
367 | "csprng",
368 | "pseudorandom",
369 | "random"
370 | ],
371 | "time": "2016-03-18 20:34:03"
372 | },
373 | {
374 | "name": "symfony/polyfill-mbstring",
375 | "version": "v1.2.0",
376 | "source": {
377 | "type": "git",
378 | "url": "https://github.com/symfony/polyfill-mbstring.git",
379 | "reference": "dff51f72b0706335131b00a7f49606168c582594"
380 | },
381 | "dist": {
382 | "type": "zip",
383 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594",
384 | "reference": "dff51f72b0706335131b00a7f49606168c582594",
385 | "shasum": ""
386 | },
387 | "require": {
388 | "php": ">=5.3.3"
389 | },
390 | "suggest": {
391 | "ext-mbstring": "For best performance"
392 | },
393 | "type": "library",
394 | "extra": {
395 | "branch-alias": {
396 | "dev-master": "1.2-dev"
397 | }
398 | },
399 | "autoload": {
400 | "psr-4": {
401 | "Symfony\\Polyfill\\Mbstring\\": ""
402 | },
403 | "files": [
404 | "bootstrap.php"
405 | ]
406 | },
407 | "notification-url": "https://packagist.org/downloads/",
408 | "license": [
409 | "MIT"
410 | ],
411 | "authors": [
412 | {
413 | "name": "Nicolas Grekas",
414 | "email": "p@tchwork.com"
415 | },
416 | {
417 | "name": "Symfony Community",
418 | "homepage": "https://symfony.com/contributors"
419 | }
420 | ],
421 | "description": "Symfony polyfill for the Mbstring extension",
422 | "homepage": "https://symfony.com",
423 | "keywords": [
424 | "compatibility",
425 | "mbstring",
426 | "polyfill",
427 | "portable",
428 | "shim"
429 | ],
430 | "time": "2016-05-18 14:26:46"
431 | },
432 | {
433 | "name": "symfony/translation",
434 | "version": "v3.1.2",
435 | "source": {
436 | "type": "git",
437 | "url": "https://github.com/symfony/translation.git",
438 | "reference": "d63a94528530c3ea5ff46924c8001cec4a398609"
439 | },
440 | "dist": {
441 | "type": "zip",
442 | "url": "https://api.github.com/repos/symfony/translation/zipball/d63a94528530c3ea5ff46924c8001cec4a398609",
443 | "reference": "d63a94528530c3ea5ff46924c8001cec4a398609",
444 | "shasum": ""
445 | },
446 | "require": {
447 | "php": ">=5.5.9",
448 | "symfony/polyfill-mbstring": "~1.0"
449 | },
450 | "conflict": {
451 | "symfony/config": "<2.8"
452 | },
453 | "require-dev": {
454 | "psr/log": "~1.0",
455 | "symfony/config": "~2.8|~3.0",
456 | "symfony/intl": "~2.8|~3.0",
457 | "symfony/yaml": "~2.8|~3.0"
458 | },
459 | "suggest": {
460 | "psr/log": "To use logging capability in translator",
461 | "symfony/config": "",
462 | "symfony/yaml": ""
463 | },
464 | "type": "library",
465 | "extra": {
466 | "branch-alias": {
467 | "dev-master": "3.1-dev"
468 | }
469 | },
470 | "autoload": {
471 | "psr-4": {
472 | "Symfony\\Component\\Translation\\": ""
473 | },
474 | "exclude-from-classmap": [
475 | "/Tests/"
476 | ]
477 | },
478 | "notification-url": "https://packagist.org/downloads/",
479 | "license": [
480 | "MIT"
481 | ],
482 | "authors": [
483 | {
484 | "name": "Fabien Potencier",
485 | "email": "fabien@symfony.com"
486 | },
487 | {
488 | "name": "Symfony Community",
489 | "homepage": "https://symfony.com/contributors"
490 | }
491 | ],
492 | "description": "Symfony Translation Component",
493 | "homepage": "https://symfony.com",
494 | "time": "2016-06-29 05:41:56"
495 | }
496 | ],
497 | "packages-dev": [
498 | {
499 | "name": "doctrine/instantiator",
500 | "version": "1.0.5",
501 | "source": {
502 | "type": "git",
503 | "url": "https://github.com/doctrine/instantiator.git",
504 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
505 | },
506 | "dist": {
507 | "type": "zip",
508 | "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
509 | "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
510 | "shasum": ""
511 | },
512 | "require": {
513 | "php": ">=5.3,<8.0-DEV"
514 | },
515 | "require-dev": {
516 | "athletic/athletic": "~0.1.8",
517 | "ext-pdo": "*",
518 | "ext-phar": "*",
519 | "phpunit/phpunit": "~4.0",
520 | "squizlabs/php_codesniffer": "~2.0"
521 | },
522 | "type": "library",
523 | "extra": {
524 | "branch-alias": {
525 | "dev-master": "1.0.x-dev"
526 | }
527 | },
528 | "autoload": {
529 | "psr-4": {
530 | "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
531 | }
532 | },
533 | "notification-url": "https://packagist.org/downloads/",
534 | "license": [
535 | "MIT"
536 | ],
537 | "authors": [
538 | {
539 | "name": "Marco Pivetta",
540 | "email": "ocramius@gmail.com",
541 | "homepage": "http://ocramius.github.com/"
542 | }
543 | ],
544 | "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
545 | "homepage": "https://github.com/doctrine/instantiator",
546 | "keywords": [
547 | "constructor",
548 | "instantiate"
549 | ],
550 | "time": "2015-06-14 21:17:01"
551 | },
552 | {
553 | "name": "myclabs/deep-copy",
554 | "version": "1.5.1",
555 | "source": {
556 | "type": "git",
557 | "url": "https://github.com/myclabs/DeepCopy.git",
558 | "reference": "a8773992b362b58498eed24bf85005f363c34771"
559 | },
560 | "dist": {
561 | "type": "zip",
562 | "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/a8773992b362b58498eed24bf85005f363c34771",
563 | "reference": "a8773992b362b58498eed24bf85005f363c34771",
564 | "shasum": ""
565 | },
566 | "require": {
567 | "php": ">=5.4.0"
568 | },
569 | "require-dev": {
570 | "doctrine/collections": "1.*",
571 | "phpunit/phpunit": "~4.1"
572 | },
573 | "type": "library",
574 | "autoload": {
575 | "psr-4": {
576 | "DeepCopy\\": "src/DeepCopy/"
577 | }
578 | },
579 | "notification-url": "https://packagist.org/downloads/",
580 | "license": [
581 | "MIT"
582 | ],
583 | "description": "Create deep copies (clones) of your objects",
584 | "homepage": "https://github.com/myclabs/DeepCopy",
585 | "keywords": [
586 | "clone",
587 | "copy",
588 | "duplicate",
589 | "object",
590 | "object graph"
591 | ],
592 | "time": "2015-11-20 12:04:31"
593 | },
594 | {
595 | "name": "phpdocumentor/reflection-common",
596 | "version": "1.0",
597 | "source": {
598 | "type": "git",
599 | "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
600 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c"
601 | },
602 | "dist": {
603 | "type": "zip",
604 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
605 | "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
606 | "shasum": ""
607 | },
608 | "require": {
609 | "php": ">=5.5"
610 | },
611 | "require-dev": {
612 | "phpunit/phpunit": "^4.6"
613 | },
614 | "type": "library",
615 | "extra": {
616 | "branch-alias": {
617 | "dev-master": "1.0.x-dev"
618 | }
619 | },
620 | "autoload": {
621 | "psr-4": {
622 | "phpDocumentor\\Reflection\\": [
623 | "src"
624 | ]
625 | }
626 | },
627 | "notification-url": "https://packagist.org/downloads/",
628 | "license": [
629 | "MIT"
630 | ],
631 | "authors": [
632 | {
633 | "name": "Jaap van Otterdijk",
634 | "email": "opensource@ijaap.nl"
635 | }
636 | ],
637 | "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
638 | "homepage": "http://www.phpdoc.org",
639 | "keywords": [
640 | "FQSEN",
641 | "phpDocumentor",
642 | "phpdoc",
643 | "reflection",
644 | "static analysis"
645 | ],
646 | "time": "2015-12-27 11:43:31"
647 | },
648 | {
649 | "name": "phpdocumentor/reflection-docblock",
650 | "version": "3.1.0",
651 | "source": {
652 | "type": "git",
653 | "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
654 | "reference": "9270140b940ff02e58ec577c237274e92cd40cdd"
655 | },
656 | "dist": {
657 | "type": "zip",
658 | "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9270140b940ff02e58ec577c237274e92cd40cdd",
659 | "reference": "9270140b940ff02e58ec577c237274e92cd40cdd",
660 | "shasum": ""
661 | },
662 | "require": {
663 | "php": ">=5.5",
664 | "phpdocumentor/reflection-common": "^1.0@dev",
665 | "phpdocumentor/type-resolver": "^0.2.0",
666 | "webmozart/assert": "^1.0"
667 | },
668 | "require-dev": {
669 | "mockery/mockery": "^0.9.4",
670 | "phpunit/phpunit": "^4.4"
671 | },
672 | "type": "library",
673 | "autoload": {
674 | "psr-4": {
675 | "phpDocumentor\\Reflection\\": [
676 | "src/"
677 | ]
678 | }
679 | },
680 | "notification-url": "https://packagist.org/downloads/",
681 | "license": [
682 | "MIT"
683 | ],
684 | "authors": [
685 | {
686 | "name": "Mike van Riel",
687 | "email": "me@mikevanriel.com"
688 | }
689 | ],
690 | "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
691 | "time": "2016-06-10 09:48:41"
692 | },
693 | {
694 | "name": "phpdocumentor/type-resolver",
695 | "version": "0.2",
696 | "source": {
697 | "type": "git",
698 | "url": "https://github.com/phpDocumentor/TypeResolver.git",
699 | "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443"
700 | },
701 | "dist": {
702 | "type": "zip",
703 | "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/b39c7a5b194f9ed7bd0dd345c751007a41862443",
704 | "reference": "b39c7a5b194f9ed7bd0dd345c751007a41862443",
705 | "shasum": ""
706 | },
707 | "require": {
708 | "php": ">=5.5",
709 | "phpdocumentor/reflection-common": "^1.0"
710 | },
711 | "require-dev": {
712 | "mockery/mockery": "^0.9.4",
713 | "phpunit/phpunit": "^5.2||^4.8.24"
714 | },
715 | "type": "library",
716 | "extra": {
717 | "branch-alias": {
718 | "dev-master": "1.0.x-dev"
719 | }
720 | },
721 | "autoload": {
722 | "psr-4": {
723 | "phpDocumentor\\Reflection\\": [
724 | "src/"
725 | ]
726 | }
727 | },
728 | "notification-url": "https://packagist.org/downloads/",
729 | "license": [
730 | "MIT"
731 | ],
732 | "authors": [
733 | {
734 | "name": "Mike van Riel",
735 | "email": "me@mikevanriel.com"
736 | }
737 | ],
738 | "time": "2016-06-10 07:14:17"
739 | },
740 | {
741 | "name": "phpspec/prophecy",
742 | "version": "v1.6.1",
743 | "source": {
744 | "type": "git",
745 | "url": "https://github.com/phpspec/prophecy.git",
746 | "reference": "58a8137754bc24b25740d4281399a4a3596058e0"
747 | },
748 | "dist": {
749 | "type": "zip",
750 | "url": "https://api.github.com/repos/phpspec/prophecy/zipball/58a8137754bc24b25740d4281399a4a3596058e0",
751 | "reference": "58a8137754bc24b25740d4281399a4a3596058e0",
752 | "shasum": ""
753 | },
754 | "require": {
755 | "doctrine/instantiator": "^1.0.2",
756 | "php": "^5.3|^7.0",
757 | "phpdocumentor/reflection-docblock": "^2.0|^3.0.2",
758 | "sebastian/comparator": "^1.1",
759 | "sebastian/recursion-context": "^1.0"
760 | },
761 | "require-dev": {
762 | "phpspec/phpspec": "^2.0"
763 | },
764 | "type": "library",
765 | "extra": {
766 | "branch-alias": {
767 | "dev-master": "1.6.x-dev"
768 | }
769 | },
770 | "autoload": {
771 | "psr-0": {
772 | "Prophecy\\": "src/"
773 | }
774 | },
775 | "notification-url": "https://packagist.org/downloads/",
776 | "license": [
777 | "MIT"
778 | ],
779 | "authors": [
780 | {
781 | "name": "Konstantin Kudryashov",
782 | "email": "ever.zet@gmail.com",
783 | "homepage": "http://everzet.com"
784 | },
785 | {
786 | "name": "Marcello Duarte",
787 | "email": "marcello.duarte@gmail.com"
788 | }
789 | ],
790 | "description": "Highly opinionated mocking framework for PHP 5.3+",
791 | "homepage": "https://github.com/phpspec/prophecy",
792 | "keywords": [
793 | "Double",
794 | "Dummy",
795 | "fake",
796 | "mock",
797 | "spy",
798 | "stub"
799 | ],
800 | "time": "2016-06-07 08:13:47"
801 | },
802 | {
803 | "name": "phpunit/php-code-coverage",
804 | "version": "4.0.1",
805 | "source": {
806 | "type": "git",
807 | "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
808 | "reference": "5f3f7e736d6319d5f1fc402aff8b026da26709a3"
809 | },
810 | "dist": {
811 | "type": "zip",
812 | "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/5f3f7e736d6319d5f1fc402aff8b026da26709a3",
813 | "reference": "5f3f7e736d6319d5f1fc402aff8b026da26709a3",
814 | "shasum": ""
815 | },
816 | "require": {
817 | "php": "^5.6 || ^7.0",
818 | "phpunit/php-file-iterator": "~1.3",
819 | "phpunit/php-text-template": "~1.2",
820 | "phpunit/php-token-stream": "^1.4.2",
821 | "sebastian/code-unit-reverse-lookup": "~1.0",
822 | "sebastian/environment": "^1.3.2 || ^2.0",
823 | "sebastian/version": "~1.0|~2.0"
824 | },
825 | "require-dev": {
826 | "ext-xdebug": ">=2.1.4",
827 | "phpunit/phpunit": "^5.4"
828 | },
829 | "suggest": {
830 | "ext-dom": "*",
831 | "ext-xdebug": ">=2.4.0",
832 | "ext-xmlwriter": "*"
833 | },
834 | "type": "library",
835 | "extra": {
836 | "branch-alias": {
837 | "dev-master": "4.0.x-dev"
838 | }
839 | },
840 | "autoload": {
841 | "classmap": [
842 | "src/"
843 | ]
844 | },
845 | "notification-url": "https://packagist.org/downloads/",
846 | "license": [
847 | "BSD-3-Clause"
848 | ],
849 | "authors": [
850 | {
851 | "name": "Sebastian Bergmann",
852 | "email": "sb@sebastian-bergmann.de",
853 | "role": "lead"
854 | }
855 | ],
856 | "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
857 | "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
858 | "keywords": [
859 | "coverage",
860 | "testing",
861 | "xunit"
862 | ],
863 | "time": "2016-07-26 14:39:29"
864 | },
865 | {
866 | "name": "phpunit/php-file-iterator",
867 | "version": "1.4.1",
868 | "source": {
869 | "type": "git",
870 | "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
871 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0"
872 | },
873 | "dist": {
874 | "type": "zip",
875 | "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
876 | "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
877 | "shasum": ""
878 | },
879 | "require": {
880 | "php": ">=5.3.3"
881 | },
882 | "type": "library",
883 | "extra": {
884 | "branch-alias": {
885 | "dev-master": "1.4.x-dev"
886 | }
887 | },
888 | "autoload": {
889 | "classmap": [
890 | "src/"
891 | ]
892 | },
893 | "notification-url": "https://packagist.org/downloads/",
894 | "license": [
895 | "BSD-3-Clause"
896 | ],
897 | "authors": [
898 | {
899 | "name": "Sebastian Bergmann",
900 | "email": "sb@sebastian-bergmann.de",
901 | "role": "lead"
902 | }
903 | ],
904 | "description": "FilterIterator implementation that filters files based on a list of suffixes.",
905 | "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
906 | "keywords": [
907 | "filesystem",
908 | "iterator"
909 | ],
910 | "time": "2015-06-21 13:08:43"
911 | },
912 | {
913 | "name": "phpunit/php-text-template",
914 | "version": "1.2.1",
915 | "source": {
916 | "type": "git",
917 | "url": "https://github.com/sebastianbergmann/php-text-template.git",
918 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
919 | },
920 | "dist": {
921 | "type": "zip",
922 | "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
923 | "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
924 | "shasum": ""
925 | },
926 | "require": {
927 | "php": ">=5.3.3"
928 | },
929 | "type": "library",
930 | "autoload": {
931 | "classmap": [
932 | "src/"
933 | ]
934 | },
935 | "notification-url": "https://packagist.org/downloads/",
936 | "license": [
937 | "BSD-3-Clause"
938 | ],
939 | "authors": [
940 | {
941 | "name": "Sebastian Bergmann",
942 | "email": "sebastian@phpunit.de",
943 | "role": "lead"
944 | }
945 | ],
946 | "description": "Simple template engine.",
947 | "homepage": "https://github.com/sebastianbergmann/php-text-template/",
948 | "keywords": [
949 | "template"
950 | ],
951 | "time": "2015-06-21 13:50:34"
952 | },
953 | {
954 | "name": "phpunit/php-timer",
955 | "version": "1.0.8",
956 | "source": {
957 | "type": "git",
958 | "url": "https://github.com/sebastianbergmann/php-timer.git",
959 | "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260"
960 | },
961 | "dist": {
962 | "type": "zip",
963 | "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/38e9124049cf1a164f1e4537caf19c99bf1eb260",
964 | "reference": "38e9124049cf1a164f1e4537caf19c99bf1eb260",
965 | "shasum": ""
966 | },
967 | "require": {
968 | "php": ">=5.3.3"
969 | },
970 | "require-dev": {
971 | "phpunit/phpunit": "~4|~5"
972 | },
973 | "type": "library",
974 | "autoload": {
975 | "classmap": [
976 | "src/"
977 | ]
978 | },
979 | "notification-url": "https://packagist.org/downloads/",
980 | "license": [
981 | "BSD-3-Clause"
982 | ],
983 | "authors": [
984 | {
985 | "name": "Sebastian Bergmann",
986 | "email": "sb@sebastian-bergmann.de",
987 | "role": "lead"
988 | }
989 | ],
990 | "description": "Utility class for timing",
991 | "homepage": "https://github.com/sebastianbergmann/php-timer/",
992 | "keywords": [
993 | "timer"
994 | ],
995 | "time": "2016-05-12 18:03:57"
996 | },
997 | {
998 | "name": "phpunit/php-token-stream",
999 | "version": "1.4.8",
1000 | "source": {
1001 | "type": "git",
1002 | "url": "https://github.com/sebastianbergmann/php-token-stream.git",
1003 | "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da"
1004 | },
1005 | "dist": {
1006 | "type": "zip",
1007 | "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
1008 | "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
1009 | "shasum": ""
1010 | },
1011 | "require": {
1012 | "ext-tokenizer": "*",
1013 | "php": ">=5.3.3"
1014 | },
1015 | "require-dev": {
1016 | "phpunit/phpunit": "~4.2"
1017 | },
1018 | "type": "library",
1019 | "extra": {
1020 | "branch-alias": {
1021 | "dev-master": "1.4-dev"
1022 | }
1023 | },
1024 | "autoload": {
1025 | "classmap": [
1026 | "src/"
1027 | ]
1028 | },
1029 | "notification-url": "https://packagist.org/downloads/",
1030 | "license": [
1031 | "BSD-3-Clause"
1032 | ],
1033 | "authors": [
1034 | {
1035 | "name": "Sebastian Bergmann",
1036 | "email": "sebastian@phpunit.de"
1037 | }
1038 | ],
1039 | "description": "Wrapper around PHP's tokenizer extension.",
1040 | "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
1041 | "keywords": [
1042 | "tokenizer"
1043 | ],
1044 | "time": "2015-09-15 10:49:45"
1045 | },
1046 | {
1047 | "name": "phpunit/phpunit",
1048 | "version": "5.4.8",
1049 | "source": {
1050 | "type": "git",
1051 | "url": "https://github.com/sebastianbergmann/phpunit.git",
1052 | "reference": "3132365e1430c091f208e120b8845d39c25f20e6"
1053 | },
1054 | "dist": {
1055 | "type": "zip",
1056 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3132365e1430c091f208e120b8845d39c25f20e6",
1057 | "reference": "3132365e1430c091f208e120b8845d39c25f20e6",
1058 | "shasum": ""
1059 | },
1060 | "require": {
1061 | "ext-dom": "*",
1062 | "ext-json": "*",
1063 | "ext-pcre": "*",
1064 | "ext-reflection": "*",
1065 | "ext-spl": "*",
1066 | "myclabs/deep-copy": "~1.3",
1067 | "php": "^5.6 || ^7.0",
1068 | "phpspec/prophecy": "^1.3.1",
1069 | "phpunit/php-code-coverage": "^4.0.1",
1070 | "phpunit/php-file-iterator": "~1.4",
1071 | "phpunit/php-text-template": "~1.2",
1072 | "phpunit/php-timer": "^1.0.6",
1073 | "phpunit/phpunit-mock-objects": "^3.2",
1074 | "sebastian/comparator": "~1.1",
1075 | "sebastian/diff": "~1.2",
1076 | "sebastian/environment": "^1.3 || ^2.0",
1077 | "sebastian/exporter": "~1.2",
1078 | "sebastian/global-state": "~1.0",
1079 | "sebastian/object-enumerator": "~1.0",
1080 | "sebastian/resource-operations": "~1.0",
1081 | "sebastian/version": "~1.0|~2.0",
1082 | "symfony/yaml": "~2.1|~3.0"
1083 | },
1084 | "conflict": {
1085 | "phpdocumentor/reflection-docblock": "3.0.2"
1086 | },
1087 | "suggest": {
1088 | "phpunit/php-invoker": "~1.1"
1089 | },
1090 | "bin": [
1091 | "phpunit"
1092 | ],
1093 | "type": "library",
1094 | "extra": {
1095 | "branch-alias": {
1096 | "dev-master": "5.4.x-dev"
1097 | }
1098 | },
1099 | "autoload": {
1100 | "classmap": [
1101 | "src/"
1102 | ]
1103 | },
1104 | "notification-url": "https://packagist.org/downloads/",
1105 | "license": [
1106 | "BSD-3-Clause"
1107 | ],
1108 | "authors": [
1109 | {
1110 | "name": "Sebastian Bergmann",
1111 | "email": "sebastian@phpunit.de",
1112 | "role": "lead"
1113 | }
1114 | ],
1115 | "description": "The PHP Unit Testing framework.",
1116 | "homepage": "https://phpunit.de/",
1117 | "keywords": [
1118 | "phpunit",
1119 | "testing",
1120 | "xunit"
1121 | ],
1122 | "time": "2016-07-26 14:48:00"
1123 | },
1124 | {
1125 | "name": "phpunit/phpunit-mock-objects",
1126 | "version": "3.2.3",
1127 | "source": {
1128 | "type": "git",
1129 | "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
1130 | "reference": "b13d0d9426ced06958bd32104653526a6c998a52"
1131 | },
1132 | "dist": {
1133 | "type": "zip",
1134 | "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/b13d0d9426ced06958bd32104653526a6c998a52",
1135 | "reference": "b13d0d9426ced06958bd32104653526a6c998a52",
1136 | "shasum": ""
1137 | },
1138 | "require": {
1139 | "doctrine/instantiator": "^1.0.2",
1140 | "php": "^5.6 || ^7.0",
1141 | "phpunit/php-text-template": "^1.2",
1142 | "sebastian/exporter": "^1.2"
1143 | },
1144 | "conflict": {
1145 | "phpunit/phpunit": "<5.4.0"
1146 | },
1147 | "require-dev": {
1148 | "phpunit/phpunit": "^5.4"
1149 | },
1150 | "suggest": {
1151 | "ext-soap": "*"
1152 | },
1153 | "type": "library",
1154 | "extra": {
1155 | "branch-alias": {
1156 | "dev-master": "3.2.x-dev"
1157 | }
1158 | },
1159 | "autoload": {
1160 | "classmap": [
1161 | "src/"
1162 | ]
1163 | },
1164 | "notification-url": "https://packagist.org/downloads/",
1165 | "license": [
1166 | "BSD-3-Clause"
1167 | ],
1168 | "authors": [
1169 | {
1170 | "name": "Sebastian Bergmann",
1171 | "email": "sb@sebastian-bergmann.de",
1172 | "role": "lead"
1173 | }
1174 | ],
1175 | "description": "Mock Object library for PHPUnit",
1176 | "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
1177 | "keywords": [
1178 | "mock",
1179 | "xunit"
1180 | ],
1181 | "time": "2016-06-12 07:37:26"
1182 | },
1183 | {
1184 | "name": "sebastian/code-unit-reverse-lookup",
1185 | "version": "1.0.0",
1186 | "source": {
1187 | "type": "git",
1188 | "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
1189 | "reference": "c36f5e7cfce482fde5bf8d10d41a53591e0198fe"
1190 | },
1191 | "dist": {
1192 | "type": "zip",
1193 | "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/c36f5e7cfce482fde5bf8d10d41a53591e0198fe",
1194 | "reference": "c36f5e7cfce482fde5bf8d10d41a53591e0198fe",
1195 | "shasum": ""
1196 | },
1197 | "require": {
1198 | "php": ">=5.6"
1199 | },
1200 | "require-dev": {
1201 | "phpunit/phpunit": "~5"
1202 | },
1203 | "type": "library",
1204 | "extra": {
1205 | "branch-alias": {
1206 | "dev-master": "1.0.x-dev"
1207 | }
1208 | },
1209 | "autoload": {
1210 | "classmap": [
1211 | "src/"
1212 | ]
1213 | },
1214 | "notification-url": "https://packagist.org/downloads/",
1215 | "license": [
1216 | "BSD-3-Clause"
1217 | ],
1218 | "authors": [
1219 | {
1220 | "name": "Sebastian Bergmann",
1221 | "email": "sebastian@phpunit.de"
1222 | }
1223 | ],
1224 | "description": "Looks up which function or method a line of code belongs to",
1225 | "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
1226 | "time": "2016-02-13 06:45:14"
1227 | },
1228 | {
1229 | "name": "sebastian/comparator",
1230 | "version": "1.2.0",
1231 | "source": {
1232 | "type": "git",
1233 | "url": "https://github.com/sebastianbergmann/comparator.git",
1234 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
1235 | },
1236 | "dist": {
1237 | "type": "zip",
1238 | "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
1239 | "reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
1240 | "shasum": ""
1241 | },
1242 | "require": {
1243 | "php": ">=5.3.3",
1244 | "sebastian/diff": "~1.2",
1245 | "sebastian/exporter": "~1.2"
1246 | },
1247 | "require-dev": {
1248 | "phpunit/phpunit": "~4.4"
1249 | },
1250 | "type": "library",
1251 | "extra": {
1252 | "branch-alias": {
1253 | "dev-master": "1.2.x-dev"
1254 | }
1255 | },
1256 | "autoload": {
1257 | "classmap": [
1258 | "src/"
1259 | ]
1260 | },
1261 | "notification-url": "https://packagist.org/downloads/",
1262 | "license": [
1263 | "BSD-3-Clause"
1264 | ],
1265 | "authors": [
1266 | {
1267 | "name": "Jeff Welch",
1268 | "email": "whatthejeff@gmail.com"
1269 | },
1270 | {
1271 | "name": "Volker Dusch",
1272 | "email": "github@wallbash.com"
1273 | },
1274 | {
1275 | "name": "Bernhard Schussek",
1276 | "email": "bschussek@2bepublished.at"
1277 | },
1278 | {
1279 | "name": "Sebastian Bergmann",
1280 | "email": "sebastian@phpunit.de"
1281 | }
1282 | ],
1283 | "description": "Provides the functionality to compare PHP values for equality",
1284 | "homepage": "http://www.github.com/sebastianbergmann/comparator",
1285 | "keywords": [
1286 | "comparator",
1287 | "compare",
1288 | "equality"
1289 | ],
1290 | "time": "2015-07-26 15:48:44"
1291 | },
1292 | {
1293 | "name": "sebastian/diff",
1294 | "version": "1.4.1",
1295 | "source": {
1296 | "type": "git",
1297 | "url": "https://github.com/sebastianbergmann/diff.git",
1298 | "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e"
1299 | },
1300 | "dist": {
1301 | "type": "zip",
1302 | "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/13edfd8706462032c2f52b4b862974dd46b71c9e",
1303 | "reference": "13edfd8706462032c2f52b4b862974dd46b71c9e",
1304 | "shasum": ""
1305 | },
1306 | "require": {
1307 | "php": ">=5.3.3"
1308 | },
1309 | "require-dev": {
1310 | "phpunit/phpunit": "~4.8"
1311 | },
1312 | "type": "library",
1313 | "extra": {
1314 | "branch-alias": {
1315 | "dev-master": "1.4-dev"
1316 | }
1317 | },
1318 | "autoload": {
1319 | "classmap": [
1320 | "src/"
1321 | ]
1322 | },
1323 | "notification-url": "https://packagist.org/downloads/",
1324 | "license": [
1325 | "BSD-3-Clause"
1326 | ],
1327 | "authors": [
1328 | {
1329 | "name": "Kore Nordmann",
1330 | "email": "mail@kore-nordmann.de"
1331 | },
1332 | {
1333 | "name": "Sebastian Bergmann",
1334 | "email": "sebastian@phpunit.de"
1335 | }
1336 | ],
1337 | "description": "Diff implementation",
1338 | "homepage": "https://github.com/sebastianbergmann/diff",
1339 | "keywords": [
1340 | "diff"
1341 | ],
1342 | "time": "2015-12-08 07:14:41"
1343 | },
1344 | {
1345 | "name": "sebastian/environment",
1346 | "version": "1.3.7",
1347 | "source": {
1348 | "type": "git",
1349 | "url": "https://github.com/sebastianbergmann/environment.git",
1350 | "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716"
1351 | },
1352 | "dist": {
1353 | "type": "zip",
1354 | "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/4e8f0da10ac5802913afc151413bc8c53b6c2716",
1355 | "reference": "4e8f0da10ac5802913afc151413bc8c53b6c2716",
1356 | "shasum": ""
1357 | },
1358 | "require": {
1359 | "php": ">=5.3.3"
1360 | },
1361 | "require-dev": {
1362 | "phpunit/phpunit": "~4.4"
1363 | },
1364 | "type": "library",
1365 | "extra": {
1366 | "branch-alias": {
1367 | "dev-master": "1.3.x-dev"
1368 | }
1369 | },
1370 | "autoload": {
1371 | "classmap": [
1372 | "src/"
1373 | ]
1374 | },
1375 | "notification-url": "https://packagist.org/downloads/",
1376 | "license": [
1377 | "BSD-3-Clause"
1378 | ],
1379 | "authors": [
1380 | {
1381 | "name": "Sebastian Bergmann",
1382 | "email": "sebastian@phpunit.de"
1383 | }
1384 | ],
1385 | "description": "Provides functionality to handle HHVM/PHP environments",
1386 | "homepage": "http://www.github.com/sebastianbergmann/environment",
1387 | "keywords": [
1388 | "Xdebug",
1389 | "environment",
1390 | "hhvm"
1391 | ],
1392 | "time": "2016-05-17 03:18:57"
1393 | },
1394 | {
1395 | "name": "sebastian/exporter",
1396 | "version": "1.2.2",
1397 | "source": {
1398 | "type": "git",
1399 | "url": "https://github.com/sebastianbergmann/exporter.git",
1400 | "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
1401 | },
1402 | "dist": {
1403 | "type": "zip",
1404 | "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
1405 | "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
1406 | "shasum": ""
1407 | },
1408 | "require": {
1409 | "php": ">=5.3.3",
1410 | "sebastian/recursion-context": "~1.0"
1411 | },
1412 | "require-dev": {
1413 | "ext-mbstring": "*",
1414 | "phpunit/phpunit": "~4.4"
1415 | },
1416 | "type": "library",
1417 | "extra": {
1418 | "branch-alias": {
1419 | "dev-master": "1.3.x-dev"
1420 | }
1421 | },
1422 | "autoload": {
1423 | "classmap": [
1424 | "src/"
1425 | ]
1426 | },
1427 | "notification-url": "https://packagist.org/downloads/",
1428 | "license": [
1429 | "BSD-3-Clause"
1430 | ],
1431 | "authors": [
1432 | {
1433 | "name": "Jeff Welch",
1434 | "email": "whatthejeff@gmail.com"
1435 | },
1436 | {
1437 | "name": "Volker Dusch",
1438 | "email": "github@wallbash.com"
1439 | },
1440 | {
1441 | "name": "Bernhard Schussek",
1442 | "email": "bschussek@2bepublished.at"
1443 | },
1444 | {
1445 | "name": "Sebastian Bergmann",
1446 | "email": "sebastian@phpunit.de"
1447 | },
1448 | {
1449 | "name": "Adam Harvey",
1450 | "email": "aharvey@php.net"
1451 | }
1452 | ],
1453 | "description": "Provides the functionality to export PHP variables for visualization",
1454 | "homepage": "http://www.github.com/sebastianbergmann/exporter",
1455 | "keywords": [
1456 | "export",
1457 | "exporter"
1458 | ],
1459 | "time": "2016-06-17 09:04:28"
1460 | },
1461 | {
1462 | "name": "sebastian/global-state",
1463 | "version": "1.1.1",
1464 | "source": {
1465 | "type": "git",
1466 | "url": "https://github.com/sebastianbergmann/global-state.git",
1467 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
1468 | },
1469 | "dist": {
1470 | "type": "zip",
1471 | "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
1472 | "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
1473 | "shasum": ""
1474 | },
1475 | "require": {
1476 | "php": ">=5.3.3"
1477 | },
1478 | "require-dev": {
1479 | "phpunit/phpunit": "~4.2"
1480 | },
1481 | "suggest": {
1482 | "ext-uopz": "*"
1483 | },
1484 | "type": "library",
1485 | "extra": {
1486 | "branch-alias": {
1487 | "dev-master": "1.0-dev"
1488 | }
1489 | },
1490 | "autoload": {
1491 | "classmap": [
1492 | "src/"
1493 | ]
1494 | },
1495 | "notification-url": "https://packagist.org/downloads/",
1496 | "license": [
1497 | "BSD-3-Clause"
1498 | ],
1499 | "authors": [
1500 | {
1501 | "name": "Sebastian Bergmann",
1502 | "email": "sebastian@phpunit.de"
1503 | }
1504 | ],
1505 | "description": "Snapshotting of global state",
1506 | "homepage": "http://www.github.com/sebastianbergmann/global-state",
1507 | "keywords": [
1508 | "global state"
1509 | ],
1510 | "time": "2015-10-12 03:26:01"
1511 | },
1512 | {
1513 | "name": "sebastian/object-enumerator",
1514 | "version": "1.0.0",
1515 | "source": {
1516 | "type": "git",
1517 | "url": "https://github.com/sebastianbergmann/object-enumerator.git",
1518 | "reference": "d4ca2fb70344987502567bc50081c03e6192fb26"
1519 | },
1520 | "dist": {
1521 | "type": "zip",
1522 | "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/d4ca2fb70344987502567bc50081c03e6192fb26",
1523 | "reference": "d4ca2fb70344987502567bc50081c03e6192fb26",
1524 | "shasum": ""
1525 | },
1526 | "require": {
1527 | "php": ">=5.6",
1528 | "sebastian/recursion-context": "~1.0"
1529 | },
1530 | "require-dev": {
1531 | "phpunit/phpunit": "~5"
1532 | },
1533 | "type": "library",
1534 | "extra": {
1535 | "branch-alias": {
1536 | "dev-master": "1.0.x-dev"
1537 | }
1538 | },
1539 | "autoload": {
1540 | "classmap": [
1541 | "src/"
1542 | ]
1543 | },
1544 | "notification-url": "https://packagist.org/downloads/",
1545 | "license": [
1546 | "BSD-3-Clause"
1547 | ],
1548 | "authors": [
1549 | {
1550 | "name": "Sebastian Bergmann",
1551 | "email": "sebastian@phpunit.de"
1552 | }
1553 | ],
1554 | "description": "Traverses array structures and object graphs to enumerate all referenced objects",
1555 | "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
1556 | "time": "2016-01-28 13:25:10"
1557 | },
1558 | {
1559 | "name": "sebastian/recursion-context",
1560 | "version": "1.0.2",
1561 | "source": {
1562 | "type": "git",
1563 | "url": "https://github.com/sebastianbergmann/recursion-context.git",
1564 | "reference": "913401df809e99e4f47b27cdd781f4a258d58791"
1565 | },
1566 | "dist": {
1567 | "type": "zip",
1568 | "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791",
1569 | "reference": "913401df809e99e4f47b27cdd781f4a258d58791",
1570 | "shasum": ""
1571 | },
1572 | "require": {
1573 | "php": ">=5.3.3"
1574 | },
1575 | "require-dev": {
1576 | "phpunit/phpunit": "~4.4"
1577 | },
1578 | "type": "library",
1579 | "extra": {
1580 | "branch-alias": {
1581 | "dev-master": "1.0.x-dev"
1582 | }
1583 | },
1584 | "autoload": {
1585 | "classmap": [
1586 | "src/"
1587 | ]
1588 | },
1589 | "notification-url": "https://packagist.org/downloads/",
1590 | "license": [
1591 | "BSD-3-Clause"
1592 | ],
1593 | "authors": [
1594 | {
1595 | "name": "Jeff Welch",
1596 | "email": "whatthejeff@gmail.com"
1597 | },
1598 | {
1599 | "name": "Sebastian Bergmann",
1600 | "email": "sebastian@phpunit.de"
1601 | },
1602 | {
1603 | "name": "Adam Harvey",
1604 | "email": "aharvey@php.net"
1605 | }
1606 | ],
1607 | "description": "Provides functionality to recursively process PHP variables",
1608 | "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
1609 | "time": "2015-11-11 19:50:13"
1610 | },
1611 | {
1612 | "name": "sebastian/resource-operations",
1613 | "version": "1.0.0",
1614 | "source": {
1615 | "type": "git",
1616 | "url": "https://github.com/sebastianbergmann/resource-operations.git",
1617 | "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
1618 | },
1619 | "dist": {
1620 | "type": "zip",
1621 | "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
1622 | "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
1623 | "shasum": ""
1624 | },
1625 | "require": {
1626 | "php": ">=5.6.0"
1627 | },
1628 | "type": "library",
1629 | "extra": {
1630 | "branch-alias": {
1631 | "dev-master": "1.0.x-dev"
1632 | }
1633 | },
1634 | "autoload": {
1635 | "classmap": [
1636 | "src/"
1637 | ]
1638 | },
1639 | "notification-url": "https://packagist.org/downloads/",
1640 | "license": [
1641 | "BSD-3-Clause"
1642 | ],
1643 | "authors": [
1644 | {
1645 | "name": "Sebastian Bergmann",
1646 | "email": "sebastian@phpunit.de"
1647 | }
1648 | ],
1649 | "description": "Provides a list of PHP built-in functions that operate on resources",
1650 | "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
1651 | "time": "2015-07-28 20:34:47"
1652 | },
1653 | {
1654 | "name": "sebastian/version",
1655 | "version": "2.0.0",
1656 | "source": {
1657 | "type": "git",
1658 | "url": "https://github.com/sebastianbergmann/version.git",
1659 | "reference": "c829badbd8fdf16a0bad8aa7fa7971c029f1b9c5"
1660 | },
1661 | "dist": {
1662 | "type": "zip",
1663 | "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c829badbd8fdf16a0bad8aa7fa7971c029f1b9c5",
1664 | "reference": "c829badbd8fdf16a0bad8aa7fa7971c029f1b9c5",
1665 | "shasum": ""
1666 | },
1667 | "require": {
1668 | "php": ">=5.6"
1669 | },
1670 | "type": "library",
1671 | "extra": {
1672 | "branch-alias": {
1673 | "dev-master": "2.0.x-dev"
1674 | }
1675 | },
1676 | "autoload": {
1677 | "classmap": [
1678 | "src/"
1679 | ]
1680 | },
1681 | "notification-url": "https://packagist.org/downloads/",
1682 | "license": [
1683 | "BSD-3-Clause"
1684 | ],
1685 | "authors": [
1686 | {
1687 | "name": "Sebastian Bergmann",
1688 | "email": "sebastian@phpunit.de",
1689 | "role": "lead"
1690 | }
1691 | ],
1692 | "description": "Library that helps with managing the version number of Git-hosted PHP projects",
1693 | "homepage": "https://github.com/sebastianbergmann/version",
1694 | "time": "2016-02-04 12:56:52"
1695 | },
1696 | {
1697 | "name": "symfony/yaml",
1698 | "version": "v3.1.2",
1699 | "source": {
1700 | "type": "git",
1701 | "url": "https://github.com/symfony/yaml.git",
1702 | "reference": "2884c26ce4c1d61aebf423a8b912950fe7c764de"
1703 | },
1704 | "dist": {
1705 | "type": "zip",
1706 | "url": "https://api.github.com/repos/symfony/yaml/zipball/2884c26ce4c1d61aebf423a8b912950fe7c764de",
1707 | "reference": "2884c26ce4c1d61aebf423a8b912950fe7c764de",
1708 | "shasum": ""
1709 | },
1710 | "require": {
1711 | "php": ">=5.5.9"
1712 | },
1713 | "type": "library",
1714 | "extra": {
1715 | "branch-alias": {
1716 | "dev-master": "3.1-dev"
1717 | }
1718 | },
1719 | "autoload": {
1720 | "psr-4": {
1721 | "Symfony\\Component\\Yaml\\": ""
1722 | },
1723 | "exclude-from-classmap": [
1724 | "/Tests/"
1725 | ]
1726 | },
1727 | "notification-url": "https://packagist.org/downloads/",
1728 | "license": [
1729 | "MIT"
1730 | ],
1731 | "authors": [
1732 | {
1733 | "name": "Fabien Potencier",
1734 | "email": "fabien@symfony.com"
1735 | },
1736 | {
1737 | "name": "Symfony Community",
1738 | "homepage": "https://symfony.com/contributors"
1739 | }
1740 | ],
1741 | "description": "Symfony Yaml Component",
1742 | "homepage": "https://symfony.com",
1743 | "time": "2016-06-29 05:41:56"
1744 | },
1745 | {
1746 | "name": "webmozart/assert",
1747 | "version": "1.0.2",
1748 | "source": {
1749 | "type": "git",
1750 | "url": "https://github.com/webmozart/assert.git",
1751 | "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde"
1752 | },
1753 | "dist": {
1754 | "type": "zip",
1755 | "url": "https://api.github.com/repos/webmozart/assert/zipball/30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde",
1756 | "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde",
1757 | "shasum": ""
1758 | },
1759 | "require": {
1760 | "php": ">=5.3.3"
1761 | },
1762 | "require-dev": {
1763 | "phpunit/phpunit": "^4.6"
1764 | },
1765 | "type": "library",
1766 | "extra": {
1767 | "branch-alias": {
1768 | "dev-master": "1.0-dev"
1769 | }
1770 | },
1771 | "autoload": {
1772 | "psr-4": {
1773 | "Webmozart\\Assert\\": "src/"
1774 | }
1775 | },
1776 | "notification-url": "https://packagist.org/downloads/",
1777 | "license": [
1778 | "MIT"
1779 | ],
1780 | "authors": [
1781 | {
1782 | "name": "Bernhard Schussek",
1783 | "email": "bschussek@gmail.com"
1784 | }
1785 | ],
1786 | "description": "Assertions to validate method input/output with nice error messages.",
1787 | "keywords": [
1788 | "assert",
1789 | "check",
1790 | "validate"
1791 | ],
1792 | "time": "2015-08-24 13:29:44"
1793 | }
1794 | ],
1795 | "aliases": [],
1796 | "minimum-stability": "stable",
1797 | "stability-flags": [],
1798 | "prefer-stable": false,
1799 | "prefer-lowest": false,
1800 | "platform": {
1801 | "php": ">=5.6"
1802 | },
1803 | "platform-dev": []
1804 | }
1805 |
--------------------------------------------------------------------------------