Révision 38c269d5
Ajouté par Assos Assos il y a presque 7 ans
drupal7/sites/all/modules/cas/README.txt | ||
---|---|---|
3 | 3 |
|
4 | 4 |
Central Authentication Services (CAS) is a commonly used Single Sign-On |
5 | 5 |
protocol used by many universities and large organizations. For a brief |
6 |
introduction, please see the Jasig website: http://www.jasig.org/cas/about
|
|
6 |
introduction, please see the CAS website: https://www.apereo.org/projects/cas
|
|
7 | 7 |
|
8 | 8 |
The Drupal CAS project has two modules: |
9 | 9 |
|
... | ... | |
33 | 33 |
|
34 | 34 |
* Download phpCAS from https://wiki.jasig.org/display/CASC/phpCAS. You will |
35 | 35 |
need version 1.3.2 or later (1.3.3 for CAS 3.0 support). The most recent |
36 |
release is available at http://downloads.jasig.org/cas-clients/php/current.tgz
|
|
36 |
release is available at https://developer.jasig.org/cas-clients/php/current.tgz
|
|
37 | 37 |
|
38 | 38 |
* There are several locations you can install the phpCAS library. |
39 | 39 |
|
... | ... | |
48 | 48 |
available at http://drupal.org/project/libraries. Then extract phpCAS so |
49 | 49 |
that sites/<site>/libraries/CAS/CAS.php exists. For example: |
50 | 50 |
$ cd sites/all/libraries |
51 |
$ curl http://downloads.jasig.org/cas-clients/php/current.tgz | tar xz
|
|
51 |
$ curl https://developer.jasig.org/cas-clients/php/current.tgz | tar xz
|
|
52 | 52 |
$ mv CAS-* CAS |
53 | 53 |
|
54 | 54 |
* Go to Administer > Modules and enable this module. |
... | ... | |
129 | 129 |
creating and removing CAS usernames. The "Create CAS username" option will |
130 | 130 |
assign a CAS username to each selected account that matches their Drupal name. |
131 | 131 |
The "Remove CAS usernames" option will remove all CAS usernames from the |
132 |
selected accounts. |
|
132 |
selected accounts. (Note: This will not appear if the Admin_Views module is used, |
|
133 |
as it replaces the built-in People administration screen with a View) |
|
133 | 134 |
|
134 | 135 |
API Changes Since 6.x-2.x |
135 | 136 |
========================= |
drupal7/sites/all/modules/cas/README_SERVER.txt | ||
---|---|---|
17 | 17 |
|
18 | 18 |
Configuration |
19 | 19 |
============= |
20 |
There is no configuration for the CAS server. Simply enable the module. |
|
20 |
Configuration can be found at /admin/config/people/cas_server, but the module |
|
21 |
will start working right away without any configuration. |
|
21 | 22 |
|
22 | 23 |
If your Drupal site is https://site.example.com/, other CAS enabled |
23 | 24 |
applications should be configured to use https://site.example.com/cas as the |
24 | 25 |
CAS server. |
25 |
|
|
26 |
Caveats & Limitations |
|
27 |
===================== |
|
28 |
|
|
29 |
Single Sign-Out is not currently supported. |
drupal7/sites/all/modules/cas/cas.admin.inc | ||
---|---|---|
63 | 63 |
'#size' => 30, |
64 | 64 |
// Hostnames can be 255 characters long. |
65 | 65 |
'#maxlength' => 255, |
66 |
'#description' => t('Hostname or IP Address of the CAS server.'), |
|
66 |
'#description' => t('Hostname or IP Address of the CAS server. CAS logins will not work until this hostname is entered.'),
|
|
67 | 67 |
); |
68 | 68 |
|
69 | 69 |
$form['server']['cas_port'] = array( |
... | ... | |
89 | 89 |
'#title' => t('Certificate Authority PEM Certificate'), |
90 | 90 |
'#default_value' => variable_get('cas_cert', ''), |
91 | 91 |
'#maxlength' => 255, |
92 |
'#description' => t('The PEM certificate of the Certificate Authority that issued the certificate of the CAS server. If omitted, the certificate authority will not be verified.'),
|
|
92 |
'#description' => t('The path to the certificate (in PEM format) of the Certificate Authority that issued the SSL certificate of the CAS server. If omitted, the SSL cert of your CAS server will NOT be verified for authenticity. Most operating systems provide a standard CA cert bundle that can be provided here that would work for certificates signed by a well-known authority.'),
|
|
93 | 93 |
); |
94 | 94 |
|
95 | 95 |
$form['login'] = array( |
... | ... | |
296 | 296 |
'#description' => t('The URL users should use for changing registering. Leave blank to use the standard Drupal page.'), |
297 | 297 |
); |
298 | 298 |
|
299 |
|
|
300 | 299 |
$form['advanced'] = array( |
301 | 300 |
'#type' => 'fieldset', |
302 | 301 |
'#title' => t('Miscellaneous & Experimental Settings'), |
... | ... | |
351 | 350 |
'#description' => "<p>" . t("A file system path and filename where the CAS debug log will be written. May be either a full path or a path relative to the Drupal installation root. The directory and file must be writable by Drupal.") . "</p> <p>" . t("Leave blank to disable logging.") . "</p> <p><strong>" . t("Debugging should not be enabled on production systems.") . "</strong></p>", |
352 | 351 |
); |
353 | 352 |
|
353 |
$form['advanced']['cas_single_logout_session_lifetime'] = array( |
|
354 |
'#type' => 'textfield', |
|
355 |
'#title' => t('Max lifetime of session mapping data'), |
|
356 |
'#description' => t('This module stores a mapping of Drupal session IDs ' . |
|
357 |
'to CAS server session IDs to support single logout. Normally this data is ' . |
|
358 |
'cleared automatically when a user is logged out, but not always. ' . |
|
359 |
'To make sure this storage does not grow out of control, session mapping ' . |
|
360 |
'data older than the specified amount of days is cleared during cron. ' . |
|
361 |
'This should be a length of time slightly longer than the session ' . |
|
362 |
'lifetime of your Drupal site or CAS server.'), |
|
363 |
'#default_value' => variable_get('cas_single_logout_session_lifetime', 25), |
|
364 |
'#field_suffix' => t('days'), |
|
365 |
'#size' => 4, |
|
366 |
'#required' => TRUE, |
|
367 |
'#element_validate' => array('element_validate_number'), |
|
368 |
); |
|
369 |
|
|
354 | 370 |
return system_settings_form($form); |
355 | 371 |
} |
356 | 372 |
|
drupal7/sites/all/modules/cas/cas.api.php | ||
---|---|---|
13 | 13 |
* |
14 | 14 |
* Modules implementing this hook may wish to alter 'name' if the CAS server |
15 | 15 |
* returns user names which contain excess information or are not directly |
16 |
* machine readable. This field is not the Drupal name of the user. Instead, |
|
17 |
* this is used to load a Drupal user via the mapping in the {cas_user} table. |
|
16 |
* machine readable. This name is used to lookup existing local Drupal |
|
17 |
* CAS accounts via the {cas_user} mapping table. If the user does not exist |
|
18 |
* locally, and automatic registration is enabled, this name will be also |
|
19 |
* be as the local Drupal user account name that's created. |
|
18 | 20 |
* |
19 | 21 |
* The 'login' parameter controls whether the user is able to login. By |
20 | 22 |
* default this will be set to TRUE, but modules may set this flag to FALSE |
drupal7/sites/all/modules/cas/cas.batch.inc | ||
---|---|---|
24 | 24 |
|
25 | 25 |
if ($existing_account == TRUE){ |
26 | 26 |
$uri = entity_uri('user', $existing_account); |
27 |
$context['results']['messages']['already_exist'][] = t('<a href="@url">%name</a>', array('@url' => url($uri['path'], $uri['options']), '%name' => $existing_account->name));;
|
|
27 |
$context['results']['messages']['already_exist'][] = t('<a href="@url">%name</a>', array('@url' => url($uri['path'], $uri['options']), '%name' => format_username($existing_account)));;
|
|
28 | 28 |
return; |
29 | 29 |
} |
30 | 30 |
|
... | ... | |
36 | 36 |
} |
37 | 37 |
else { |
38 | 38 |
$uri = entity_uri('user', $account); |
39 |
$context['results']['messages']['newly_created'][] = t('<a href="@url">%name</a>', array('@url' => url($uri['path'], $uri['options']), '%name' => $account->name));
|
|
39 |
$context['results']['messages']['newly_created'][] = t('<a href="@url">%name</a>', array('@url' => url($uri['path'], $uri['options']), '%name' => format_username($account)));
|
|
40 | 40 |
return $account; |
41 | 41 |
} |
42 | 42 |
} |
drupal7/sites/all/modules/cas/cas.info | ||
---|---|---|
7 | 7 |
files[] = cas.test |
8 | 8 |
files[] = includes/views/handlers/cas_handler_field_cas_name.inc |
9 | 9 |
|
10 |
; Information added by Drupal.org packaging script on 2016-02-09
|
|
11 |
version = "7.x-1.5"
|
|
10 |
; Information added by Drupal.org packaging script on 2017-12-02
|
|
11 |
version = "7.x-1.6"
|
|
12 | 12 |
core = "7.x" |
13 | 13 |
project = "cas" |
14 |
datestamp = "1455051844"
|
|
14 |
datestamp = "1512242294"
|
|
15 | 15 |
|
drupal7/sites/all/modules/cas/cas.install | ||
---|---|---|
27 | 27 |
'unsigned' => TRUE, |
28 | 28 |
'not null' => TRUE, |
29 | 29 |
), |
30 |
'created' => array( |
|
31 |
'type' => 'int', |
|
32 |
'not null' => TRUE, |
|
33 |
'default' => 0, |
|
34 |
'description' => 'Timestamp when this record was created.', |
|
35 |
), |
|
30 | 36 |
), |
31 | 37 |
'primary key' => array('cas_session_id'), |
32 | 38 |
); |
... | ... | |
107 | 113 |
variable_del('cas_uri'); |
108 | 114 |
variable_del('cas_user_register'); |
109 | 115 |
variable_del('cas_version'); |
116 |
variable_del('cas_single_logout_session_lifetime'); |
|
110 | 117 |
|
111 | 118 |
// And old (un-used) variables. |
112 | 119 |
variable_del('cas_cert_verify'); |
... | ... | |
144 | 151 |
$requirements['phpcas']['severity'] = REQUIREMENT_ERROR; |
145 | 152 |
$requirements['phpcas']['description'] = $t('phpCAS could not be loaded. Please <a href="@phpcas_url">download phpCAS</a> and <a href="@cas_url">configure its location</a>.', array('@phpcas_url' => $phpcas_url, '@cas_url' => url('admin/config/people/cas'))); |
146 | 153 |
} |
154 |
|
|
155 |
$cert = variable_get('cas_cert'); |
|
156 |
if (empty($cert)) { |
|
157 |
$requirements['cas_cert'] = array( |
|
158 |
'title' => $t('CAS SSL certificate bundle'), |
|
159 |
'severity' => REQUIREMENT_ERROR, |
|
160 |
'value' => $t('Not set'), |
|
161 |
'description' => $t('The CAS authentication process is not completely secure. Please <a href="@settings_url">visit the CAS settings page</a> and provide the path to the certificate authority bundle.'), |
|
162 |
); |
|
163 |
} |
|
147 | 164 |
} |
148 | 165 |
return $requirements; |
149 | 166 |
} |
150 | 167 |
|
168 |
/** |
|
169 |
* Implements hook_enable(). |
|
170 |
*/ |
|
171 |
function cas_enable() { |
|
172 |
drupal_set_message(t('CAS has been enabled. Please <a href="@url">configure</a> it.', array('@url' => url('admin/config/people/cas'))), 'warning'); |
|
173 |
} |
|
174 |
|
|
151 | 175 |
/** |
152 | 176 |
* Creates CAS login data table for Single-Sign-Out. |
153 | 177 |
*/ |
... | ... | |
381 | 405 |
db_add_index('cas_user', 'cas_user', array('uid')); |
382 | 406 |
} |
383 | 407 |
} |
408 |
|
|
409 |
/** |
|
410 |
* Add created column to cas_login_data table. |
|
411 |
*/ |
|
412 |
function cas_update_7103() { |
|
413 |
db_add_field('cas_login_data', 'created', array( |
|
414 |
'type' => 'int', |
|
415 |
'not null' => TRUE, |
|
416 |
'default' => 0, |
|
417 |
'description' => 'Timestamp when this record was created.', |
|
418 |
)); |
|
419 |
$now = time(); |
|
420 |
// Assume that all data was inserted today. This is obviously not true, but |
|
421 |
// it will prevent us from deleting the existing data for some time, since |
|
422 |
// the cron task will only delete data older than X days. |
|
423 |
db_update('cas_login_data') |
|
424 |
->fields(array('created' => $now)) |
|
425 |
->execute(); |
|
426 |
} |
|
427 |
|
|
428 |
/** |
|
429 |
* Hash all existing CAS session IDs in cas_login_data. |
|
430 |
*/ |
|
431 |
function cas_update_7104() { |
|
432 |
$result = db_query('SELECT cas_session_id FROM {cas_login_data}'); |
|
433 |
foreach ($result as $data) { |
|
434 |
db_update('cas_login_data') |
|
435 |
->fields(array('cas_session_id' => hash('sha256', $data->cas_session_id))) |
|
436 |
->condition('cas_session_id', $data->cas_session_id) |
|
437 |
->execute(); |
|
438 |
} |
|
439 |
} |
drupal7/sites/all/modules/cas/cas.module | ||
---|---|---|
79 | 79 |
drupal_session_start(); |
80 | 80 |
_cas_single_sign_out_save_ticket(); // We use this later for CAS 3 logoutRequests |
81 | 81 |
|
82 |
// Initialize phpCAS. |
|
83 |
cas_phpcas_init(); |
|
82 |
// Initialize phpCAS if possible, otherwise just back out. |
|
83 |
if (cas_phpcas_init() === FALSE) { |
|
84 |
return; |
|
85 |
} |
|
84 | 86 |
|
85 | 87 |
// We're going to try phpCAS auth test |
86 | 88 |
if ($force_authentication) { |
87 |
phpCAS::forceAuthentication(); |
|
89 |
try { |
|
90 |
phpCAS::forceAuthentication(); |
|
91 |
} |
|
92 |
catch (CAS_AuthenticationException $e) { |
|
93 |
drupal_set_message(t('Error authenticating with CAS. Please try again or contact your website administrator if the problem persists.'), 'error'); |
|
94 |
watchdog_exception('cas', $e); |
|
95 |
// We have to redirect the user somewhere else because the CAS exception |
|
96 |
// will have written error details directly to stdout, and we don't want |
|
97 |
// to show anything like that to the user. |
|
98 |
// This bring users to the homepage or to the page set in destination |
|
99 |
// param. |
|
100 |
drupal_goto(''); |
|
101 |
} |
|
88 | 102 |
} |
89 | 103 |
else { |
90 | 104 |
$logged_in = phpCAS::checkAuthentication(); |
... | ... | |
178 | 192 |
$user = user_save($account, $edit); |
179 | 193 |
user_login_finalize($edit); |
180 | 194 |
|
181 |
drupal_set_message(t(variable_get('cas_login_message', 'Logged in via CAS as %cas_username.'), array('%cas_username' => $user->name)));
|
|
195 |
drupal_set_message(t(variable_get('cas_login_message', 'Logged in via CAS as %cas_username.'), array('%cas_username' => format_username($user))));
|
|
182 | 196 |
if (!empty($edit['persistent_login'])) { |
183 | 197 |
drupal_set_message(t('You will remain logged in on this computer even after you close your browser.')); |
184 | 198 |
} |
... | ... | |
252 | 266 |
|
253 | 267 |
// Variable set |
254 | 268 |
$server_version = (string)variable_get('cas_version', '3.0'); |
255 |
$server_cas_server = (string)variable_get('cas_server', 'sso-cas.univ-rennes1.fr');
|
|
269 |
$server_cas_server = (string)variable_get('cas_server', ''); |
|
256 | 270 |
$server_port = (int)variable_get('cas_port', '443'); |
257 | 271 |
$server_uri = (string)variable_get('cas_uri', ''); |
258 | 272 |
$cas_cert = (string)variable_get('cas_cert', ''); |
259 | 273 |
$debug_file = (string)variable_get('cas_debugfile', ''); |
274 |
|
|
275 |
// Back out if there's no configured CAS server hostname. This is the |
|
276 |
// minimum required configuration to initialize phpCAS. |
|
277 |
if (empty($server_cas_server)) { |
|
278 |
watchdog('cas', 'Unable to initialize phpCAS because no CAS server hostname has been configured.', array(), WATCHDOG_ERROR); |
|
279 |
return FALSE; |
|
280 |
} |
|
281 |
|
|
260 | 282 |
if ($debug_file != '') { |
261 | 283 |
phpCAS::setDebug($debug_file); |
262 | 284 |
} |
... | ... | |
389 | 411 |
return $items; |
390 | 412 |
} |
391 | 413 |
|
414 |
/** |
|
415 |
* Implements hook_cron(). |
|
416 |
*/ |
|
417 |
function cas_cron() { |
|
418 |
// Clear old single logout session mapping data. |
|
419 |
$max_days = (int) variable_get('cas_single_logout_session_lifetime', 25); |
|
420 |
$seconds_in_day = 86400; |
|
421 |
$seconds = $max_days * $seconds_in_day; |
|
422 |
if ($seconds > 0) { |
|
423 |
db_delete('cas_login_data') |
|
424 |
->condition('created', time() - $seconds, '<=') |
|
425 |
->execute(); |
|
426 |
} |
|
427 |
} |
|
428 |
|
|
392 | 429 |
function cas_user_is_logged_in() { |
393 | 430 |
return user_is_logged_in() || !empty($_SESSION['phpCAS']['user']); |
394 | 431 |
} |
... | ... | |
689 | 726 |
|
690 | 727 |
// Mimic user_logout(). |
691 | 728 |
if ($invoke_hook) { |
692 |
watchdog('user', 'Session closed for %name.', array('%name' => $user->name));
|
|
729 |
watchdog('user', 'Session closed for %name.', array('%name' => format_username($user)));
|
|
693 | 730 |
module_invoke_all('user_logout', $user); |
694 | 731 |
} |
695 | 732 |
|
... | ... | |
917 | 954 |
'#theme' => 'item_list', |
918 | 955 |
'#items' => $items, |
919 | 956 |
'#attributes' => array('class' => array('cas-links')), |
920 |
'#weight' => 1, |
|
957 |
'#weight' => 101,
|
|
921 | 958 |
); |
922 | 959 |
|
923 | 960 |
$form['links']['#weight'] = 2; |
... | ... | |
1082 | 1119 |
// Log them out now. |
1083 | 1120 |
// first lets find out who we want to log off |
1084 | 1121 |
|
1085 |
|
|
1086 |
$record = db_query_range("SELECT cld.uid, u.name FROM {users} u JOIN {cas_login_data} cld ON u.uid = cld.uid WHERE cld.cas_session_id = :ticket", 0, 1, array(':ticket' => $cas_session_index))->fetchObject();
|
|
1122 |
$hashed_ticket = hash('sha256', $cas_session_index); |
|
1123 |
$record = db_query_range("SELECT cld.uid, u.name FROM {users} u JOIN {cas_login_data} cld ON u.uid = cld.uid WHERE cld.cas_session_id = :ticket", 0, 1, array(':ticket' => $hashed_ticket))->fetchObject();
|
|
1087 | 1124 |
if ($record) { |
1088 | 1125 |
watchdog('user', 'Session closed for %name by CAS logout request.', array('%name' => $record->name)); |
1089 | 1126 |
//remove all entry for user id in cas_login_data |
... | ... | |
1134 | 1171 |
// Ok lets save the CAS service ticket to DB so |
1135 | 1172 |
// we can handle CAS logoutRequests when they come |
1136 | 1173 |
if ($user->uid && $user->uid > 0 && !empty($_SESSION['cas_ticket'])) { |
1137 |
db_insert('cas_login_data') |
|
1174 |
$hashed_ticket = hash('sha256', $_SESSION['cas_ticket']); |
|
1175 |
db_merge('cas_login_data') |
|
1176 |
->key(array('cas_session_id' => $hashed_ticket)) |
|
1138 | 1177 |
->fields(array( |
1139 |
'cas_session_id' => $_SESSION['cas_ticket'],
|
|
1178 |
'cas_session_id' => $hashed_ticket,
|
|
1140 | 1179 |
'uid' => $user->uid, |
1141 |
)) |
|
1180 |
'created' => time(), |
|
1181 |
)) |
|
1142 | 1182 |
->execute(); |
1143 | 1183 |
unset($_SESSION['cas_ticket']); |
1144 | 1184 |
} |
... | ... | |
1231 | 1271 |
|
1232 | 1272 |
// Create the user account. |
1233 | 1273 |
$account = user_save(drupal_anonymous_user(), $edit); |
1234 |
watchdog("user", 'new user: %n (CAS)', array('%n' => $account->name), WATCHDOG_NOTICE, l(t("edit user"), "admin/user/edit/$account->uid"));
|
|
1274 |
watchdog("user", 'new user: %n (CAS)', array('%n' => format_username($account)), WATCHDOG_NOTICE, l(t("edit user"), "user/edit/$account->uid"));
|
|
1235 | 1275 |
|
1236 | 1276 |
if (!empty($options['invoke_cas_user_presave'])) { |
1237 | 1277 |
// Populate $edit with some basic properties. |
drupal7/sites/all/modules/cas/cas.test | ||
---|---|---|
31 | 31 |
// in phpCAS. |
32 | 32 |
variable_set('clean_url', TRUE); |
33 | 33 |
|
34 |
// Set CAS server url (will be altered). |
|
35 |
variable_set('cas_server', 'example.com'); |
|
36 |
|
|
34 | 37 |
// Create admin user. |
35 | 38 |
$this->admin_user = $this->drupalCreateUser(array('administer users', 'administer cas')); |
36 | 39 |
|
... | ... | |
51 | 54 |
// Find the most URL of the most recent phpCAS version. |
52 | 55 |
$directory = 'CAS-' . $version; |
53 | 56 |
$filename = 'CAS-' . $version . '.tgz'; |
54 |
$url = 'http://downloads.jasig.org/cas-clients/php/' . $version . '/' . $filename;
|
|
57 |
$url = 'https://developer.jasig.org/cas-clients/php/' . $version . '/' . $filename;
|
|
55 | 58 |
|
56 | 59 |
// Avoid downloading the file dozens of times |
57 | 60 |
$simpletest_cache = $this->originalFileDirectory . '/simpletest/cas'; |
drupal7/sites/all/modules/cas/cas_server.admin.inc | ||
---|---|---|
43 | 43 |
'#default_value' => variable_get('cas_server_whitelist_failure', t('You do not have permission to login to CAS from this service.')), |
44 | 44 |
); |
45 | 45 |
|
46 |
$form['single_logout'] = array( |
|
47 |
'#type' => 'fieldset', |
|
48 |
'#title' => t('Single Logout Settings'), |
|
49 |
'#description' => t('When a user logs out, this module will send a logout request (via HTTP POST request) to each service that the user authenticated with. These settings are related to that functionality.'), |
|
50 |
); |
|
51 |
|
|
52 |
$form['single_logout']['cas_server_slo_group_timeout'] = array( |
|
53 |
'#type' => 'textfield', |
|
54 |
'#title' => t('Request timeout (all requests)'), |
|
55 |
'#description' => t('If this amount of time (in seconds) has elapsed when sending all logout requests, abort any remaining requests.'), |
|
56 |
'#default_value' => variable_get('cas_server_slo_group_timeout', 15), |
|
57 |
); |
|
58 |
$form['single_logout']['cas_server_slo_individual_timeout'] = array( |
|
59 |
'#type' => 'textfield', |
|
60 |
'#title' => t('Request timeout (individual requests)'), |
|
61 |
'#description' => t('The number of seconds to allow an individual logout request to take before aborting it.'), |
|
62 |
'#default_value' => variable_get('cas_server_slo_group_timeout', 5), |
|
63 |
); |
|
64 |
|
|
46 | 65 |
return system_settings_form($form); |
47 | 66 |
} |
drupal7/sites/all/modules/cas/cas_server.info | ||
---|---|---|
4 | 4 |
description = "Provides protocol compliant CAS Server" |
5 | 5 |
configure = admin/config/people/cas_server |
6 | 6 |
|
7 |
; Information added by Drupal.org packaging script on 2016-02-09
|
|
8 |
version = "7.x-1.5"
|
|
7 |
; Information added by Drupal.org packaging script on 2017-12-02
|
|
8 |
version = "7.x-1.6"
|
|
9 | 9 |
core = "7.x" |
10 | 10 |
project = "cas" |
11 |
datestamp = "1455051844"
|
|
11 |
datestamp = "1512242294"
|
|
12 | 12 |
|
drupal7/sites/all/modules/cas/cas_server.install | ||
---|---|---|
16 | 16 |
'fields' => array( |
17 | 17 |
'service' => array( |
18 | 18 |
'type' => 'varchar', |
19 |
'length' => 255,
|
|
19 |
'length' => 1024,
|
|
20 | 20 |
'not null' => TRUE, |
21 | 21 |
'default' => '', |
22 | 22 |
), |
... | ... | |
53 | 53 |
function cas_server_uninstall() { |
54 | 54 |
variable_del('cas_server_service_whitelist'); |
55 | 55 |
variable_del('cas_server_whitelist_failure'); |
56 |
variable_get('cas_server_slo_individual_timeout'); |
|
57 |
variable_get('cas_server_slo_group_timeout'); |
|
56 | 58 |
} |
57 | 59 |
|
58 | 60 |
/** |
... | ... | |
104 | 106 |
db_add_field('cas_server_tickets', 'valid', array('type' => 'int', 'not null' => TRUE, 'default' => 1, )); |
105 | 107 |
} |
106 | 108 |
} |
109 |
|
|
110 |
/** |
|
111 |
* Increases 'service' field size to 1024. |
|
112 |
*/ |
|
113 |
function cas_server_update_7102() { |
|
114 |
db_change_field('cas_server_tickets', 'service', 'service', array( |
|
115 |
'type' => 'varchar', |
|
116 |
'length' => 1024, |
|
117 |
'not null' => TRUE, |
|
118 |
'default' => '', |
|
119 |
)); |
|
120 |
} |
drupal7/sites/all/modules/cas/cas_server.module | ||
---|---|---|
314 | 314 |
*/ |
315 | 315 |
function cas_server_logout() { |
316 | 316 |
// Check service against whitelist |
317 |
if (!_cas_server_check_service_whitelist($_GET['service'])) { |
|
317 |
if (isset($_GET['service']) && !_cas_server_check_service_whitelist($_GET['service'])) {
|
|
318 | 318 |
return variable_get('cas_server_whitelist_failure', t('You do not have permission to login to CAS from this service.')); |
319 | 319 |
} |
320 | 320 |
|
... | ... | |
325 | 325 |
// Skip triggering user logout related processes if there is not a valid user in session. |
326 | 326 |
if(user_is_logged_in()) { |
327 | 327 |
// Log the successful logout process. |
328 |
watchdog('user', 'Session closed for %name.', array('%name' => $user->name));
|
|
328 |
watchdog('user', 'Session closed for %name.', array('%name' => format_username($user)));
|
|
329 | 329 |
// Tell modules about the logout. |
330 | 330 |
module_invoke_all('user_logout', $user); |
331 | 331 |
} |
... | ... | |
350 | 350 |
$result = db_query("SELECT service, ticket, valid FROM {cas_server_tickets} WHERE uid= :uid", array(':uid' => $account->uid)); |
351 | 351 |
if ($result !== FALSE) { |
352 | 352 |
$expired_tickets = array(); |
353 |
// Set a time limit for all logout requests. This is useful if a user has |
|
354 |
// accumulated a lot of login sessions for services that may be |
|
355 |
// unresponsive. |
|
356 |
$timelimit = time() + (int) variable_get('cas_server_slo_group_timeout', 15); |
|
353 | 357 |
foreach ($result as $client) { |
358 |
if (time() > $timelimit) { |
|
359 |
break; |
|
360 |
} |
|
354 | 361 |
$expired_tickets[] = $client->ticket; |
355 | 362 |
if (!$client->valid) { |
356 | 363 |
$id = 'LR-' . user_password(); |
... | ... | |
363 | 370 |
'headers' => array('Content-Type' => 'application/x-www-form-urlencoded'), |
364 | 371 |
'method' => 'POST', |
365 | 372 |
'data' => 'logoutRequest=' . urlencode($logout_request), |
373 |
'timeout' => (int) variable_get('cas_server_slo_individual_timeout', 5), |
|
366 | 374 |
) |
367 | 375 |
); |
368 | 376 |
if (@$response->error) { |
drupal7/sites/all/modules/cas/tests/cas_test.info | ||
---|---|---|
8 | 8 |
; code duplication we use several themes defined by that module. |
9 | 9 |
dependencies[] = cas_server |
10 | 10 |
|
11 |
; Information added by Drupal.org packaging script on 2016-02-09
|
|
12 |
version = "7.x-1.5"
|
|
11 |
; Information added by Drupal.org packaging script on 2017-12-02
|
|
12 |
version = "7.x-1.6"
|
|
13 | 13 |
core = "7.x" |
14 | 14 |
project = "cas" |
15 |
datestamp = "1455051844"
|
|
15 |
datestamp = "1512242294"
|
|
16 | 16 |
|
drupal7/sites/all/themes/bootstrap/bootstrap.info | ||
---|---|---|
208 | 208 |
multipliers[screen-lg-min][] = 1.5x |
209 | 209 |
multipliers[screen-lg-min][] = 2x |
210 | 210 |
|
211 |
; Information added by Drupal.org packaging script on 2017-09-25
|
|
212 |
version = "7.x-3.15"
|
|
211 |
; Information added by Drupal.org packaging script on 2017-11-30
|
|
212 |
version = "7.x-3.16"
|
|
213 | 213 |
core = "7.x" |
214 | 214 |
project = "bootstrap" |
215 |
datestamp = "1506357848"
|
|
215 |
datestamp = "1512079478"
|
|
216 | 216 |
|
drupal7/sites/all/themes/bootstrap/js/misc/ajax.js | ||
---|---|---|
52 | 52 |
} |
53 | 53 |
this.progress.element = $(progressBar.element).addClass('ajax-progress ajax-progress-bar'); |
54 | 54 |
this.progress.object = progressBar; |
55 |
$element.closest('.file-widget,.form-item').after(this.progress.element); |
|
55 |
if (!$element.closest('.file-widget,.form-item').length) { |
|
56 |
$element.before(this.progress.element); |
|
57 |
} |
|
58 |
else { |
|
59 |
$element.closest('.file-widget,.form-item').after(this.progress.element); |
|
60 |
} |
|
56 | 61 |
} |
57 | 62 |
else if (this.progress.type == 'throbber') { |
58 | 63 |
this.progress.element = $('<div class="ajax-progress ajax-progress-throbber"><i class="glyphicon glyphicon-refresh glyphicon-spin"></i></div>'); |
drupal7/sites/all/themes/bootstrap/package.json | ||
---|---|---|
3 | 3 |
"version": "7.3.0-dev", |
4 | 4 |
"private": true, |
5 | 5 |
"devDependencies": { |
6 |
"bower": "~1.3.0",
|
|
7 |
"glob": "^5.0.14",
|
|
8 |
"grunt": "^0.4.5",
|
|
9 |
"grunt-contrib-clean": "^0.6.0",
|
|
6 |
"bower": "~1.8.2",
|
|
7 |
"glob": "^7.1.2",
|
|
8 |
"grunt": "^1.0.1",
|
|
9 |
"grunt-contrib-clean": "^1.1.0",
|
|
10 | 10 |
"grunt-contrib-csslint": "^2.0.0", |
11 |
"grunt-contrib-watch": "^0.6.1",
|
|
12 |
"grunt-githooks": "^0.3.1",
|
|
13 |
"inquirer": "^0.9.0",
|
|
11 |
"grunt-contrib-watch": "^1.0.0",
|
|
12 |
"grunt-githooks": "^0.6.0",
|
|
13 |
"inquirer": "^3.3.0",
|
|
14 | 14 |
"less": "^2.5.1", |
15 | 15 |
"less-plugin-autoprefix": "^1.4.2", |
16 | 16 |
"less-plugin-clean-css": "^1.5.1", |
17 |
"load-grunt-config": "^0.17.2",
|
|
18 |
"queue": "^3.1.0",
|
|
17 |
"load-grunt-config": "^0.19.2",
|
|
18 |
"queue": "^4.4.1",
|
|
19 | 19 |
"request": "^2.60.0", |
20 | 20 |
"sync-exec": "^0.6.1", |
21 | 21 |
"time-grunt": "^1.2.1" |
... | ... | |
43 | 43 |
".githooks.js.hbs", |
44 | 44 |
"grunt/**/*" |
45 | 45 |
], |
46 |
"commands": "npm install",
|
|
46 |
"commands": "yarn",
|
|
47 | 47 |
"matchAll": false |
48 | 48 |
} |
49 | 49 |
], |
... | ... | |
55 | 55 |
".githooks.js.hbs", |
56 | 56 |
"grunt/**/*" |
57 | 57 |
], |
58 |
"commands": "npm install",
|
|
58 |
"commands": "yarn",
|
|
59 | 59 |
"matchAll": false |
60 | 60 |
} |
61 | 61 |
], |
drupal7/sites/all/themes/bootstrap/templates/system/page.vars.php | ||
---|---|---|
32 | 32 |
$variables['container_class'] = 'container'; |
33 | 33 |
} |
34 | 34 |
|
35 |
$i18n = module_exists('i18n_menu'); |
|
36 |
|
|
35 | 37 |
// Primary nav. |
36 | 38 |
$variables['primary_nav'] = FALSE; |
37 | 39 |
if ($variables['main_menu']) { |
40 |
// Load the tree |
|
41 |
$tree = menu_tree_all_data(variable_get('menu_main_links_source', 'main-menu')); |
|
42 |
|
|
43 |
// Localize the tree. |
|
44 |
if ($i18n) { |
|
45 |
$tree = i18n_menu_localize_tree($tree); |
|
46 |
} |
|
47 |
|
|
38 | 48 |
// Build links. |
39 |
$variables['primary_nav'] = menu_tree(variable_get('menu_main_links_source', 'main-menu')); |
|
49 |
$variables['primary_nav'] = menu_tree_output($tree); |
|
50 |
|
|
40 | 51 |
// Provide default theme wrapper function. |
41 | 52 |
$variables['primary_nav']['#theme_wrappers'] = array('menu_tree__primary'); |
42 | 53 |
} |
... | ... | |
44 | 55 |
// Secondary nav. |
45 | 56 |
$variables['secondary_nav'] = FALSE; |
46 | 57 |
if ($variables['secondary_menu']) { |
58 |
// Load the tree |
|
59 |
$tree = menu_tree_all_data(variable_get('menu_secondary_links_source', 'user-menu')); |
|
60 |
|
|
61 |
// Localize the tree. |
|
62 |
if ($i18n) { |
|
63 |
$tree = i18n_menu_localize_tree($tree); |
|
64 |
} |
|
65 |
|
|
47 | 66 |
// Build links. |
48 |
$variables['secondary_nav'] = menu_tree(variable_get('menu_secondary_links_source', 'user-menu')); |
|
67 |
$variables['secondary_nav'] = menu_tree_output($tree); |
|
68 |
|
|
49 | 69 |
// Provide default theme wrapper function. |
50 | 70 |
$variables['secondary_nav']['#theme_wrappers'] = array('menu_tree__secondary'); |
51 | 71 |
} |
drupal7/sites/all/themes/bootstrap/templates/system/status-messages.func.php | ||
---|---|---|
56 | 56 |
|
57 | 57 |
foreach ($message_list as $type => $messages) { |
58 | 58 |
$class = (isset($status_class[$type])) ? ' alert-' . $status_class[$type] : ''; |
59 |
$output .= "<div class=\"alert alert-block$class messages $type\">\n"; |
|
59 |
$output .= "<div class=\"alert alert-block alert-dismissible$class messages $type\">\n";
|
|
60 | 60 |
$output .= " <a class=\"close\" data-dismiss=\"alert\" href=\"#\">×</a>\n"; |
61 | 61 |
|
62 | 62 |
if (!empty($status_heading[$type])) { |
drupal7/sites/all/themes/bootstrap/yarn.lock | ||
---|---|---|
1 |
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. |
|
2 |
# yarn lockfile v1 |
|
3 |
|
|
4 |
|
|
5 |
abbrev@1: |
|
6 |
version "1.1.1" |
|
7 |
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" |
|
8 |
|
|
9 |
ajv@^5.1.0: |
|
10 |
version "5.2.3" |
|
11 |
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.3.tgz#c06f598778c44c6b161abafe3466b81ad1814ed2" |
|
12 |
dependencies: |
|
13 |
co "^4.6.0" |
|
14 |
fast-deep-equal "^1.0.0" |
|
15 |
json-schema-traverse "^0.3.0" |
|
16 |
json-stable-stringify "^1.0.1" |
|
17 |
|
|
18 |
amdefine@>=0.0.4: |
|
19 |
version "1.0.1" |
|
20 |
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" |
|
21 |
|
|
22 |
ansi-escapes@^3.0.0: |
|
23 |
version "3.0.0" |
|
24 |
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" |
|
25 |
|
|
26 |
ansi-regex@^2.0.0: |
|
27 |
version "2.1.1" |
|
28 |
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" |
|
29 |
|
|
30 |
ansi-regex@^3.0.0: |
|
31 |
version "3.0.0" |
|
32 |
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" |
|
33 |
|
|
34 |
ansi-styles@^2.2.1: |
|
35 |
version "2.2.1" |
|
36 |
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" |
|
37 |
|
|
38 |
ansi-styles@^3.1.0: |
|
39 |
version "3.2.0" |
|
40 |
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" |
|
41 |
dependencies: |
|
42 |
color-convert "^1.9.0" |
|
43 |
|
|
44 |
argparse@^1.0.2: |
|
45 |
version "1.0.9" |
|
46 |
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" |
|
47 |
dependencies: |
|
48 |
sprintf-js "~1.0.2" |
|
49 |
|
|
50 |
array-differ@^1.0.0: |
|
51 |
version "1.0.0" |
|
52 |
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" |
|
53 |
|
|
54 |
array-find-index@^1.0.1: |
|
55 |
version "1.0.2" |
|
56 |
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" |
|
57 |
|
|
58 |
array-union@^1.0.1: |
|
59 |
version "1.0.2" |
|
60 |
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" |
|
61 |
dependencies: |
|
62 |
array-uniq "^1.0.1" |
|
63 |
|
|
64 |
array-uniq@^1.0.1: |
|
65 |
version "1.0.3" |
|
66 |
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" |
|
67 |
|
|
68 |
arrify@^1.0.0: |
|
69 |
version "1.0.1" |
|
70 |
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" |
|
71 |
|
|
72 |
asap@~2.0.3: |
|
73 |
version "2.0.6" |
|
74 |
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" |
|
75 |
|
|
76 |
asn1@~0.2.3: |
|
77 |
version "0.2.3" |
|
78 |
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" |
|
79 |
|
|
80 |
assert-plus@1.0.0, assert-plus@^1.0.0: |
|
81 |
version "1.0.0" |
|
82 |
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" |
|
83 |
|
|
84 |
async@^1.5.0, async@^1.5.2, async@~1.5.2: |
|
85 |
version "1.5.2" |
|
86 |
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" |
|
87 |
|
|
88 |
async@~0.2.6: |
|
89 |
version "0.2.10" |
|
90 |
resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" |
|
91 |
|
|
92 |
asynckit@^0.4.0: |
|
93 |
version "0.4.0" |
|
94 |
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" |
|
95 |
|
|
96 |
autoprefixer@^6.0.0: |
|
97 |
version "6.7.7" |
|
98 |
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" |
|
99 |
dependencies: |
|
100 |
browserslist "^1.7.6" |
|
101 |
caniuse-db "^1.0.30000634" |
|
102 |
normalize-range "^0.1.2" |
|
103 |
num2fraction "^1.2.2" |
|
104 |
postcss "^5.2.16" |
|
105 |
postcss-value-parser "^3.2.3" |
|
106 |
|
|
107 |
aws-sign2@~0.7.0: |
|
108 |
version "0.7.0" |
|
109 |
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" |
|
110 |
|
|
111 |
aws4@^1.6.0: |
|
112 |
version "1.6.0" |
|
113 |
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" |
|
114 |
|
|
115 |
balanced-match@^1.0.0: |
|
116 |
version "1.0.0" |
|
117 |
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" |
|
118 |
|
|
119 |
bcrypt-pbkdf@^1.0.0: |
|
120 |
version "1.0.1" |
|
121 |
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" |
|
122 |
dependencies: |
|
123 |
tweetnacl "^0.14.3" |
|
124 |
|
|
125 |
body-parser@~1.14.0: |
|
126 |
version "1.14.2" |
|
127 |
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.14.2.tgz#1015cb1fe2c443858259581db53332f8d0cf50f9" |
|
128 |
dependencies: |
|
129 |
bytes "2.2.0" |
|
130 |
content-type "~1.0.1" |
|
131 |
debug "~2.2.0" |
|
132 |
depd "~1.1.0" |
|
133 |
http-errors "~1.3.1" |
|
134 |
iconv-lite "0.4.13" |
|
135 |
on-finished "~2.3.0" |
|
136 |
qs "5.2.0" |
|
137 |
raw-body "~2.1.5" |
|
138 |
type-is "~1.6.10" |
|
139 |
|
|
140 |
boom@4.x.x: |
|
141 |
version "4.3.1" |
|
142 |
resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" |
|
143 |
dependencies: |
|
144 |
hoek "4.x.x" |
|
145 |
|
|
146 |
boom@5.x.x: |
|
147 |
version "5.2.0" |
|
148 |
resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" |
|
149 |
dependencies: |
|
150 |
hoek "4.x.x" |
|
151 |
|
|
152 |
bower@~1.8.2: |
|
153 |
version "1.8.2" |
|
154 |
resolved "https://registry.yarnpkg.com/bower/-/bower-1.8.2.tgz#adf53529c8d4af02ef24fb8d5341c1419d33e2f7" |
|
155 |
|
|
156 |
brace-expansion@^1.1.7: |
|
157 |
version "1.1.8" |
|
158 |
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" |
|
159 |
dependencies: |
|
160 |
balanced-match "^1.0.0" |
|
161 |
concat-map "0.0.1" |
|
162 |
|
|
163 |
browserslist@^1.7.6: |
|
164 |
version "1.7.7" |
|
165 |
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" |
|
166 |
dependencies: |
|
167 |
caniuse-db "^1.0.30000639" |
|
168 |
electron-to-chromium "^1.2.7" |
|
169 |
|
|
170 |
builtin-modules@^1.0.0: |
|
171 |
version "1.1.1" |
|
172 |
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" |
|
173 |
|
|
174 |
bytes@2.2.0: |
|
175 |
version "2.2.0" |
|
176 |
resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.2.0.tgz#fd35464a403f6f9117c2de3609ecff9cae000588" |
|
177 |
|
|
178 |
bytes@2.4.0: |
|
179 |
version "2.4.0" |
|
180 |
resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" |
|
181 |
|
|
182 |
camelcase-keys@^2.0.0: |
|
183 |
version "2.1.0" |
|
184 |
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" |
|
185 |
dependencies: |
|
186 |
camelcase "^2.0.0" |
|
187 |
map-obj "^1.0.0" |
|
188 |
|
|
189 |
camelcase@^2.0.0: |
|
190 |
version "2.1.1" |
|
191 |
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" |
|
192 |
|
|
193 |
caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: |
|
194 |
version "1.0.30000744" |
|
195 |
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000744.tgz#00758ff7dd5f7138d34a15608dccf71a59656ffe" |
|
196 |
|
|
197 |
caseless@~0.12.0: |
|
198 |
version "0.12.0" |
|
199 |
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" |
|
200 |
|
|
201 |
chalk@^1.0.0, chalk@^1.1.3, chalk@~1.1.1: |
|
202 |
version "1.1.3" |
|
203 |
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" |
|
204 |
dependencies: |
|
205 |
ansi-styles "^2.2.1" |
|
206 |
escape-string-regexp "^1.0.2" |
|
207 |
has-ansi "^2.0.0" |
|
208 |
strip-ansi "^3.0.0" |
|
209 |
supports-color "^2.0.0" |
|
210 |
|
|
211 |
chalk@^2.0.0: |
|
212 |
version "2.1.0" |
|
213 |
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" |
|
214 |
dependencies: |
|
215 |
ansi-styles "^3.1.0" |
|
216 |
escape-string-regexp "^1.0.5" |
|
217 |
supports-color "^4.0.0" |
|
218 |
|
|
219 |
clean-css@^3.0.1: |
|
220 |
version "3.4.28" |
|
221 |
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.28.tgz#bf1945e82fc808f55695e6ddeaec01400efd03ff" |
|
222 |
dependencies: |
|
223 |
commander "2.8.x" |
|
224 |
source-map "0.4.x" |
|
225 |
|
|
226 |
cli-cursor@^2.1.0: |
|
227 |
version "2.1.0" |
|
228 |
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" |
|
229 |
dependencies: |
|
230 |
restore-cursor "^2.0.0" |
|
231 |
|
|
232 |
cli-width@^2.0.0: |
|
233 |
version "2.2.0" |
|
234 |
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" |
|
235 |
|
|
236 |
clone@~2.1.0: |
|
237 |
version "2.1.1" |
|
238 |
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" |
|
239 |
|
|
240 |
co@^4.6.0: |
|
241 |
version "4.6.0" |
|
242 |
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" |
|
243 |
|
|
244 |
coffee-script@^1.10.0, coffee-script@^1.9.0: |
|
245 |
version "1.12.7" |
|
246 |
resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.12.7.tgz#c05dae0cb79591d05b3070a8433a98c9a89ccc53" |
|
247 |
|
|
248 |
coffee-script@~1.10.0: |
|
249 |
version "1.10.0" |
|
250 |
resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.10.0.tgz#12938bcf9be1948fa006f92e0c4c9e81705108c0" |
|
251 |
|
|
252 |
color-convert@^1.9.0: |
|
253 |
version "1.9.0" |
|
254 |
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.0.tgz#1accf97dd739b983bf994d56fec8f95853641b7a" |
|
255 |
dependencies: |
|
256 |
color-name "^1.1.1" |
|
257 |
|
|
258 |
color-name@^1.1.1: |
|
259 |
version "1.1.3" |
|
260 |
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" |
|
261 |
|
|
262 |
colors@~1.1.2: |
|
263 |
version "1.1.2" |
|
264 |
resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" |
|
265 |
|
|
266 |
combined-stream@^1.0.5, combined-stream@~1.0.5: |
|
267 |
version "1.0.5" |
|
268 |
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" |
|
269 |
dependencies: |
|
270 |
delayed-stream "~1.0.0" |
|
271 |
|
|
272 |
commander@2.8.x: |
|
273 |
version "2.8.1" |
|
274 |
resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" |
|
275 |
dependencies: |
|
276 |
graceful-readlink ">= 1.0.0" |
|
277 |
|
|
278 |
concat-map@0.0.1: |
|
279 |
version "0.0.1" |
|
280 |
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" |
|
281 |
|
|
282 |
content-type@~1.0.1: |
|
283 |
version "1.0.4" |
|
284 |
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" |
|
285 |
|
|
286 |
core-util-is@1.0.2: |
|
287 |
version "1.0.2" |
|
288 |
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" |
|
289 |
|
|
290 |
cryptiles@3.x.x: |
|
291 |
version "3.1.2" |
|
292 |
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" |
|
293 |
dependencies: |
|
294 |
boom "5.x.x" |
|
295 |
|
|
296 |
cson-parser@^1.0.6: |
|
297 |
version "1.3.5" |
|
298 |
resolved "https://registry.yarnpkg.com/cson-parser/-/cson-parser-1.3.5.tgz#7ec675e039145533bf2a6a856073f1599d9c2d24" |
|
299 |
dependencies: |
|
300 |
coffee-script "^1.10.0" |
|
301 |
|
|
302 |
cson@~3.0.2: |
|
303 |
version "3.0.2" |
|
304 |
resolved "https://registry.yarnpkg.com/cson/-/cson-3.0.2.tgz#83ee9089db3c254bec1e98e498d9aacf11adcc54" |
|
305 |
dependencies: |
|
306 |
coffee-script "^1.9.0" |
|
307 |
cson-parser "^1.0.6" |
|
308 |
extract-opts "^3.0.1" |
|
309 |
requirefresh "^2.0.0" |
|
310 |
safefs "^4.0.0" |
|
311 |
|
|
312 |
csslint@^1.0.0: |
|
313 |
version "1.0.5" |
|
314 |
resolved "https://registry.yarnpkg.com/csslint/-/csslint-1.0.5.tgz#19cc3eda322160fd3f7232af1cb2a360e898a2e9" |
|
315 |
dependencies: |
|
316 |
clone "~2.1.0" |
|
317 |
parserlib "~1.1.1" |
|
318 |
|
|
319 |
currently-unhandled@^0.4.1: |
|
320 |
version "0.4.1" |
|
321 |
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" |
|
322 |
dependencies: |
|
323 |
array-find-index "^1.0.1" |
|
324 |
|
|
325 |
dashdash@^1.12.0: |
|
326 |
version "1.14.1" |
|
327 |
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" |
|
328 |
dependencies: |
|
329 |
assert-plus "^1.0.0" |
|
330 |
|
|
331 |
date-time@^1.1.0: |
|
332 |
version "1.1.0" |
|
333 |
resolved "https://registry.yarnpkg.com/date-time/-/date-time-1.1.0.tgz#18876d0bda4c19fe70dd3bf4b034f281b12a40b6" |
|
334 |
dependencies: |
|
335 |
time-zone "^0.1.0" |
|
336 |
|
|
337 |
dateformat@~1.0.12: |
|
338 |
version "1.0.12" |
|
339 |
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" |
|
340 |
dependencies: |
|
341 |
get-stdin "^4.0.1" |
|
342 |
meow "^3.3.0" |
|
343 |
|
|
344 |
debug@~2.2.0: |
|
345 |
version "2.2.0" |
|
346 |
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" |
|
347 |
dependencies: |
|
348 |
ms "0.7.1" |
|
349 |
|
|
350 |
decamelize@^1.1.2: |
|
351 |
version "1.2.0" |
|
352 |
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" |
|
353 |
|
|
354 |
delayed-stream@~1.0.0: |
|
355 |
version "1.0.0" |
|
356 |
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" |
|
357 |
|
|
358 |
depd@~1.1.0: |
|
359 |
version "1.1.1" |
|
360 |
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" |
|
361 |
|
|
362 |
eachr@^3.2.0: |
|
363 |
version "3.2.0" |
|
364 |
resolved "https://registry.yarnpkg.com/eachr/-/eachr-3.2.0.tgz#2c35e43ea086516f7997cf80b7aa64d55a4a4484" |
|
365 |
dependencies: |
|
366 |
editions "^1.1.1" |
|
367 |
typechecker "^4.3.0" |
|
368 |
|
|
369 |
ecc-jsbn@~0.1.1: |
|
370 |
version "0.1.1" |
|
371 |
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" |
|
372 |
dependencies: |
|
373 |
jsbn "~0.1.0" |
|
374 |
|
|
375 |
editions@^1.1.1, editions@^1.3.3: |
|
376 |
version "1.3.3" |
|
377 |
resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.3.tgz#0907101bdda20fac3cbe334c27cbd0688dc99a5b" |
|
378 |
|
|
379 |
ee-first@1.1.1: |
|
380 |
version "1.1.1" |
|
381 |
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" |
|
382 |
|
|
383 |
electron-to-chromium@^1.2.7: |
|
384 |
version "1.3.24" |
|
385 |
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.24.tgz#9b7b88bb05ceb9fa016a177833cc2dde388f21b6" |
|
386 |
|
|
387 |
errno@^0.1.1: |
|
388 |
version "0.1.4" |
|
389 |
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" |
|
390 |
dependencies: |
|
391 |
prr "~0.0.0" |
|
392 |
|
|
393 |
error-ex@^1.2.0: |
|
394 |
version "1.3.1" |
|
395 |
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" |
|
396 |
dependencies: |
|
397 |
is-arrayish "^0.2.1" |
|
398 |
|
|
399 |
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: |
|
400 |
version "1.0.5" |
|
401 |
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" |
|
402 |
|
|
403 |
esprima@^2.6.0: |
|
404 |
version "2.7.3" |
|
405 |
resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" |
|
406 |
|
|
407 |
eventemitter2@~0.4.13: |
|
408 |
version "0.4.14" |
|
409 |
resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" |
|
410 |
|
|
411 |
exit@~0.1.1: |
|
412 |
version "0.1.2" |
|
413 |
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" |
|
414 |
|
|
415 |
extend@~3.0.1: |
|
416 |
version "3.0.1" |
|
417 |
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" |
|
418 |
|
|
419 |
external-editor@^2.0.4: |
|
420 |
version "2.0.5" |
|
421 |
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.5.tgz#52c249a3981b9ba187c7cacf5beb50bf1d91a6bc" |
|
422 |
dependencies: |
|
423 |
iconv-lite "^0.4.17" |
|
424 |
jschardet "^1.4.2" |
|
425 |
tmp "^0.0.33" |
|
426 |
|
|
427 |
extract-opts@^3.0.1: |
|
428 |
version "3.3.1" |
|
429 |
resolved "https://registry.yarnpkg.com/extract-opts/-/extract-opts-3.3.1.tgz#5abbedc98c0d5202e3278727f9192d7e086c6be1" |
|
430 |
dependencies: |
|
431 |
eachr "^3.2.0" |
|
432 |
editions "^1.1.1" |
|
433 |
typechecker "^4.3.0" |
|
434 |
|
|
435 |
extsprintf@1.3.0, extsprintf@^1.2.0: |
|
436 |
version "1.3.0" |
|
437 |
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" |
|
438 |
|
|
439 |
fast-deep-equal@^1.0.0: |
|
440 |
version "1.0.0" |
|
441 |
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" |
|
442 |
|
|
443 |
faye-websocket@~0.10.0: |
|
444 |
version "0.10.0" |
|
445 |
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" |
|
446 |
dependencies: |
|
447 |
websocket-driver ">=0.5.1" |
|
448 |
|
|
449 |
figures@^1.0.0: |
|
450 |
version "1.7.0" |
|
451 |
resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" |
|
452 |
dependencies: |
|
453 |
escape-string-regexp "^1.0.5" |
|
454 |
object-assign "^4.1.0" |
|
455 |
|
|
456 |
figures@^2.0.0: |
|
457 |
version "2.0.0" |
|
458 |
resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" |
|
459 |
dependencies: |
|
460 |
escape-string-regexp "^1.0.5" |
|
461 |
|
|
462 |
find-up@^1.0.0: |
|
463 |
version "1.1.2" |
|
464 |
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" |
|
465 |
dependencies: |
|
466 |
path-exists "^2.0.0" |
|
467 |
pinkie-promise "^2.0.0" |
|
468 |
|
|
469 |
findup-sync@~0.3.0: |
|
470 |
version "0.3.0" |
|
471 |
resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" |
|
472 |
dependencies: |
|
473 |
glob "~5.0.0" |
|
474 |
|
|
475 |
forever-agent@~0.6.1: |
|
476 |
version "0.6.1" |
|
477 |
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" |
|
478 |
|
|
479 |
form-data@~2.3.1: |
|
480 |
version "2.3.1" |
|
481 |
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" |
|
482 |
dependencies: |
|
483 |
asynckit "^0.4.0" |
|
484 |
combined-stream "^1.0.5" |
|
485 |
mime-types "^2.1.12" |
|
486 |
|
|
487 |
fs.realpath@^1.0.0: |
|
488 |
version "1.0.0" |
|
489 |
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" |
|
490 |
|
|
491 |
gaze@^1.0.0: |
|
492 |
version "1.1.2" |
|
493 |
resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" |
|
494 |
dependencies: |
|
495 |
globule "^1.0.0" |
|
496 |
|
|
497 |
get-stdin@^4.0.1: |
|
498 |
version "4.0.1" |
|
499 |
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" |
|
500 |
|
|
501 |
getobject@~0.1.0: |
|
502 |
version "0.1.0" |
|
503 |
resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c" |
|
504 |
|
|
505 |
getpass@^0.1.1: |
|
506 |
version "0.1.7" |
|
507 |
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" |
|
508 |
dependencies: |
|
509 |
assert-plus "^1.0.0" |
|
510 |
|
|
511 |
glob@^7.0.5, glob@^7.1.2, glob@~7.1.1: |
|
512 |
version "7.1.2" |
|
513 |
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" |
|
514 |
dependencies: |
|
515 |
fs.realpath "^1.0.0" |
|
516 |
inflight "^1.0.4" |
|
517 |
inherits "2" |
|
518 |
minimatch "^3.0.4" |
|
519 |
once "^1.3.0" |
|
520 |
path-is-absolute "^1.0.0" |
|
521 |
|
|
522 |
glob@~5.0.0, glob@~5.0.15: |
|
523 |
version "5.0.15" |
|
524 |
resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" |
|
525 |
dependencies: |
|
526 |
inflight "^1.0.4" |
|
527 |
inherits "2" |
|
528 |
minimatch "2 || 3" |
|
529 |
once "^1.3.0" |
|
530 |
path-is-absolute "^1.0.0" |
|
531 |
|
|
532 |
glob@~7.0.0: |
|
533 |
version "7.0.6" |
|
534 |
resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" |
|
535 |
dependencies: |
|
536 |
fs.realpath "^1.0.0" |
|
537 |
inflight "^1.0.4" |
|
538 |
inherits "2" |
|
539 |
minimatch "^3.0.2" |
|
540 |
once "^1.3.0" |
|
541 |
path-is-absolute "^1.0.0" |
|
542 |
|
|
543 |
globule@^1.0.0: |
|
544 |
version "1.2.0" |
|
545 |
resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" |
|
546 |
dependencies: |
|
547 |
glob "~7.1.1" |
|
548 |
lodash "~4.17.4" |
|
549 |
minimatch "~3.0.2" |
|
550 |
|
|
551 |
graceful-fs@^4.1.2, graceful-fs@^4.1.4: |
|
552 |
version "4.1.11" |
|
553 |
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" |
|
554 |
|
|
555 |
"graceful-readlink@>= 1.0.0": |
|
556 |
version "1.0.1" |
|
557 |
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" |
|
558 |
|
|
559 |
grunt-cli@~1.2.0: |
|
560 |
version "1.2.0" |
|
561 |
resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.2.0.tgz#562b119ebb069ddb464ace2845501be97b35b6a8" |
|
562 |
dependencies: |
|
563 |
findup-sync "~0.3.0" |
|
564 |
grunt-known-options "~1.1.0" |
|
565 |
nopt "~3.0.6" |
|
566 |
resolve "~1.1.0" |
|
567 |
|
|
568 |
grunt-contrib-clean@^1.1.0: |
|
569 |
version "1.1.0" |
|
570 |
resolved "https://registry.yarnpkg.com/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz#564abf2d0378a983a15b9e3f30ee75b738c40638" |
|
571 |
dependencies: |
|
572 |
async "^1.5.2" |
|
573 |
rimraf "^2.5.1" |
|
574 |
|
|
575 |
grunt-contrib-csslint@^2.0.0: |
|
576 |
version "2.0.0" |
|
577 |
resolved "https://registry.yarnpkg.com/grunt-contrib-csslint/-/grunt-contrib-csslint-2.0.0.tgz#3129d94dfe507357f23337d24ae9e9aa4b9d57df" |
|
578 |
dependencies: |
|
579 |
chalk "^1.0.0" |
|
580 |
csslint "^1.0.0" |
|
581 |
lodash "^4.8.2" |
|
582 |
strip-json-comments "^2.0.1" |
|
583 |
|
|
584 |
grunt-contrib-watch@^1.0.0: |
|
585 |
version "1.0.0" |
|
586 |
resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz#84a1a7a1d6abd26ed568413496c73133e990018f" |
|
587 |
dependencies: |
|
588 |
async "^1.5.0" |
|
589 |
gaze "^1.0.0" |
|
590 |
lodash "^3.10.1" |
|
591 |
tiny-lr "^0.2.1" |
|
592 |
|
|
593 |
grunt-githooks@^0.6.0: |
|
594 |
version "0.6.0" |
|
595 |
resolved "https://registry.yarnpkg.com/grunt-githooks/-/grunt-githooks-0.6.0.tgz#10c6a40c537c1b6c65648c6b7edf0018a00fc3f0" |
|
596 |
dependencies: |
|
597 |
handlebars "~1.0.12" |
|
598 |
|
|
599 |
grunt-known-options@~1.1.0: |
|
600 |
version "1.1.0" |
|
601 |
resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-1.1.0.tgz#a4274eeb32fa765da5a7a3b1712617ce3b144149" |
|
602 |
|
|
603 |
grunt-legacy-log-utils@~1.0.0: |
|
604 |
version "1.0.0" |
|
605 |
resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz#a7b8e2d0fb35b5a50f4af986fc112749ebc96f3d" |
|
606 |
dependencies: |
|
607 |
chalk "~1.1.1" |
|
608 |
lodash "~4.3.0" |
|
609 |
|
|
610 |
grunt-legacy-log@~1.0.0: |
|
611 |
version "1.0.0" |
|
612 |
resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz#fb86f1809847bc07dc47843f9ecd6cacb62df2d5" |
|
613 |
dependencies: |
|
614 |
colors "~1.1.2" |
|
615 |
grunt-legacy-log-utils "~1.0.0" |
|
616 |
hooker "~0.2.3" |
|
617 |
lodash "~3.10.1" |
|
618 |
underscore.string "~3.2.3" |
|
619 |
|
|
620 |
grunt-legacy-util@~1.0.0: |
|
621 |
version "1.0.0" |
|
622 |
resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz#386aa78dc6ed50986c2b18957265b1b48abb9b86" |
|
623 |
dependencies: |
|
624 |
async "~1.5.2" |
|
625 |
exit "~0.1.1" |
|
626 |
getobject "~0.1.0" |
|
627 |
hooker "~0.2.3" |
|
628 |
lodash "~4.3.0" |
|
629 |
underscore.string "~3.2.3" |
|
630 |
which "~1.2.1" |
|
631 |
|
|
632 |
grunt@^1.0.1: |
|
633 |
version "1.0.1" |
|
634 |
resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.0.1.tgz#e8778764e944b18f32bb0f10b9078475c9dfb56b" |
|
635 |
dependencies: |
|
636 |
coffee-script "~1.10.0" |
|
637 |
dateformat "~1.0.12" |
|
638 |
eventemitter2 "~0.4.13" |
|
639 |
exit "~0.1.1" |
|
640 |
findup-sync "~0.3.0" |
|
641 |
glob "~7.0.0" |
|
642 |
grunt-cli "~1.2.0" |
|
643 |
grunt-known-options "~1.1.0" |
|
644 |
grunt-legacy-log "~1.0.0" |
|
645 |
grunt-legacy-util "~1.0.0" |
|
646 |
iconv-lite "~0.4.13" |
|
647 |
js-yaml "~3.5.2" |
|
648 |
minimatch "~3.0.0" |
|
649 |
nopt "~3.0.6" |
|
650 |
path-is-absolute "~1.0.0" |
|
651 |
rimraf "~2.2.8" |
|
652 |
|
|
653 |
handlebars@~1.0.12: |
|
654 |
version "1.0.12" |
|
655 |
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-1.0.12.tgz#18c6d3440c35e91b19b3ff582b9151ab4985d4fc" |
|
656 |
dependencies: |
|
657 |
optimist "~0.3" |
|
658 |
uglify-js "~2.3" |
|
659 |
|
|
660 |
har-schema@^2.0.0: |
|
661 |
version "2.0.0" |
|
662 |
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" |
|
663 |
|
|
664 |
har-validator@~5.0.3: |
|
665 |
version "5.0.3" |
|
666 |
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" |
|
667 |
dependencies: |
|
668 |
ajv "^5.1.0" |
|
669 |
har-schema "^2.0.0" |
|
670 |
|
|
671 |
has-ansi@^2.0.0: |
|
672 |
version "2.0.0" |
|
673 |
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" |
|
674 |
dependencies: |
|
675 |
ansi-regex "^2.0.0" |
|
676 |
|
|
677 |
has-flag@^1.0.0: |
|
678 |
version "1.0.0" |
|
679 |
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" |
|
680 |
|
|
681 |
has-flag@^2.0.0: |
|
682 |
version "2.0.0" |
|
683 |
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" |
|
684 |
|
|
685 |
hawk@~6.0.2: |
|
686 |
version "6.0.2" |
|
687 |
resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" |
|
688 |
dependencies: |
|
689 |
boom "4.x.x" |
|
690 |
cryptiles "3.x.x" |
|
691 |
hoek "4.x.x" |
|
692 |
sntp "2.x.x" |
|
693 |
|
|
694 |
hoek@4.x.x: |
|
695 |
version "4.2.0" |
|
696 |
resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" |
|
697 |
|
|
698 |
hooker@^0.2.3, hooker@~0.2.3: |
|
699 |
version "0.2.3" |
|
700 |
resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959" |
|
701 |
|
|
702 |
hosted-git-info@^2.1.4: |
|
703 |
version "2.5.0" |
|
704 |
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" |
|
705 |
|
|
706 |
http-errors@~1.3.1: |
|
707 |
version "1.3.1" |
|
708 |
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" |
|
709 |
dependencies: |
|
710 |
inherits "~2.0.1" |
|
711 |
statuses "1" |
|
712 |
|
|
713 |
http-parser-js@>=0.4.0: |
|
714 |
version "0.4.9" |
|
715 |
resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.9.tgz#ea1a04fb64adff0242e9974f297dd4c3cad271e1" |
|
716 |
|
|
717 |
http-signature@~1.2.0: |
|
718 |
version "1.2.0" |
|
719 |
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" |
|
720 |
dependencies: |
|
721 |
assert-plus "^1.0.0" |
|
722 |
jsprim "^1.2.2" |
|
723 |
sshpk "^1.7.0" |
|
724 |
|
|
725 |
iconv-lite@0.4.13: |
|
726 |
version "0.4.13" |
|
727 |
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" |
|
728 |
|
|
729 |
iconv-lite@^0.4.17, iconv-lite@~0.4.13: |
|
730 |
version "0.4.19" |
|
731 |
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" |
|
732 |
|
|
733 |
image-size@~0.5.0: |
|
734 |
version "0.5.5" |
|
735 |
resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" |
|
736 |
|
|
737 |
indent-string@^2.1.0: |
|
738 |
version "2.1.0" |
|
739 |
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" |
|
740 |
dependencies: |
|
741 |
repeating "^2.0.0" |
|
742 |
|
|
743 |
inflight@^1.0.4: |
|
744 |
version "1.0.6" |
|
745 |
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" |
|
746 |
dependencies: |
|
747 |
once "^1.3.0" |
|
748 |
wrappy "1" |
|
749 |
|
|
750 |
inherit@^2.2.2: |
|
751 |
version "2.2.6" |
|
752 |
resolved "https://registry.yarnpkg.com/inherit/-/inherit-2.2.6.tgz#f1614b06c8544e8128e4229c86347db73ad9788d" |
|
753 |
|
|
754 |
inherits@2, inherits@~2.0.0, inherits@~2.0.1: |
|
755 |
version "2.0.3" |
|
756 |
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" |
|
757 |
|
|
758 |
inquirer@^3.3.0: |
|
759 |
version "3.3.0" |
|
760 |
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" |
|
761 |
dependencies: |
|
762 |
ansi-escapes "^3.0.0" |
|
763 |
chalk "^2.0.0" |
|
764 |
cli-cursor "^2.1.0" |
|
765 |
cli-width "^2.0.0" |
|
766 |
external-editor "^2.0.4" |
|
767 |
figures "^2.0.0" |
|
768 |
lodash "^4.3.0" |
|
769 |
mute-stream "0.0.7" |
|
770 |
run-async "^2.2.0" |
|
771 |
rx-lite "^4.0.8" |
|
772 |
rx-lite-aggregates "^4.0.8" |
Formats disponibles : Unified diff
Weekly update of contrib modules