├── .gitignore
├── Gulpfile.js
├── README.md
├── composer.json
├── composer.lock
├── package.json
├── puli.json
├── res
├── js
│ └── script.js
├── public
│ └── images
│ │ └── puli-logo.png
├── scss
│ └── style.scss
└── views
│ ├── index.html.twig
│ └── layout.html.twig
├── src
└── DemoApplication.php
├── var
├── cache
│ └── .gitkeep
└── logs
│ └── .gitkeep
└── web
├── .htaccess
├── app.php
└── app_dev.php
/.gitignore:
--------------------------------------------------------------------------------
1 | /.puli
2 | /node_modules
3 | /res/public/css
4 | /res/public/js
5 | /res/public/fonts
6 | /vendor
7 | /web/css
8 | /web/fonts
9 | /web/images
10 | /web/js
11 | /var/cache/*
12 | /var/logs/*
13 | !/var/cache/.gitkeep
14 | !/var/logs/.gitkeep
15 |
--------------------------------------------------------------------------------
/Gulpfile.js:
--------------------------------------------------------------------------------
1 | var gulp = require('gulp'),
2 | sass = require('gulp-sass'),
3 | concat = require('gulp-concat');
4 |
5 | gulp.task('default', ['js', 'css', 'fonts']);
6 |
7 | gulp.task('css', function () {
8 | gulp.src(['node_modules/bootstrap-sass/assets/stylesheets/_bootstrap.scss', 'res/scss/style.scss'])
9 | .pipe(concat('style.scss'))
10 | .pipe(sass())
11 | .pipe(gulp.dest('res/public/css/'));
12 | });
13 |
14 | gulp.task('js', function () {
15 | gulp.src([
16 | 'res/js/script.js',
17 | 'node_modules/jquery/dist/jquery.min.js',
18 | 'node_modules/bootstrap-sass/assets/javascripts/bootstrap.min.js'
19 | ])
20 | .pipe(gulp.dest('res/public/js/'));
21 | });
22 |
23 | gulp.task('fonts', function () {
24 | gulp.src('node_modules/bootstrap-sass/assets/fonts/bootstrap/*')
25 | .pipe(gulp.dest('res/public/fonts/'));
26 | });
27 |
28 | gulp.task('watch', function () {
29 | gulp.watch('res/scss/*.scss', ['css']);
30 | gulp.watch('res/js/*.js', ['js']);
31 | });
32 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | A Puli Demo Application
2 | =======================
3 |
4 | This repository contains a demo application showing how to use [Puli] in a
5 | [Silex] application together with [Twig] and [Gulp JS].
6 |
7 | Run the following commands after cloning the repository:
8 |
9 | ```
10 | $ npm install
11 | $ gulp
12 | $ composer install
13 | $ vendor/bin/puli publish --install
14 | ```
15 |
16 | Building your Own
17 | -----------------
18 |
19 | If you want to build this demo application from scratch, follow these steps:
20 |
21 | 1. Create the basic directory layout
22 | 2. Copy `composer.json`, `package.json` and `Gulpfile.js` to the project
23 | 3. Run `npm install`
24 | 4. Run `composer install`
25 | 5. Put your SCSS files into `res/scss/`
26 | 6. Put your Javascript files into `res/js/`
27 | 7. Run `gulp`
28 | 8. Download [`puli.phar`]
29 | 9. Run `php puli.phar map /app res` to map the Puli path `/app` to the `res` directory
30 | 10. Run `php puli.phar server --add localhost web` to add the server "local" for the directory `web`
31 | 11. Run `php puli.phar publish /app/public localhost` to publish your public resources to localhost.
32 | 12. Run `php puli.phar publish --install` to install the public resources on the server.
33 |
34 | [Puli]: http://puli.io
35 | [Silex]: http://silex.sensiolabs.org
36 | [Twig]: http://twig.sensiolabs.org
37 | [Gulp JS]: http://gulpjs.com
38 | [`puli.phar`]: https://github.com/puli/cli/releases
39 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "puli/demo-application",
3 | "description": "A demo application showcasing the use of the Puli resource manager with Silex, Twig and Gulp JS.",
4 | "license": "MIT",
5 | "authors": [
6 | {
7 | "name": "Bernhard Schussek",
8 | "email": "bschussek@gmail.com"
9 | }
10 | ],
11 | "autoload": {
12 | "psr-4": { "Puli\\DemoApplication\\": "src/" }
13 | },
14 | "require": {
15 | "silex/silex": "^1.2",
16 | "twig/twig": "^1.18",
17 | "puli/composer-plugin": "^1.0-beta9",
18 | "puli/repository": "^1.0-beta9",
19 | "puli/discovery": "^1.0-beta9",
20 | "puli/url-generator": "^1.0-beta4",
21 | "puli/twig-extension": "^1.0-beta8",
22 | "symfony/filesystem": "^3.0"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/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": "7a40a4571a40d5196ba825f74ff52e4f",
8 | "content-hash": "64ed08fde95016013c2e71cb5120bf20",
9 | "packages": [
10 | {
11 | "name": "justinrainbow/json-schema",
12 | "version": "v1.6.0",
13 | "source": {
14 | "type": "git",
15 | "url": "https://github.com/justinrainbow/json-schema.git",
16 | "reference": "f9e27c3e202faf14fd581ef41355d83bb4b7eb7d"
17 | },
18 | "dist": {
19 | "type": "zip",
20 | "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/f9e27c3e202faf14fd581ef41355d83bb4b7eb7d",
21 | "reference": "f9e27c3e202faf14fd581ef41355d83bb4b7eb7d",
22 | "shasum": ""
23 | },
24 | "require": {
25 | "php": ">=5.3.2"
26 | },
27 | "require-dev": {
28 | "json-schema/json-schema-test-suite": "1.1.0",
29 | "phpdocumentor/phpdocumentor": "~2",
30 | "phpunit/phpunit": "~3.7"
31 | },
32 | "bin": [
33 | "bin/validate-json"
34 | ],
35 | "type": "library",
36 | "extra": {
37 | "branch-alias": {
38 | "dev-master": "1.4.x-dev"
39 | }
40 | },
41 | "autoload": {
42 | "psr-4": {
43 | "JsonSchema\\": "src/JsonSchema/"
44 | }
45 | },
46 | "notification-url": "https://packagist.org/downloads/",
47 | "license": [
48 | "BSD-3-Clause"
49 | ],
50 | "authors": [
51 | {
52 | "name": "Bruno Prieto Reis",
53 | "email": "bruno.p.reis@gmail.com"
54 | },
55 | {
56 | "name": "Justin Rainbow",
57 | "email": "justin.rainbow@gmail.com"
58 | },
59 | {
60 | "name": "Igor Wiedler",
61 | "email": "igor@wiedler.ch"
62 | },
63 | {
64 | "name": "Robert Schönthal",
65 | "email": "seroscho@googlemail.com"
66 | }
67 | ],
68 | "description": "A library to validate a json schema.",
69 | "homepage": "https://github.com/justinrainbow/json-schema",
70 | "keywords": [
71 | "json",
72 | "schema"
73 | ],
74 | "time": "2016-01-06 14:37:04"
75 | },
76 | {
77 | "name": "pimple/pimple",
78 | "version": "v1.1.1",
79 | "source": {
80 | "type": "git",
81 | "url": "https://github.com/silexphp/Pimple.git",
82 | "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d"
83 | },
84 | "dist": {
85 | "type": "zip",
86 | "url": "https://api.github.com/repos/silexphp/Pimple/zipball/2019c145fe393923f3441b23f29bbdfaa5c58c4d",
87 | "reference": "2019c145fe393923f3441b23f29bbdfaa5c58c4d",
88 | "shasum": ""
89 | },
90 | "require": {
91 | "php": ">=5.3.0"
92 | },
93 | "type": "library",
94 | "extra": {
95 | "branch-alias": {
96 | "dev-master": "1.1.x-dev"
97 | }
98 | },
99 | "autoload": {
100 | "psr-0": {
101 | "Pimple": "lib/"
102 | }
103 | },
104 | "notification-url": "https://packagist.org/downloads/",
105 | "license": [
106 | "MIT"
107 | ],
108 | "authors": [
109 | {
110 | "name": "Fabien Potencier",
111 | "email": "fabien@symfony.com"
112 | }
113 | ],
114 | "description": "Pimple is a simple Dependency Injection Container for PHP 5.3",
115 | "homepage": "http://pimple.sensiolabs.org",
116 | "keywords": [
117 | "container",
118 | "dependency injection"
119 | ],
120 | "time": "2013-11-22 08:30:29"
121 | },
122 | {
123 | "name": "psr/log",
124 | "version": "1.0.0",
125 | "source": {
126 | "type": "git",
127 | "url": "https://github.com/php-fig/log.git",
128 | "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
129 | },
130 | "dist": {
131 | "type": "zip",
132 | "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
133 | "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
134 | "shasum": ""
135 | },
136 | "type": "library",
137 | "autoload": {
138 | "psr-0": {
139 | "Psr\\Log\\": ""
140 | }
141 | },
142 | "notification-url": "https://packagist.org/downloads/",
143 | "license": [
144 | "MIT"
145 | ],
146 | "authors": [
147 | {
148 | "name": "PHP-FIG",
149 | "homepage": "http://www.php-fig.org/"
150 | }
151 | ],
152 | "description": "Common interface for logging libraries",
153 | "keywords": [
154 | "log",
155 | "psr",
156 | "psr-3"
157 | ],
158 | "time": "2012-12-21 11:40:51"
159 | },
160 | {
161 | "name": "puli/composer-plugin",
162 | "version": "1.0.0-beta9",
163 | "source": {
164 | "type": "git",
165 | "url": "https://github.com/puli/composer-plugin.git",
166 | "reference": "a807314893420bd6c33402e7e9b01448748f3618"
167 | },
168 | "dist": {
169 | "type": "zip",
170 | "url": "https://api.github.com/repos/puli/composer-plugin/zipball/a807314893420bd6c33402e7e9b01448748f3618",
171 | "reference": "a807314893420bd6c33402e7e9b01448748f3618",
172 | "shasum": ""
173 | },
174 | "require": {
175 | "composer-plugin-api": "^1.0",
176 | "php": "^5.3.9|^7.0",
177 | "puli/discovery": "^1.0-beta9",
178 | "puli/repository": "^1.0-beta9",
179 | "puli/url-generator": "^1.0-beta4",
180 | "symfony/process": "^2.3|^3.0",
181 | "webmozart/assert": "^1.0",
182 | "webmozart/json": "^1.2.2",
183 | "webmozart/path-util": "^2.2"
184 | },
185 | "require-dev": {
186 | "composer/composer": "^1.0-alpha10",
187 | "phpunit/phpunit": "^4.6",
188 | "sebastian/version": "^1.0.1",
189 | "symfony/filesystem": "^2.3",
190 | "webmozart/glob": "^4.0"
191 | },
192 | "type": "composer-plugin",
193 | "extra": {
194 | "branch-alias": {
195 | "dev-master": "1.0-dev"
196 | },
197 | "class": "Puli\\ComposerPlugin\\PuliPlugin"
198 | },
199 | "autoload": {
200 | "psr-4": {
201 | "Puli\\ComposerPlugin\\": "src/"
202 | }
203 | },
204 | "notification-url": "https://packagist.org/downloads/",
205 | "license": [
206 | "MIT"
207 | ],
208 | "authors": [
209 | {
210 | "name": "Bernhard Schussek",
211 | "email": "bschussek@gmail.com"
212 | }
213 | ],
214 | "description": "Integrates Composer into the Puli package manager.",
215 | "homepage": "http://puli.io",
216 | "time": "2016-01-14 12:40:31"
217 | },
218 | {
219 | "name": "puli/discovery",
220 | "version": "1.0.0-beta9",
221 | "source": {
222 | "type": "git",
223 | "url": "https://github.com/puli/discovery.git",
224 | "reference": "3fcb42bbbf27e7baa6d978c93be966ee4c2f6085"
225 | },
226 | "dist": {
227 | "type": "zip",
228 | "url": "https://api.github.com/repos/puli/discovery/zipball/3fcb42bbbf27e7baa6d978c93be966ee4c2f6085",
229 | "reference": "3fcb42bbbf27e7baa6d978c93be966ee4c2f6085",
230 | "shasum": ""
231 | },
232 | "require": {
233 | "php": "^5.3.9|^7.0",
234 | "ramsey/uuid": "^2.8",
235 | "webmozart/assert": "^1.0",
236 | "webmozart/expression": "^1.0"
237 | },
238 | "require-dev": {
239 | "phpunit/phpunit": "^4.6",
240 | "puli/repository": "^1.0-beta9",
241 | "sebastian/version": "^1.0.1",
242 | "webmozart/json": "^1.2",
243 | "webmozart/key-value-store": "^1.0-beta7"
244 | },
245 | "suggest": {
246 | "puli/repository": "to bind and discover Puli resources",
247 | "webmozart/json": "to use the JSON discovery",
248 | "webmozart/key-value-store": "to use the key-value store discovery"
249 | },
250 | "type": "library",
251 | "extra": {
252 | "branch-alias": {
253 | "dev-master": "1.0-dev"
254 | }
255 | },
256 | "autoload": {
257 | "psr-4": {
258 | "Puli\\Discovery\\": "src/"
259 | }
260 | },
261 | "notification-url": "https://packagist.org/downloads/",
262 | "license": [
263 | "MIT"
264 | ],
265 | "authors": [
266 | {
267 | "name": "Bernhard Schussek",
268 | "email": "bschussek@gmail.com"
269 | }
270 | ],
271 | "description": "Publishes and discovers artifacts across Puli packages.",
272 | "homepage": "http://puli.io",
273 | "time": "2016-01-14 10:18:41"
274 | },
275 | {
276 | "name": "puli/repository",
277 | "version": "1.0.0-beta9",
278 | "source": {
279 | "type": "git",
280 | "url": "https://github.com/puli/repository.git",
281 | "reference": "290afcb7eff49a031a6a4c2c2a8dbd180e86d6ce"
282 | },
283 | "dist": {
284 | "type": "zip",
285 | "url": "https://api.github.com/repos/puli/repository/zipball/290afcb7eff49a031a6a4c2c2a8dbd180e86d6ce",
286 | "reference": "290afcb7eff49a031a6a4c2c2a8dbd180e86d6ce",
287 | "shasum": ""
288 | },
289 | "require": {
290 | "php": "^5.3.9|^7.0",
291 | "psr/log": "^1.0",
292 | "webmozart/assert": "^1.0",
293 | "webmozart/glob": "^4.1",
294 | "webmozart/path-util": "^2.2"
295 | },
296 | "require-dev": {
297 | "phpunit/phpunit": "^4.6",
298 | "sebastian/version": "^1.0.1",
299 | "symfony/filesystem": "^2.0|^3.0",
300 | "webmozart/json": "^1.2.1",
301 | "webmozart/key-value-store": "^1.0-beta7"
302 | },
303 | "suggest": {
304 | "symfony/filesystem": "to use the filesystem repository",
305 | "webmozart/json": "to use the JSON repositories",
306 | "webmozart/key-value-store": "to use the key-value store change stream"
307 | },
308 | "type": "library",
309 | "extra": {
310 | "branch-alias": {
311 | "dev-master": "1.1-dev"
312 | }
313 | },
314 | "autoload": {
315 | "psr-4": {
316 | "Puli\\Repository\\": "src/"
317 | }
318 | },
319 | "notification-url": "https://packagist.org/downloads/",
320 | "license": [
321 | "MIT"
322 | ],
323 | "authors": [
324 | {
325 | "name": "Bernhard Schussek",
326 | "email": "bschussek@gmail.com"
327 | }
328 | ],
329 | "description": "A filesystem-like repository for storing arbitrary resources.",
330 | "homepage": "http://puli.io",
331 | "time": "2016-01-14 13:04:53"
332 | },
333 | {
334 | "name": "puli/twig-extension",
335 | "version": "1.0.0-beta8",
336 | "source": {
337 | "type": "git",
338 | "url": "https://github.com/puli/twig-extension.git",
339 | "reference": "41972f1b7330bec8481fd5ea2c30f52afa381730"
340 | },
341 | "dist": {
342 | "type": "zip",
343 | "url": "https://api.github.com/repos/puli/twig-extension/zipball/41972f1b7330bec8481fd5ea2c30f52afa381730",
344 | "reference": "41972f1b7330bec8481fd5ea2c30f52afa381730",
345 | "shasum": ""
346 | },
347 | "require": {
348 | "php": "^5.3.9|^7.0",
349 | "puli/repository": "^1.0-beta9",
350 | "twig/twig": "^1.20|^2.0",
351 | "webmozart/path-util": "^2.0"
352 | },
353 | "require-dev": {
354 | "phpunit/phpunit": "^4.6",
355 | "puli/discovery": "^1.0-beta9",
356 | "puli/url-generator": "^1.0-beta4",
357 | "sebastian/version": "^1.0.1",
358 | "symfony/http-kernel": "^2.3"
359 | },
360 | "suggest": {
361 | "puli/url-generator": "to use the resource_url() function"
362 | },
363 | "type": "library",
364 | "extra": {
365 | "branch-alias": {
366 | "dev-master": "1.0-dev"
367 | }
368 | },
369 | "autoload": {
370 | "psr-4": {
371 | "Puli\\TwigExtension\\": "src/"
372 | }
373 | },
374 | "notification-url": "https://packagist.org/downloads/",
375 | "license": [
376 | "MIT"
377 | ],
378 | "authors": [
379 | {
380 | "name": "Bernhard Schussek",
381 | "email": "bschussek@gmail.com"
382 | }
383 | ],
384 | "description": "A Puli extension for the Twig templating system.",
385 | "homepage": "http://puli.io",
386 | "time": "2016-01-14 12:44:30"
387 | },
388 | {
389 | "name": "puli/url-generator",
390 | "version": "1.0.0-beta4",
391 | "source": {
392 | "type": "git",
393 | "url": "https://github.com/puli/url-generator.git",
394 | "reference": "b6c0bfb678dde9a2f8ece661f894c9f39e62dcc2"
395 | },
396 | "dist": {
397 | "type": "zip",
398 | "url": "https://api.github.com/repos/puli/url-generator/zipball/b6c0bfb678dde9a2f8ece661f894c9f39e62dcc2",
399 | "reference": "b6c0bfb678dde9a2f8ece661f894c9f39e62dcc2",
400 | "shasum": ""
401 | },
402 | "require": {
403 | "php": "^5.3.9|^7.0",
404 | "puli/discovery": "^1.0-beta9",
405 | "puli/repository": "^1.0-beta9",
406 | "webmozart/glob": "^4.0",
407 | "webmozart/path-util": "^2.3"
408 | },
409 | "require-dev": {
410 | "phpunit/phpunit": "^4.6",
411 | "sebastian/version": "^1.0.1"
412 | },
413 | "type": "library",
414 | "extra": {
415 | "branch-alias": {
416 | "dev-master": "1.0-dev"
417 | }
418 | },
419 | "autoload": {
420 | "psr-4": {
421 | "Puli\\UrlGenerator\\": "src/"
422 | }
423 | },
424 | "notification-url": "https://packagist.org/downloads/",
425 | "license": [
426 | "MIT"
427 | ],
428 | "authors": [
429 | {
430 | "name": "Bernhard Schussek",
431 | "email": "bschussek@gmail.com"
432 | }
433 | ],
434 | "description": "Generates URLs for public Puli resources.",
435 | "homepage": "http://puli.io",
436 | "keywords": [
437 | "asset",
438 | "public",
439 | "puli",
440 | "resource",
441 | "url"
442 | ],
443 | "time": "2016-01-14 10:30:17"
444 | },
445 | {
446 | "name": "ramsey/uuid",
447 | "version": "2.8.4",
448 | "source": {
449 | "type": "git",
450 | "url": "https://github.com/ramsey/uuid.git",
451 | "reference": "805d8e1894c52e5b1582e75ca8803a8d85650df9"
452 | },
453 | "dist": {
454 | "type": "zip",
455 | "url": "https://api.github.com/repos/ramsey/uuid/zipball/805d8e1894c52e5b1582e75ca8803a8d85650df9",
456 | "reference": "805d8e1894c52e5b1582e75ca8803a8d85650df9",
457 | "shasum": ""
458 | },
459 | "require": {
460 | "php": ">=5.3.3"
461 | },
462 | "replace": {
463 | "rhumsaa/uuid": "self.version"
464 | },
465 | "require-dev": {
466 | "doctrine/dbal": ">=2.3",
467 | "jakub-onderka/php-parallel-lint": "^0.9.0",
468 | "moontoast/math": "~1.1",
469 | "phpunit/phpunit": "~4.1|~5.0",
470 | "satooshi/php-coveralls": "~0.6",
471 | "squizlabs/php_codesniffer": "^2.3",
472 | "symfony/console": "~2.3|~3.0"
473 | },
474 | "suggest": {
475 | "doctrine/dbal": "Allow the use of a UUID as doctrine field type.",
476 | "moontoast/math": "Support for converting UUID to 128-bit integer (in string form).",
477 | "symfony/console": "Support for use of the bin/uuid command line tool."
478 | },
479 | "bin": [
480 | "bin/uuid"
481 | ],
482 | "type": "library",
483 | "autoload": {
484 | "psr-4": {
485 | "Rhumsaa\\Uuid\\": "src/"
486 | }
487 | },
488 | "notification-url": "https://packagist.org/downloads/",
489 | "license": [
490 | "MIT"
491 | ],
492 | "authors": [
493 | {
494 | "name": "Marijn Huizendveld",
495 | "email": "marijn.huizendveld@gmail.com"
496 | },
497 | {
498 | "name": "Ben Ramsey",
499 | "homepage": "http://benramsey.com"
500 | }
501 | ],
502 | "description": "A PHP 5.3+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).",
503 | "homepage": "https://github.com/ramsey/uuid",
504 | "keywords": [
505 | "guid",
506 | "identifier",
507 | "uuid"
508 | ],
509 | "time": "2015-12-17 16:54:24"
510 | },
511 | {
512 | "name": "seld/jsonlint",
513 | "version": "1.4.0",
514 | "source": {
515 | "type": "git",
516 | "url": "https://github.com/Seldaek/jsonlint.git",
517 | "reference": "66834d3e3566bb5798db7294619388786ae99394"
518 | },
519 | "dist": {
520 | "type": "zip",
521 | "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/66834d3e3566bb5798db7294619388786ae99394",
522 | "reference": "66834d3e3566bb5798db7294619388786ae99394",
523 | "shasum": ""
524 | },
525 | "require": {
526 | "php": "^5.3 || ^7.0"
527 | },
528 | "bin": [
529 | "bin/jsonlint"
530 | ],
531 | "type": "library",
532 | "autoload": {
533 | "psr-4": {
534 | "Seld\\JsonLint\\": "src/Seld/JsonLint/"
535 | }
536 | },
537 | "notification-url": "https://packagist.org/downloads/",
538 | "license": [
539 | "MIT"
540 | ],
541 | "authors": [
542 | {
543 | "name": "Jordi Boggiano",
544 | "email": "j.boggiano@seld.be",
545 | "homepage": "http://seld.be"
546 | }
547 | ],
548 | "description": "JSON Linter",
549 | "keywords": [
550 | "json",
551 | "linter",
552 | "parser",
553 | "validator"
554 | ],
555 | "time": "2015-11-21 02:21:41"
556 | },
557 | {
558 | "name": "silex/silex",
559 | "version": "v1.3.5",
560 | "source": {
561 | "type": "git",
562 | "url": "https://github.com/silexphp/Silex.git",
563 | "reference": "374c7e04040a6f781c90f7d746726a5daa78e783"
564 | },
565 | "dist": {
566 | "type": "zip",
567 | "url": "https://api.github.com/repos/silexphp/Silex/zipball/374c7e04040a6f781c90f7d746726a5daa78e783",
568 | "reference": "374c7e04040a6f781c90f7d746726a5daa78e783",
569 | "shasum": ""
570 | },
571 | "require": {
572 | "php": ">=5.3.9",
573 | "pimple/pimple": "~1.0",
574 | "symfony/event-dispatcher": "~2.3|3.0.*",
575 | "symfony/http-foundation": "~2.3|3.0.*",
576 | "symfony/http-kernel": "~2.3|3.0.*",
577 | "symfony/routing": "~2.3|3.0.*"
578 | },
579 | "require-dev": {
580 | "doctrine/dbal": "~2.2",
581 | "monolog/monolog": "^1.4.1",
582 | "swiftmailer/swiftmailer": "~5",
583 | "symfony/browser-kit": "~2.3|3.0.*",
584 | "symfony/config": "~2.3|3.0.*",
585 | "symfony/css-selector": "~2.3|3.0.*",
586 | "symfony/debug": "~2.3|3.0.*",
587 | "symfony/dom-crawler": "~2.3|3.0.*",
588 | "symfony/finder": "~2.3|3.0.*",
589 | "symfony/form": "~2.3|3.0.*",
590 | "symfony/locale": "~2.3|3.0.*",
591 | "symfony/monolog-bridge": "~2.3|3.0.*",
592 | "symfony/options-resolver": "~2.3|3.0.*",
593 | "symfony/phpunit-bridge": "~2.7",
594 | "symfony/process": "~2.3|3.0.*",
595 | "symfony/security": "~2.3|3.0.*",
596 | "symfony/serializer": "~2.3|3.0.*",
597 | "symfony/translation": "~2.3|3.0.*",
598 | "symfony/twig-bridge": "~2.3|3.0.*",
599 | "symfony/validator": "~2.3|3.0.*",
600 | "twig/twig": "~1.8|~2.0"
601 | },
602 | "type": "library",
603 | "extra": {
604 | "branch-alias": {
605 | "dev-master": "1.3.x-dev"
606 | }
607 | },
608 | "autoload": {
609 | "psr-4": {
610 | "Silex\\": "src/Silex"
611 | }
612 | },
613 | "notification-url": "https://packagist.org/downloads/",
614 | "license": [
615 | "MIT"
616 | ],
617 | "authors": [
618 | {
619 | "name": "Fabien Potencier",
620 | "email": "fabien@symfony.com"
621 | },
622 | {
623 | "name": "Igor Wiedler",
624 | "email": "igor@wiedler.ch"
625 | }
626 | ],
627 | "description": "The PHP micro-framework based on the Symfony Components",
628 | "homepage": "http://silex.sensiolabs.org",
629 | "keywords": [
630 | "microframework"
631 | ],
632 | "time": "2016-01-06 14:59:35"
633 | },
634 | {
635 | "name": "symfony/debug",
636 | "version": "v3.0.1",
637 | "source": {
638 | "type": "git",
639 | "url": "https://github.com/symfony/debug.git",
640 | "reference": "73612266ac709769effdbfc0762e5b07cfd2ac2a"
641 | },
642 | "dist": {
643 | "type": "zip",
644 | "url": "https://api.github.com/repos/symfony/debug/zipball/73612266ac709769effdbfc0762e5b07cfd2ac2a",
645 | "reference": "73612266ac709769effdbfc0762e5b07cfd2ac2a",
646 | "shasum": ""
647 | },
648 | "require": {
649 | "php": ">=5.5.9",
650 | "psr/log": "~1.0"
651 | },
652 | "conflict": {
653 | "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
654 | },
655 | "require-dev": {
656 | "symfony/class-loader": "~2.8|~3.0",
657 | "symfony/http-kernel": "~2.8|~3.0"
658 | },
659 | "type": "library",
660 | "extra": {
661 | "branch-alias": {
662 | "dev-master": "3.0-dev"
663 | }
664 | },
665 | "autoload": {
666 | "psr-4": {
667 | "Symfony\\Component\\Debug\\": ""
668 | },
669 | "exclude-from-classmap": [
670 | "/Tests/"
671 | ]
672 | },
673 | "notification-url": "https://packagist.org/downloads/",
674 | "license": [
675 | "MIT"
676 | ],
677 | "authors": [
678 | {
679 | "name": "Fabien Potencier",
680 | "email": "fabien@symfony.com"
681 | },
682 | {
683 | "name": "Symfony Community",
684 | "homepage": "https://symfony.com/contributors"
685 | }
686 | ],
687 | "description": "Symfony Debug Component",
688 | "homepage": "https://symfony.com",
689 | "time": "2015-12-26 13:39:53"
690 | },
691 | {
692 | "name": "symfony/event-dispatcher",
693 | "version": "v3.0.1",
694 | "source": {
695 | "type": "git",
696 | "url": "https://github.com/symfony/event-dispatcher.git",
697 | "reference": "d36355e026905fa5229e1ed7b4e9eda2e67adfcf"
698 | },
699 | "dist": {
700 | "type": "zip",
701 | "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d36355e026905fa5229e1ed7b4e9eda2e67adfcf",
702 | "reference": "d36355e026905fa5229e1ed7b4e9eda2e67adfcf",
703 | "shasum": ""
704 | },
705 | "require": {
706 | "php": ">=5.5.9"
707 | },
708 | "require-dev": {
709 | "psr/log": "~1.0",
710 | "symfony/config": "~2.8|~3.0",
711 | "symfony/dependency-injection": "~2.8|~3.0",
712 | "symfony/expression-language": "~2.8|~3.0",
713 | "symfony/stopwatch": "~2.8|~3.0"
714 | },
715 | "suggest": {
716 | "symfony/dependency-injection": "",
717 | "symfony/http-kernel": ""
718 | },
719 | "type": "library",
720 | "extra": {
721 | "branch-alias": {
722 | "dev-master": "3.0-dev"
723 | }
724 | },
725 | "autoload": {
726 | "psr-4": {
727 | "Symfony\\Component\\EventDispatcher\\": ""
728 | },
729 | "exclude-from-classmap": [
730 | "/Tests/"
731 | ]
732 | },
733 | "notification-url": "https://packagist.org/downloads/",
734 | "license": [
735 | "MIT"
736 | ],
737 | "authors": [
738 | {
739 | "name": "Fabien Potencier",
740 | "email": "fabien@symfony.com"
741 | },
742 | {
743 | "name": "Symfony Community",
744 | "homepage": "https://symfony.com/contributors"
745 | }
746 | ],
747 | "description": "Symfony EventDispatcher Component",
748 | "homepage": "https://symfony.com",
749 | "time": "2015-10-30 23:35:59"
750 | },
751 | {
752 | "name": "symfony/filesystem",
753 | "version": "v3.0.1",
754 | "source": {
755 | "type": "git",
756 | "url": "https://github.com/symfony/filesystem.git",
757 | "reference": "c2e59d11dccd135dc8f00ee97f34fe1de842e70c"
758 | },
759 | "dist": {
760 | "type": "zip",
761 | "url": "https://api.github.com/repos/symfony/filesystem/zipball/c2e59d11dccd135dc8f00ee97f34fe1de842e70c",
762 | "reference": "c2e59d11dccd135dc8f00ee97f34fe1de842e70c",
763 | "shasum": ""
764 | },
765 | "require": {
766 | "php": ">=5.5.9"
767 | },
768 | "type": "library",
769 | "extra": {
770 | "branch-alias": {
771 | "dev-master": "3.0-dev"
772 | }
773 | },
774 | "autoload": {
775 | "psr-4": {
776 | "Symfony\\Component\\Filesystem\\": ""
777 | },
778 | "exclude-from-classmap": [
779 | "/Tests/"
780 | ]
781 | },
782 | "notification-url": "https://packagist.org/downloads/",
783 | "license": [
784 | "MIT"
785 | ],
786 | "authors": [
787 | {
788 | "name": "Fabien Potencier",
789 | "email": "fabien@symfony.com"
790 | },
791 | {
792 | "name": "Symfony Community",
793 | "homepage": "https://symfony.com/contributors"
794 | }
795 | ],
796 | "description": "Symfony Filesystem Component",
797 | "homepage": "https://symfony.com",
798 | "time": "2015-12-22 10:39:06"
799 | },
800 | {
801 | "name": "symfony/http-foundation",
802 | "version": "v3.0.1",
803 | "source": {
804 | "type": "git",
805 | "url": "https://github.com/symfony/http-foundation.git",
806 | "reference": "939c8c28a5b1e4ab7317bc30c1f9aa881c4b06b5"
807 | },
808 | "dist": {
809 | "type": "zip",
810 | "url": "https://api.github.com/repos/symfony/http-foundation/zipball/939c8c28a5b1e4ab7317bc30c1f9aa881c4b06b5",
811 | "reference": "939c8c28a5b1e4ab7317bc30c1f9aa881c4b06b5",
812 | "shasum": ""
813 | },
814 | "require": {
815 | "php": ">=5.5.9"
816 | },
817 | "require-dev": {
818 | "symfony/expression-language": "~2.8|~3.0"
819 | },
820 | "type": "library",
821 | "extra": {
822 | "branch-alias": {
823 | "dev-master": "3.0-dev"
824 | }
825 | },
826 | "autoload": {
827 | "psr-4": {
828 | "Symfony\\Component\\HttpFoundation\\": ""
829 | },
830 | "exclude-from-classmap": [
831 | "/Tests/"
832 | ]
833 | },
834 | "notification-url": "https://packagist.org/downloads/",
835 | "license": [
836 | "MIT"
837 | ],
838 | "authors": [
839 | {
840 | "name": "Fabien Potencier",
841 | "email": "fabien@symfony.com"
842 | },
843 | {
844 | "name": "Symfony Community",
845 | "homepage": "https://symfony.com/contributors"
846 | }
847 | ],
848 | "description": "Symfony HttpFoundation Component",
849 | "homepage": "https://symfony.com",
850 | "time": "2015-12-18 15:43:53"
851 | },
852 | {
853 | "name": "symfony/http-kernel",
854 | "version": "v3.0.1",
855 | "source": {
856 | "type": "git",
857 | "url": "https://github.com/symfony/http-kernel.git",
858 | "reference": "f7933e9f19e26e7baba7ec04735b466fedd3a6db"
859 | },
860 | "dist": {
861 | "type": "zip",
862 | "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f7933e9f19e26e7baba7ec04735b466fedd3a6db",
863 | "reference": "f7933e9f19e26e7baba7ec04735b466fedd3a6db",
864 | "shasum": ""
865 | },
866 | "require": {
867 | "php": ">=5.5.9",
868 | "psr/log": "~1.0",
869 | "symfony/debug": "~2.8|~3.0",
870 | "symfony/event-dispatcher": "~2.8|~3.0",
871 | "symfony/http-foundation": "~2.8|~3.0"
872 | },
873 | "conflict": {
874 | "symfony/config": "<2.8"
875 | },
876 | "require-dev": {
877 | "symfony/browser-kit": "~2.8|~3.0",
878 | "symfony/class-loader": "~2.8|~3.0",
879 | "symfony/config": "~2.8|~3.0",
880 | "symfony/console": "~2.8|~3.0",
881 | "symfony/css-selector": "~2.8|~3.0",
882 | "symfony/dependency-injection": "~2.8|~3.0",
883 | "symfony/dom-crawler": "~2.8|~3.0",
884 | "symfony/expression-language": "~2.8|~3.0",
885 | "symfony/finder": "~2.8|~3.0",
886 | "symfony/process": "~2.8|~3.0",
887 | "symfony/routing": "~2.8|~3.0",
888 | "symfony/stopwatch": "~2.8|~3.0",
889 | "symfony/templating": "~2.8|~3.0",
890 | "symfony/translation": "~2.8|~3.0",
891 | "symfony/var-dumper": "~2.8|~3.0"
892 | },
893 | "suggest": {
894 | "symfony/browser-kit": "",
895 | "symfony/class-loader": "",
896 | "symfony/config": "",
897 | "symfony/console": "",
898 | "symfony/dependency-injection": "",
899 | "symfony/finder": "",
900 | "symfony/var-dumper": ""
901 | },
902 | "type": "library",
903 | "extra": {
904 | "branch-alias": {
905 | "dev-master": "3.0-dev"
906 | }
907 | },
908 | "autoload": {
909 | "psr-4": {
910 | "Symfony\\Component\\HttpKernel\\": ""
911 | },
912 | "exclude-from-classmap": [
913 | "/Tests/"
914 | ]
915 | },
916 | "notification-url": "https://packagist.org/downloads/",
917 | "license": [
918 | "MIT"
919 | ],
920 | "authors": [
921 | {
922 | "name": "Fabien Potencier",
923 | "email": "fabien@symfony.com"
924 | },
925 | {
926 | "name": "Symfony Community",
927 | "homepage": "https://symfony.com/contributors"
928 | }
929 | ],
930 | "description": "Symfony HttpKernel Component",
931 | "homepage": "https://symfony.com",
932 | "time": "2015-12-26 16:46:13"
933 | },
934 | {
935 | "name": "symfony/process",
936 | "version": "v3.0.1",
937 | "source": {
938 | "type": "git",
939 | "url": "https://github.com/symfony/process.git",
940 | "reference": "f4794f1d00f0746621be3020ffbd8c5e0b217ee3"
941 | },
942 | "dist": {
943 | "type": "zip",
944 | "url": "https://api.github.com/repos/symfony/process/zipball/f4794f1d00f0746621be3020ffbd8c5e0b217ee3",
945 | "reference": "f4794f1d00f0746621be3020ffbd8c5e0b217ee3",
946 | "shasum": ""
947 | },
948 | "require": {
949 | "php": ">=5.5.9"
950 | },
951 | "type": "library",
952 | "extra": {
953 | "branch-alias": {
954 | "dev-master": "3.0-dev"
955 | }
956 | },
957 | "autoload": {
958 | "psr-4": {
959 | "Symfony\\Component\\Process\\": ""
960 | },
961 | "exclude-from-classmap": [
962 | "/Tests/"
963 | ]
964 | },
965 | "notification-url": "https://packagist.org/downloads/",
966 | "license": [
967 | "MIT"
968 | ],
969 | "authors": [
970 | {
971 | "name": "Fabien Potencier",
972 | "email": "fabien@symfony.com"
973 | },
974 | {
975 | "name": "Symfony Community",
976 | "homepage": "https://symfony.com/contributors"
977 | }
978 | ],
979 | "description": "Symfony Process Component",
980 | "homepage": "https://symfony.com",
981 | "time": "2015-12-23 11:04:02"
982 | },
983 | {
984 | "name": "symfony/routing",
985 | "version": "v3.0.1",
986 | "source": {
987 | "type": "git",
988 | "url": "https://github.com/symfony/routing.git",
989 | "reference": "3b1bac52f42cb0f54df1a2dbabd55a1d214e2a59"
990 | },
991 | "dist": {
992 | "type": "zip",
993 | "url": "https://api.github.com/repos/symfony/routing/zipball/3b1bac52f42cb0f54df1a2dbabd55a1d214e2a59",
994 | "reference": "3b1bac52f42cb0f54df1a2dbabd55a1d214e2a59",
995 | "shasum": ""
996 | },
997 | "require": {
998 | "php": ">=5.5.9"
999 | },
1000 | "conflict": {
1001 | "symfony/config": "<2.8"
1002 | },
1003 | "require-dev": {
1004 | "doctrine/annotations": "~1.0",
1005 | "doctrine/common": "~2.2",
1006 | "psr/log": "~1.0",
1007 | "symfony/config": "~2.8|~3.0",
1008 | "symfony/expression-language": "~2.8|~3.0",
1009 | "symfony/http-foundation": "~2.8|~3.0",
1010 | "symfony/yaml": "~2.8|~3.0"
1011 | },
1012 | "suggest": {
1013 | "doctrine/annotations": "For using the annotation loader",
1014 | "symfony/config": "For using the all-in-one router or any loader",
1015 | "symfony/dependency-injection": "For loading routes from a service",
1016 | "symfony/expression-language": "For using expression matching",
1017 | "symfony/yaml": "For using the YAML loader"
1018 | },
1019 | "type": "library",
1020 | "extra": {
1021 | "branch-alias": {
1022 | "dev-master": "3.0-dev"
1023 | }
1024 | },
1025 | "autoload": {
1026 | "psr-4": {
1027 | "Symfony\\Component\\Routing\\": ""
1028 | },
1029 | "exclude-from-classmap": [
1030 | "/Tests/"
1031 | ]
1032 | },
1033 | "notification-url": "https://packagist.org/downloads/",
1034 | "license": [
1035 | "MIT"
1036 | ],
1037 | "authors": [
1038 | {
1039 | "name": "Fabien Potencier",
1040 | "email": "fabien@symfony.com"
1041 | },
1042 | {
1043 | "name": "Symfony Community",
1044 | "homepage": "https://symfony.com/contributors"
1045 | }
1046 | ],
1047 | "description": "Symfony Routing Component",
1048 | "homepage": "https://symfony.com",
1049 | "keywords": [
1050 | "router",
1051 | "routing",
1052 | "uri",
1053 | "url"
1054 | ],
1055 | "time": "2015-12-23 08:00:11"
1056 | },
1057 | {
1058 | "name": "twig/twig",
1059 | "version": "v1.23.3",
1060 | "source": {
1061 | "type": "git",
1062 | "url": "https://github.com/twigphp/Twig.git",
1063 | "reference": "ae53fc2c312fdee63773b75cb570304f85388b08"
1064 | },
1065 | "dist": {
1066 | "type": "zip",
1067 | "url": "https://api.github.com/repos/twigphp/Twig/zipball/ae53fc2c312fdee63773b75cb570304f85388b08",
1068 | "reference": "ae53fc2c312fdee63773b75cb570304f85388b08",
1069 | "shasum": ""
1070 | },
1071 | "require": {
1072 | "php": ">=5.2.7"
1073 | },
1074 | "require-dev": {
1075 | "symfony/debug": "~2.7",
1076 | "symfony/phpunit-bridge": "~2.7"
1077 | },
1078 | "type": "library",
1079 | "extra": {
1080 | "branch-alias": {
1081 | "dev-master": "1.23-dev"
1082 | }
1083 | },
1084 | "autoload": {
1085 | "psr-0": {
1086 | "Twig_": "lib/"
1087 | }
1088 | },
1089 | "notification-url": "https://packagist.org/downloads/",
1090 | "license": [
1091 | "BSD-3-Clause"
1092 | ],
1093 | "authors": [
1094 | {
1095 | "name": "Fabien Potencier",
1096 | "email": "fabien@symfony.com",
1097 | "homepage": "http://fabien.potencier.org",
1098 | "role": "Lead Developer"
1099 | },
1100 | {
1101 | "name": "Armin Ronacher",
1102 | "email": "armin.ronacher@active-4.com",
1103 | "role": "Project Founder"
1104 | },
1105 | {
1106 | "name": "Twig Team",
1107 | "homepage": "http://twig.sensiolabs.org/contributors",
1108 | "role": "Contributors"
1109 | }
1110 | ],
1111 | "description": "Twig, the flexible, fast, and secure template language for PHP",
1112 | "homepage": "http://twig.sensiolabs.org",
1113 | "keywords": [
1114 | "templating"
1115 | ],
1116 | "time": "2016-01-11 14:02:19"
1117 | },
1118 | {
1119 | "name": "webmozart/assert",
1120 | "version": "1.0.2",
1121 | "source": {
1122 | "type": "git",
1123 | "url": "https://github.com/webmozart/assert.git",
1124 | "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde"
1125 | },
1126 | "dist": {
1127 | "type": "zip",
1128 | "url": "https://api.github.com/repos/webmozart/assert/zipball/30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde",
1129 | "reference": "30eed06dd6bc88410a4ff7f77b6d22f3ce13dbde",
1130 | "shasum": ""
1131 | },
1132 | "require": {
1133 | "php": ">=5.3.3"
1134 | },
1135 | "require-dev": {
1136 | "phpunit/phpunit": "^4.6"
1137 | },
1138 | "type": "library",
1139 | "extra": {
1140 | "branch-alias": {
1141 | "dev-master": "1.0-dev"
1142 | }
1143 | },
1144 | "autoload": {
1145 | "psr-4": {
1146 | "Webmozart\\Assert\\": "src/"
1147 | }
1148 | },
1149 | "notification-url": "https://packagist.org/downloads/",
1150 | "license": [
1151 | "MIT"
1152 | ],
1153 | "authors": [
1154 | {
1155 | "name": "Bernhard Schussek",
1156 | "email": "bschussek@gmail.com"
1157 | }
1158 | ],
1159 | "description": "Assertions to validate method input/output with nice error messages.",
1160 | "keywords": [
1161 | "assert",
1162 | "check",
1163 | "validate"
1164 | ],
1165 | "time": "2015-08-24 13:29:44"
1166 | },
1167 | {
1168 | "name": "webmozart/expression",
1169 | "version": "1.0.0",
1170 | "source": {
1171 | "type": "git",
1172 | "url": "https://github.com/webmozart/expression.git",
1173 | "reference": "35c222fc49533894228e1240cc844ae91d6a9ef2"
1174 | },
1175 | "dist": {
1176 | "type": "zip",
1177 | "url": "https://api.github.com/repos/webmozart/expression/zipball/35c222fc49533894228e1240cc844ae91d6a9ef2",
1178 | "reference": "35c222fc49533894228e1240cc844ae91d6a9ef2",
1179 | "shasum": ""
1180 | },
1181 | "require": {
1182 | "php": ">=5.3.9"
1183 | },
1184 | "require-dev": {
1185 | "phpunit/phpunit": "^4.6",
1186 | "sebastian/version": "^1.0.1"
1187 | },
1188 | "type": "library",
1189 | "extra": {
1190 | "branch-alias": {
1191 | "dev-master": "1.0-dev"
1192 | }
1193 | },
1194 | "autoload": {
1195 | "psr-4": {
1196 | "Webmozart\\Expression\\": "src/"
1197 | }
1198 | },
1199 | "notification-url": "https://packagist.org/downloads/",
1200 | "license": [
1201 | "MIT"
1202 | ],
1203 | "authors": [
1204 | {
1205 | "name": "Bernhard Schussek",
1206 | "email": "bschussek@gmail.com"
1207 | }
1208 | ],
1209 | "description": "Formulate expressions and search criteria using PHP objects.",
1210 | "keywords": [
1211 | "criteria",
1212 | "expression",
1213 | "filter",
1214 | "formula"
1215 | ],
1216 | "time": "2015-12-17 10:43:13"
1217 | },
1218 | {
1219 | "name": "webmozart/glob",
1220 | "version": "4.1.0",
1221 | "source": {
1222 | "type": "git",
1223 | "url": "https://github.com/webmozart/glob.git",
1224 | "reference": "3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe"
1225 | },
1226 | "dist": {
1227 | "type": "zip",
1228 | "url": "https://api.github.com/repos/webmozart/glob/zipball/3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe",
1229 | "reference": "3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe",
1230 | "shasum": ""
1231 | },
1232 | "require": {
1233 | "php": "^5.3.3|^7.0",
1234 | "webmozart/path-util": "^2.2"
1235 | },
1236 | "require-dev": {
1237 | "phpunit/phpunit": "^4.6",
1238 | "sebastian/version": "^1.0.1",
1239 | "symfony/filesystem": "^2.5"
1240 | },
1241 | "type": "library",
1242 | "extra": {
1243 | "branch-alias": {
1244 | "dev-master": "4.1-dev"
1245 | }
1246 | },
1247 | "autoload": {
1248 | "psr-4": {
1249 | "Webmozart\\Glob\\": "src/"
1250 | }
1251 | },
1252 | "notification-url": "https://packagist.org/downloads/",
1253 | "license": [
1254 | "MIT"
1255 | ],
1256 | "authors": [
1257 | {
1258 | "name": "Bernhard Schussek",
1259 | "email": "bschussek@gmail.com"
1260 | }
1261 | ],
1262 | "description": "A PHP implementation of Ant's glob.",
1263 | "time": "2015-12-29 11:14:33"
1264 | },
1265 | {
1266 | "name": "webmozart/json",
1267 | "version": "1.2.2",
1268 | "source": {
1269 | "type": "git",
1270 | "url": "https://github.com/webmozart/json.git",
1271 | "reference": "a1fb3da904b8364e3db47eed68f76bfb6cd0031a"
1272 | },
1273 | "dist": {
1274 | "type": "zip",
1275 | "url": "https://api.github.com/repos/webmozart/json/zipball/a1fb3da904b8364e3db47eed68f76bfb6cd0031a",
1276 | "reference": "a1fb3da904b8364e3db47eed68f76bfb6cd0031a",
1277 | "shasum": ""
1278 | },
1279 | "require": {
1280 | "justinrainbow/json-schema": "^1.6",
1281 | "php": "^5.3.3|^7.0",
1282 | "seld/jsonlint": "^1.0",
1283 | "webmozart/path-util": "^2.3"
1284 | },
1285 | "require-dev": {
1286 | "phpunit/phpunit": "^4.6",
1287 | "sebastian/version": "^1.0.1",
1288 | "symfony/filesystem": "^2.5"
1289 | },
1290 | "type": "library",
1291 | "extra": {
1292 | "branch-alias": {
1293 | "dev-master": "1.2-dev"
1294 | }
1295 | },
1296 | "autoload": {
1297 | "psr-4": {
1298 | "Webmozart\\Json\\": "src/"
1299 | }
1300 | },
1301 | "notification-url": "https://packagist.org/downloads/",
1302 | "license": [
1303 | "MIT"
1304 | ],
1305 | "authors": [
1306 | {
1307 | "name": "Bernhard Schussek",
1308 | "email": "bschussek@gmail.com"
1309 | }
1310 | ],
1311 | "description": "A robust JSON decoder/encoder with support for schema validation.",
1312 | "time": "2016-01-14 12:11:46"
1313 | },
1314 | {
1315 | "name": "webmozart/path-util",
1316 | "version": "2.3.0",
1317 | "source": {
1318 | "type": "git",
1319 | "url": "https://github.com/webmozart/path-util.git",
1320 | "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725"
1321 | },
1322 | "dist": {
1323 | "type": "zip",
1324 | "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
1325 | "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725",
1326 | "shasum": ""
1327 | },
1328 | "require": {
1329 | "php": ">=5.3.3",
1330 | "webmozart/assert": "~1.0"
1331 | },
1332 | "require-dev": {
1333 | "phpunit/phpunit": "^4.6",
1334 | "sebastian/version": "^1.0.1"
1335 | },
1336 | "type": "library",
1337 | "extra": {
1338 | "branch-alias": {
1339 | "dev-master": "2.3-dev"
1340 | }
1341 | },
1342 | "autoload": {
1343 | "psr-4": {
1344 | "Webmozart\\PathUtil\\": "src/"
1345 | }
1346 | },
1347 | "notification-url": "https://packagist.org/downloads/",
1348 | "license": [
1349 | "MIT"
1350 | ],
1351 | "authors": [
1352 | {
1353 | "name": "Bernhard Schussek",
1354 | "email": "bschussek@gmail.com"
1355 | }
1356 | ],
1357 | "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
1358 | "time": "2015-12-17 08:42:14"
1359 | }
1360 | ],
1361 | "packages-dev": [],
1362 | "aliases": [],
1363 | "minimum-stability": "stable",
1364 | "stability-flags": {
1365 | "puli/composer-plugin": 10,
1366 | "puli/repository": 10,
1367 | "puli/discovery": 10,
1368 | "puli/url-generator": 10,
1369 | "puli/twig-extension": 10
1370 | },
1371 | "prefer-stable": false,
1372 | "prefer-lowest": false,
1373 | "platform": [],
1374 | "platform-dev": []
1375 | }
1376 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "puli-demo-application",
3 | "devDependencies": {
4 | "bootstrap-sass": "^3.3.4",
5 | "gulp": "^3.8.11",
6 | "gulp-concat": "^2.5.2",
7 | "gulp-sass": "^1.3.3",
8 | "jquery": "^2.1.3"
9 | },
10 | "private": true
11 | }
12 |
--------------------------------------------------------------------------------
/puli.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.0",
3 | "name": "puli/demo-application",
4 | "path-mappings": {
5 | "/app": "res"
6 | },
7 | "bindings": {
8 | "c96beab7-fe49-4447-93d7-cfabc97cfa52": {
9 | "_class": "Puli\\Discovery\\Binding\\ResourceBinding",
10 | "query": "/app/public{,/**/*}",
11 | "type": "puli/public-resource",
12 | "parameters": {
13 | "path": "/",
14 | "server": "localhost"
15 | }
16 | }
17 | },
18 | "extra": {
19 | "servers": {
20 | "localhost": {
21 | "installer": "symlink",
22 | "document-root": "web"
23 | }
24 | }
25 | },
26 | "packages": {
27 | "justinrainbow/json-schema": {
28 | "install-path": "vendor/justinrainbow/json-schema",
29 | "installer": "composer"
30 | },
31 | "pimple/pimple": {
32 | "install-path": "vendor/pimple/pimple",
33 | "installer": "composer"
34 | },
35 | "psr/log": {
36 | "install-path": "vendor/psr/log",
37 | "installer": "composer"
38 | },
39 | "puli/composer-plugin": {
40 | "install-path": "vendor/puli/composer-plugin",
41 | "installer": "composer"
42 | },
43 | "puli/discovery": {
44 | "install-path": "vendor/puli/discovery",
45 | "installer": "composer"
46 | },
47 | "puli/repository": {
48 | "install-path": "vendor/puli/repository",
49 | "installer": "composer"
50 | },
51 | "puli/twig-extension": {
52 | "install-path": "vendor/puli/twig-extension",
53 | "installer": "composer"
54 | },
55 | "puli/url-generator": {
56 | "install-path": "vendor/puli/url-generator",
57 | "installer": "composer"
58 | },
59 | "ramsey/uuid": {
60 | "install-path": "vendor/ramsey/uuid",
61 | "installer": "composer"
62 | },
63 | "seld/jsonlint": {
64 | "install-path": "vendor/seld/jsonlint",
65 | "installer": "composer"
66 | },
67 | "silex/silex": {
68 | "install-path": "vendor/silex/silex",
69 | "installer": "composer"
70 | },
71 | "symfony/debug": {
72 | "install-path": "vendor/symfony/debug",
73 | "installer": "composer"
74 | },
75 | "symfony/event-dispatcher": {
76 | "install-path": "vendor/symfony/event-dispatcher",
77 | "installer": "composer"
78 | },
79 | "symfony/filesystem": {
80 | "install-path": "vendor/symfony/filesystem",
81 | "installer": "composer"
82 | },
83 | "symfony/http-foundation": {
84 | "install-path": "vendor/symfony/http-foundation",
85 | "installer": "composer"
86 | },
87 | "symfony/http-kernel": {
88 | "install-path": "vendor/symfony/http-kernel",
89 | "installer": "composer"
90 | },
91 | "symfony/process": {
92 | "install-path": "vendor/symfony/process",
93 | "installer": "composer"
94 | },
95 | "symfony/routing": {
96 | "install-path": "vendor/symfony/routing",
97 | "installer": "composer"
98 | },
99 | "twig/twig": {
100 | "install-path": "vendor/twig/twig",
101 | "installer": "composer"
102 | },
103 | "webmozart/assert": {
104 | "install-path": "vendor/webmozart/assert",
105 | "installer": "composer"
106 | },
107 | "webmozart/expression": {
108 | "install-path": "vendor/webmozart/expression",
109 | "installer": "composer"
110 | },
111 | "webmozart/glob": {
112 | "install-path": "vendor/webmozart/glob",
113 | "installer": "composer"
114 | },
115 | "webmozart/json": {
116 | "install-path": "vendor/webmozart/json",
117 | "installer": "composer"
118 | },
119 | "webmozart/path-util": {
120 | "install-path": "vendor/webmozart/path-util",
121 | "installer": "composer"
122 | }
123 | }
124 | }
125 |
--------------------------------------------------------------------------------
/res/js/script.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/puli/demo-application/683610f92d3dcfcdd7c48b6c9e57bfcd234ca162/res/js/script.js
--------------------------------------------------------------------------------
/res/public/images/puli-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/puli/demo-application/683610f92d3dcfcdd7c48b6c9e57bfcd234ca162/res/public/images/puli-logo.png
--------------------------------------------------------------------------------
/res/scss/style.scss:
--------------------------------------------------------------------------------
1 | /* Put your SASS definitions here */
2 |
--------------------------------------------------------------------------------
/res/views/index.html.twig:
--------------------------------------------------------------------------------
1 | {% extends 'layout.html.twig' %}
2 |
3 | {% block content %}
4 |
5 |
6 |
This application demonstrates the use of Puli, 9 | Silex and 10 | Gulp JS in a web application.
11 | {% endblock %} 12 | -------------------------------------------------------------------------------- /res/views/layout.html.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |