Skip to content

Commit 2dd6eab

Browse files
Initial commit
0 parents  commit 2dd6eab

21 files changed

+2833
-0
lines changed

.github/workflows/CI.yml

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: CI
2+
3+
on: [push]
4+
5+
jobs:
6+
Build:
7+
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- uses: actions/checkout@v1
12+
13+
- name: Validate composer.json and composer.lock
14+
run: composer validate
15+
16+
- name: Install dependencies
17+
run: composer install --prefer-dist --no-progress --no-suggest
18+
19+
- name: Run tests
20+
run: vendor/bin/phpunit
21+
22+
- name: Prepare for packaging
23+
run: composer install --prefer-dist --no-progress --no-suggest --no-dev
24+
25+
- name: Package build
26+
run: php -dphar.readonly=0 build.php
27+
28+
- name: Upload build
29+
uses: actions/[email protected]
30+
with:
31+
name: libyear.phar
32+
path: dist/libyear.phar

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/.idea
2+
*.cache
3+
/dist
4+
/vendor

CODE_OF_CONDUCT.md

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to make participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies within all project spaces, and it also applies when
49+
an individual is representing the project or its community in public spaces.
50+
Examples of representing a project or community include using an official
51+
project e-mail address, posting via an official social media account, or acting
52+
as an appointed representative at an online or offline event. Representation of
53+
a project may be further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at [email protected]. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq
77+

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2020 Steve Desmond
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# php-libyear
2+
A simple measure of dependency freshness
3+
4+
## Usage
5+
`php libyear.phar { path to project } [-q]`
6+
7+
Arguments:
8+
- `path to project`: required, directory containing `composer.json` and `composer.lock` files
9+
- `-q`: optional, quiet mode will only output libraries that are not up-to-date

build.php

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
if(!file_exists('dist'))
4+
mkdir('dist');
5+
6+
$phar = new Phar(__DIR__ . '/dist/libyear.phar');
7+
8+
$files = new RegexIterator(new RecursiveIteratorIterator(new RecursiveDirectoryIterator(__DIR__)), '/^((?!tests\/).)+\.php$/', RecursiveRegexIterator::GET_MATCH);
9+
10+
foreach ($files as $file_info) {
11+
{
12+
$filename = str_replace(__DIR__ . DIRECTORY_SEPARATOR, '', $file_info[0]);
13+
echo "Adding {$filename}...\n";
14+
$phar->addFile($filename);
15+
}
16+
}
17+
18+
$phar->setDefaultStub('libyear.php');

composer.json

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"name": "stevedesmond-ca/libyear",
3+
"description": "A simple measure of software dependency freshness",
4+
"homepage": "https://libyear.com",
5+
"readme": "https://github.com/stevedesmond-ca/libyear/blob/master/README.md",
6+
"license": "MIT",
7+
"authors": [
8+
{
9+
"name": "Steve Desmond",
10+
"email": "[email protected]",
11+
"homepage": "https://stevedesmond.ca"
12+
}
13+
],
14+
"require": {
15+
"php": "^7.4",
16+
"ext-json": "^7.4",
17+
"composer/semver": "^1.5",
18+
"guzzlehttp/guzzle": "^6.5",
19+
"wp-cli/php-cli-tools": "^0.11"
20+
},
21+
"require-dev": {
22+
"phpunit/phpunit": "^8.5",
23+
"mockery/mockery": "^1.3"
24+
},
25+
"autoload": {
26+
"psr-4": {
27+
"Libyear\\": "src/",
28+
"Libyear\\Tests\\": "tests/"
29+
}
30+
}
31+
}

0 commit comments

Comments
 (0)