mirror of
https://github.com/shivammathur/setup-php.git
synced 2025-08-02 11:47:19 +07:00
Compare commits
62 Commits
Author | SHA1 | Date | |
---|---|---|---|
409e055931 | |||
46a875ad7e | |||
7e81c058fb | |||
754ab9515b | |||
f866c880c2 | |||
eb21cb8fb3 | |||
aee6b953c3 | |||
21c3c8db47 | |||
c0e0d9d98e | |||
5ab8ec4a99 | |||
ec3c220bb2 | |||
17d90ace86 | |||
ba5306eea9 | |||
06929bdf4c | |||
e97e822eff | |||
0f97f445fb | |||
507cc5e95d | |||
2a30f9d208 | |||
eaf140ca8b | |||
dcd432d918 | |||
91a03a2865 | |||
ca33947c62 | |||
932b66f3fc | |||
651d2619bb | |||
16f13a69eb | |||
9134867822 | |||
36104f0983 | |||
a0b0e58cb3 | |||
c6f956927a | |||
83cc9a4bcf | |||
e63fd8e122 | |||
d33e2e06e4 | |||
7fcf39f8e9 | |||
43a64813f3 | |||
ba83ab2e67 | |||
9cfe4e665e | |||
585f7a1fd2 | |||
43178a7254 | |||
db44db4b97 | |||
601f50f55e | |||
e71c06a64f | |||
c5825452ec | |||
339c69c9a5 | |||
e4a37d0f16 | |||
a398f54da4 | |||
69f9b777e1 | |||
02867faba4 | |||
35b0788556 | |||
2484a27666 | |||
42de8649eb | |||
f6674883c6 | |||
738fa3dfee | |||
9616296853 | |||
b45c80e26a | |||
764f8c8453 | |||
c5513d9a78 | |||
1c6748567c | |||
76bcc07458 | |||
8ba904fa24 | |||
13824286db | |||
e5083c779b | |||
2f94ea1a79 |
76
.github/CODE_OF_CONDUCT.md
vendored
Normal file
76
.github/CODE_OF_CONDUCT.md
vendored
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
# Contributor Covenant Code of Conduct
|
||||||
|
|
||||||
|
## Our Pledge
|
||||||
|
|
||||||
|
In the interest of fostering an open and welcoming environment, we as
|
||||||
|
contributors and maintainers pledge to making participation in our project and
|
||||||
|
our community a harassment-free experience for everyone, regardless of age, body
|
||||||
|
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
||||||
|
level of experience, education, socio-economic status, nationality, personal
|
||||||
|
appearance, race, religion, or sexual identity and orientation.
|
||||||
|
|
||||||
|
## Our Standards
|
||||||
|
|
||||||
|
Examples of behavior that contributes to creating a positive environment
|
||||||
|
include:
|
||||||
|
|
||||||
|
* Using welcoming and inclusive language
|
||||||
|
* Being respectful of differing viewpoints and experiences
|
||||||
|
* Gracefully accepting constructive criticism
|
||||||
|
* Focusing on what is best for the community
|
||||||
|
* Showing empathy towards other community members
|
||||||
|
|
||||||
|
Examples of unacceptable behavior by participants include:
|
||||||
|
|
||||||
|
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||||
|
advances
|
||||||
|
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||||
|
* Public or private harassment
|
||||||
|
* Publishing others' private information, such as a physical or electronic
|
||||||
|
address, without explicit permission
|
||||||
|
* Other conduct which could reasonably be considered inappropriate in a
|
||||||
|
professional setting
|
||||||
|
|
||||||
|
## Our Responsibilities
|
||||||
|
|
||||||
|
Project maintainers are responsible for clarifying the standards of acceptable
|
||||||
|
behavior and are expected to take appropriate and fair corrective action in
|
||||||
|
response to any instances of unacceptable behavior.
|
||||||
|
|
||||||
|
Project maintainers have the right and responsibility to remove, edit, or
|
||||||
|
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||||
|
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||||
|
permanently any contributor for other behaviors that they deem inappropriate,
|
||||||
|
threatening, offensive, or harmful.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
This Code of Conduct applies both within project spaces and in public spaces
|
||||||
|
when an individual is representing the project or its community. Examples of
|
||||||
|
representing a project or community include using an official project e-mail
|
||||||
|
address, posting via an official social media account, or acting as an appointed
|
||||||
|
representative at an online or offline event. Representation of a project may be
|
||||||
|
further defined and clarified by project maintainers.
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
|
reported by contacting the project team at contact@shivammathur.com. All
|
||||||
|
complaints will be reviewed and investigated and will result in a response that
|
||||||
|
is deemed necessary and appropriate to the circumstances. The project team is
|
||||||
|
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||||
|
Further details of specific enforcement policies may be posted separately.
|
||||||
|
|
||||||
|
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||||
|
faith may face temporary or permanent repercussions as determined by other
|
||||||
|
members of the project's leadership.
|
||||||
|
|
||||||
|
## Attribution
|
||||||
|
|
||||||
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||||
|
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||||
|
|
||||||
|
[homepage]: https://www.contributor-covenant.org
|
||||||
|
|
||||||
|
For answers to common questions about this code of conduct, see
|
||||||
|
https://www.contributor-covenant.org/faq
|
54
.github/CONTRIBUTING.md
vendored
Normal file
54
.github/CONTRIBUTING.md
vendored
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# Contributing to setup-php
|
||||||
|
|
||||||
|
## Contributor Code of Conduct
|
||||||
|
|
||||||
|
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
|
||||||
|
|
||||||
|
## Workflow
|
||||||
|
|
||||||
|
* Fork the project.
|
||||||
|
* Make your bug fix or feature addition.
|
||||||
|
* Add tests for it. This is important so we don't break it in a future version unintentionally.
|
||||||
|
* Send a pull request to the develop branch.
|
||||||
|
|
||||||
|
Please make sure that you have [set up your user name and email address](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) for use with Git. Strings such as `silly nick name <root@localhost>` look really stupid in the commit history of a project.
|
||||||
|
|
||||||
|
Due to time constraints, you may not always get a quick responce. Please do not take delays personal and feel free to remind me.
|
||||||
|
|
||||||
|
## Coding Guidelines
|
||||||
|
|
||||||
|
This project comes with a `.prettierrc.json` configuration file. Please run the following command to format the code before commiting it.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ npm run format
|
||||||
|
```
|
||||||
|
|
||||||
|
## Using setup-php from a Git checkout
|
||||||
|
|
||||||
|
The following commands can be used to perform the initial checkout of setup-php:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ git clone https://github.com/shivammathur/setup-php.git
|
||||||
|
|
||||||
|
$ cd setup-php
|
||||||
|
```
|
||||||
|
|
||||||
|
Install setup-php dependencies using [npm](https://www.npmjs.com/):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
## Running the test suite
|
||||||
|
|
||||||
|
After following the steps shown above, The `setup-php` tests in the `__tests__` directory can be run using this command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ npm test
|
||||||
|
```
|
||||||
|
|
||||||
|
## Reporting issues
|
||||||
|
|
||||||
|
Please submit the issue using the appropiate template provided for a bug report or a feature request:
|
||||||
|
|
||||||
|
* [Issues](https://github.com/shivammathur/setup-php/issues)
|
5
.github/FUNDING.yml
vendored
Normal file
5
.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# These are supported funding model platforms
|
||||||
|
|
||||||
|
github: shivammathur
|
||||||
|
patreon: shivammathur
|
||||||
|
custom: https://www.paypal.me/shivammathur
|
23
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
23
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Please provide the GitHub Action `.yml` file.
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Is your feature request related to a problem? Please describe.**
|
||||||
|
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||||
|
|
||||||
|
**Describe the solution you'd like**
|
||||||
|
A clear and concise description of what you want to happen.
|
||||||
|
|
||||||
|
**Describe alternatives you've considered**
|
||||||
|
A clear and concise description of any alternative solutions or features you've considered.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context or screenshots about the feature request here.
|
34
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
34
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
name: |
|
||||||
|
🐞 Failing Test
|
||||||
|
🐞 Bug Fix
|
||||||
|
⚙ Improvement
|
||||||
|
🎉 New Feature
|
||||||
|
about: You found a bug, have a failing test, want to improve something or add a new feature
|
||||||
|
labels: bug or enhancement
|
||||||
|
---
|
||||||
|
|
||||||
|
## A Pull Request should be associated with an Issue.
|
||||||
|
|
||||||
|
> We wish to have discussions in Issues. A single issue may be targeted by multiple PRs.
|
||||||
|
> If you're offering a new feature or fixing anything, we'd like to know beforehand in Issues,
|
||||||
|
> and potentially we'll be able to point development in a particular direction.
|
||||||
|
|
||||||
|
Related issue:
|
||||||
|
|
||||||
|
> Further notes in [Contribution Guidelines](.github/CONTRIBUTING.md)
|
||||||
|
> Thank you! We are open to PRs, but please understand if for technical reasons we are unable to accept each and any PR
|
||||||
|
|
||||||
|
### Description
|
||||||
|
|
||||||
|
This PR [briefly explain what it does]
|
||||||
|
|
||||||
|
> In case this PR introduced TypeScript/JavaScript code changes:
|
||||||
|
|
||||||
|
- [ ] I have written test cases for the changes in this pull request
|
||||||
|
- [ ] I have run `npm run format` before the commit.
|
||||||
|
- [ ] `npm test` returns with no unit test errors.
|
||||||
|
|
||||||
|
<!--
|
||||||
|
- Please target the develop branch when submitting the pull request.
|
||||||
|
-->
|
30
.github/PULL_REQUEST_TEMPLATE/FAILING_TEST.md
vendored
Normal file
30
.github/PULL_REQUEST_TEMPLATE/FAILING_TEST.md
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
name: 🐞 Failing Test
|
||||||
|
about: You found a bug and have a failing test?
|
||||||
|
labels: bug
|
||||||
|
---
|
||||||
|
|
||||||
|
## A Pull Request should be associated with an Issue.
|
||||||
|
|
||||||
|
> We wish to have discussions in Issues. A single issue may be targeted by multiple PRs.
|
||||||
|
> If you're offering a new feature or fixing anything, we'd like to know beforehand in Issues,
|
||||||
|
> and potentially we'll be able to point development in a particular direction.
|
||||||
|
|
||||||
|
Related issue:
|
||||||
|
|
||||||
|
> Further notes in [Contribution Guidelines](.github/CONTRIBUTING.md)
|
||||||
|
> Thank you! We are open to PRs, but please understand if for technical reasons we are unable to accept each and any PR
|
||||||
|
|
||||||
|
### Description
|
||||||
|
|
||||||
|
This PR [briefly explain what it does]
|
||||||
|
|
||||||
|
> In case this PR introduced TypeScript/JavaScript code changes:
|
||||||
|
|
||||||
|
- [ ] I have written test cases for the changes in this pull request
|
||||||
|
- [ ] I have run `npm run format` before the commit.
|
||||||
|
- [ ] `npm test` returns with no unit test errors.
|
||||||
|
|
||||||
|
<!--
|
||||||
|
- Please target the develop branch when submitting the pull request.
|
||||||
|
-->
|
30
.github/PULL_REQUEST_TEMPLATE/FIX.md
vendored
Normal file
30
.github/PULL_REQUEST_TEMPLATE/FIX.md
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
name: 🐞 Bug Fix
|
||||||
|
about: You have a fix for a bug?
|
||||||
|
labels: bug
|
||||||
|
---
|
||||||
|
|
||||||
|
## A Pull Request should be associated with an Issue.
|
||||||
|
|
||||||
|
> We wish to have discussions in Issues. A single issue may be targeted by multiple PRs.
|
||||||
|
> If you're offering a new feature or fixing anything, we'd like to know beforehand in Issues,
|
||||||
|
> and potentially we'll be able to point development in a particular direction.
|
||||||
|
|
||||||
|
Related issue:
|
||||||
|
|
||||||
|
> Further notes in [Contribution Guidelines](.github/CONTRIBUTING.md)
|
||||||
|
> Thank you! We are open to PRs, but please understand if for technical reasons we are unable to accept each and any PR
|
||||||
|
|
||||||
|
### Description
|
||||||
|
|
||||||
|
This PR [briefly explain what it does]
|
||||||
|
|
||||||
|
> In case this PR introduced TypeScript/JavaScript code changes:
|
||||||
|
|
||||||
|
- [ ] I have written test cases for the changes in this pull request
|
||||||
|
- [ ] I have run `npm run format` before the commit.
|
||||||
|
- [ ] `npm test` returns with no unit test errors.
|
||||||
|
|
||||||
|
<!--
|
||||||
|
- Please target the develop branch when submitting the pull request.
|
||||||
|
-->
|
30
.github/PULL_REQUEST_TEMPLATE/IMPROVEMENT.md
vendored
Normal file
30
.github/PULL_REQUEST_TEMPLATE/IMPROVEMENT.md
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
name: ⚙ Improvement
|
||||||
|
about: You have some improvement to make setup-php better?
|
||||||
|
labels: enhancement
|
||||||
|
---
|
||||||
|
|
||||||
|
## A Pull Request should be associated with an Issue.
|
||||||
|
|
||||||
|
> We wish to have discussions in Issues. A single issue may be targeted by multiple PRs.
|
||||||
|
> If you're offering a new feature or fixing anything, we'd like to know beforehand in Issues,
|
||||||
|
> and potentially we'll be able to point development in a particular direction.
|
||||||
|
|
||||||
|
Related issue:
|
||||||
|
|
||||||
|
> Further notes in [Contribution Guidelines](.github/CONTRIBUTING.md)
|
||||||
|
> Thank you! We are open to PRs, but please understand if for technical reasons we are unable to accept each and any PR
|
||||||
|
|
||||||
|
### Description
|
||||||
|
|
||||||
|
This PR [briefly explain what it does]
|
||||||
|
|
||||||
|
> In case this PR introduced TypeScript/JavaScript code changes:
|
||||||
|
|
||||||
|
- [ ] I have written test cases for the changes in this pull request
|
||||||
|
- [ ] I have run `npm run format` before the commit.
|
||||||
|
- [ ] `npm test` returns with no unit test errors.
|
||||||
|
|
||||||
|
<!--
|
||||||
|
- Please target the develop branch when submitting the pull request.
|
||||||
|
-->
|
30
.github/PULL_REQUEST_TEMPLATE/NEW_FEATURE.md
vendored
Normal file
30
.github/PULL_REQUEST_TEMPLATE/NEW_FEATURE.md
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
name: 🎉 New Feature
|
||||||
|
about: You have implemented some neat idea that you want to make part of setup-php?
|
||||||
|
labels: enhancement
|
||||||
|
---
|
||||||
|
|
||||||
|
## A Pull Request should be associated with an Issue.
|
||||||
|
|
||||||
|
> We wish to have discussions in Issues. A single issue may be targeted by multiple PRs.
|
||||||
|
> If you're offering a new feature or fixing anything, we'd like to know beforehand in Issues,
|
||||||
|
> and potentially we'll be able to point development in a particular direction.
|
||||||
|
|
||||||
|
Related issue:
|
||||||
|
|
||||||
|
> Further notes in [Contribution Guidelines](.github/CONTRIBUTING.md)
|
||||||
|
> Thank you! We are open to PRs, but please understand if for technical reasons we are unable to accept each and any PR
|
||||||
|
|
||||||
|
### Description
|
||||||
|
|
||||||
|
This PR [briefly explain what it does]
|
||||||
|
|
||||||
|
> In case this PR introduced TypeScript/JavaScript code changes:
|
||||||
|
|
||||||
|
- [ ] I have written test cases for the changes in this pull request
|
||||||
|
- [ ] I have run `npm run format` before the commit.
|
||||||
|
- [ ] `npm test` returns with no unit test errors.
|
||||||
|
|
||||||
|
<!--
|
||||||
|
- Please target the develop branch when submitting the pull request.
|
||||||
|
-->
|
23
.github/workflows/workflow.yml
vendored
23
.github/workflows/workflow.yml
vendored
@ -5,7 +5,7 @@ jobs:
|
|||||||
name: Run
|
name: Run
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
max-parallel: 15
|
max-parallel: 8
|
||||||
matrix:
|
matrix:
|
||||||
operating-system: [ubuntu-latest, windows-latest, macOS-latest]
|
operating-system: [ubuntu-latest, windows-latest, macOS-latest]
|
||||||
php-versions: ['5.6', '7.0', '7.1', '7.2', '7.3']
|
php-versions: ['5.6', '7.0', '7.1', '7.2', '7.3']
|
||||||
@ -21,7 +21,26 @@ jobs:
|
|||||||
- name: Installing NPM
|
- name: Installing NPM
|
||||||
run: npm install
|
run: npm install
|
||||||
|
|
||||||
- name: Installing PHP
|
- name: Run tests and send coverage
|
||||||
|
run: |
|
||||||
|
npm test
|
||||||
|
curl -s https://codecov.io/bash | bash -s -- -t ${{secrets.CODECOV_TOKEN}} -f coverage/clover.xml -n github-actions-codecov-${{ matrix.operating-system }}-php${{ matrix.php-versions }}
|
||||||
|
|
||||||
|
- name: Installing PHP with extensions and custom config
|
||||||
run: node lib/install.js
|
run: node lib/install.js
|
||||||
env:
|
env:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, xdebug, pcov #optional
|
||||||
|
ini-values-csv: post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata #optional
|
||||||
|
|
||||||
|
- name: Testing PHP version
|
||||||
|
run: php -v
|
||||||
|
- name: Testing Composer version
|
||||||
|
run: composer -V
|
||||||
|
- name: Testing Extensions
|
||||||
|
run: php -m
|
||||||
|
- name: Testing ini values
|
||||||
|
run: |
|
||||||
|
php -r "echo \"post_max_size: \" . ini_get('post_max_size') . \"\n\";"
|
||||||
|
php -r "echo \"short_open_tag: \" . ini_get('short_open_tag') . \"\n\";"
|
||||||
|
php -r "echo \"date.timezone: \" . ini_get('date.timezone') . \"\n\";"
|
||||||
|
92
.gitignore
vendored
92
.gitignore
vendored
@ -0,0 +1,92 @@
|
|||||||
|
# Explicitly not ignoring node_modules so that they are included in package downloaded by runner
|
||||||
|
!node_modules/
|
||||||
|
__tests__/runner/*
|
||||||
|
|
||||||
|
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
|
||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||||
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
*.lcov
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# TypeScript v1 declaration files
|
||||||
|
typings/
|
||||||
|
|
||||||
|
# TypeScript cache
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# dotenv environment variables file
|
||||||
|
.env
|
||||||
|
.env.test
|
||||||
|
|
||||||
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
.cache
|
||||||
|
|
||||||
|
# next.js build output
|
||||||
|
.next
|
||||||
|
|
||||||
|
# nuxt.js build output
|
||||||
|
.nuxt
|
||||||
|
|
||||||
|
# vuepress build output
|
||||||
|
.vuepress/dist
|
||||||
|
|
||||||
|
# Serverless directories
|
||||||
|
.serverless/
|
||||||
|
|
||||||
|
# FuseBox cache
|
||||||
|
.fusebox/
|
||||||
|
|
||||||
|
# DynamoDB Local files
|
||||||
|
.dynamodb/
|
165
README.md
165
README.md
@ -1,28 +1,102 @@
|
|||||||
# setup-php
|
<p align="center">
|
||||||
|
<a href="https://github.com/marketplace/actions/setup-php-action" target="_blank">
|
||||||
|
<img src="https://repository-images.githubusercontent.com/206578964/e0a18480-dc65-11e9-8dd3-b9ffbf5575fe" alt="Setup PHP in GitHub Actions" width="400">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
# Setup PHP in GitHub Actions
|
||||||
|
|
||||||
<p align="left">
|
<p align="left">
|
||||||
<a href="https://github.com/shivammathur/setup-php"><img alt="GitHub Actions status" src="https://github.com/shivammathur/setup-php/workflows/Main%20workflow/badge.svg"></a>
|
<a href="https://github.com/shivammathur/setup-php"><img alt="GitHub Actions status" src="https://github.com/shivammathur/setup-php/workflows/Main%20workflow/badge.svg"></a>
|
||||||
|
<a href="https://codecov.io/gh/shivammathur/setup-php"><img alt="Codecov Code Coverage" src="https://codecov.io/gh/shivammathur/setup-php/branch/master/graph/badge.svg"></a>
|
||||||
|
<a href="https://github.com/shivammathur/setup-php/blob/master/LICENSE"><img alt="LICENSE" src="https://img.shields.io/badge/license-MIT-428f7e.svg"></a>
|
||||||
|
<a href="#tada-php-support"><img alt="PHP Versions Supported" src="https://img.shields.io/badge/php-%3E%3D%205.6-8892BF.svg"></a>
|
||||||
|
<a href="https://www.patreon.com/shivammathur"><img alt="Support me on Patreon" src="https://shivammathur.com/badges/patreon.svg"></a> <a href="https://www.paypal.me/shivammathur"><img alt="Support me on PayPal" src="https://shivammathur.com/badges/paypal.svg"></a>
|
||||||
|
<a href="https://www.codementor.io/shivammathur?utm_source=github&utm_medium=button&utm_term=shivammathur&utm_campaign=github"><img alt="Contact me on Codementor" src="https://cdn.codementor.io/badges/contact_me_github.svg"></a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
This action sets up a php environment along with composer on multiple platforms for use in github actions.
|
Setup PHP with required extensions, php.ini configuration and composer in [GitHub Actions](https://github.com/features/actions). This action can be added as a step in your action workflow and it will setup the PHP environment you need to test your application. Refer to [Usage](#memo-usage) section and [examples](#examples) to see how to use this.
|
||||||
|
|
||||||
# PHP Version Support
|
## :tada: PHP Support
|
||||||
- 5.6
|
|
||||||
- 7.0
|
|
||||||
- 7.1
|
|
||||||
- 7.2
|
|
||||||
- 7.3
|
|
||||||
|
|
||||||
# Operating Systems Support
|
|PHP Version|Stability|Release Support|
|
||||||
- Linux (ubuntu-latest)
|
|--- |--- |--- |
|
||||||
- Windows (windows-latest)
|
|5.6|`Stable`|`End of life`|
|
||||||
- MacOS (macOS-latest)
|
|7.0|`Stable`|`End of life`|
|
||||||
|
|7.1|`Stable`|`Security fixes only`|
|
||||||
|
|7.2|`Stable`|`Active`|
|
||||||
|
|7.3|`Stable`|`Active`|
|
||||||
|
|7.4|`RC3`|`Active`|
|
||||||
|
|
||||||
# Usage
|
**Note:** PHP 7.4 is currently in development, do not use in production/release branches.
|
||||||
|
|
||||||
See [action.yml](action.yml)
|
## :cloud: OS/Platform Support
|
||||||
|
|
||||||
|
|Virtual environment|matrix.operating-system|
|
||||||
|
|--- |--- |
|
||||||
|
|Windows Server 2019|`windows-latest` or `windows-2019`|
|
||||||
|
|Windows Server 2016 R2|`windows-2016`|
|
||||||
|
|Ubuntu 18.04|`ubuntu-latest` or `ubuntu-18.04`|
|
||||||
|
|Ubuntu 16.04|`ubuntu-16.04`|
|
||||||
|
|macOS X Mojave 10.14|`macOS-latest` or `macOS-10.14`|
|
||||||
|
|
||||||
|
## :wrench: PHP Extension Support
|
||||||
|
- On `ubuntu` extensions which have the package in apt are installed.
|
||||||
|
- On `windows` and `macOS` PECL extensions are installed.
|
||||||
|
- Extensions which are installed along with PHP if specified are enabled.
|
||||||
|
- Extensions which cannot be installed gracefully leave an error message in the logs, the action is not interrupted.
|
||||||
|
|
||||||
|
## :signal_strength: Coverage support
|
||||||
|
|
||||||
|
### Xdebug
|
||||||
|
|
||||||
|
Specify `coverage: xdebug` to use `Xdebug`.
|
||||||
|
Runs on all [PHP versions supported](#tada-php-support)
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
uses: shivammathur/setup-php@master
|
||||||
|
with:
|
||||||
|
php-version: '7.3'
|
||||||
|
coverage: xdebug
|
||||||
|
```
|
||||||
|
|
||||||
|
### PCOV
|
||||||
|
|
||||||
|
Specify `coverage: pcov` to use `PCOV`. `PCOV` is way faster than `Xdebug`.
|
||||||
|
For `pcov.directory` to be other than `src`, `lib` or, `app`, specify it using the `ini-values-csv` input.
|
||||||
|
`PCOV` needs `PHPUnit >= 8.0` and `PHP >= 7.1`, `PHPUnit` needs `PHP >= 7.2`. So use `PHP >= 7.2` with `PCOV`
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
uses: shivammathur/setup-php@master
|
||||||
|
with:
|
||||||
|
php-version: '7.3'
|
||||||
|
ini-values-csv: pcov.directory=api #optional, see above for usage.
|
||||||
|
coverage: pcov
|
||||||
|
```
|
||||||
|
|
||||||
|
### Disable coverage
|
||||||
|
Specify `coverage: none` to disable both `Xdebug` and `PCOV`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
uses: shivammathur/setup-php@master
|
||||||
|
with:
|
||||||
|
php-version: '7.3'
|
||||||
|
coverage: none
|
||||||
|
```
|
||||||
|
|
||||||
|
## :memo: Usage
|
||||||
|
|
||||||
|
Inputs supported by this GitHub Action.
|
||||||
|
|
||||||
|
- php-version `required`
|
||||||
|
- extension-csv `optional`
|
||||||
|
- ini-values-csv `optional`
|
||||||
|
- coverage `optional`
|
||||||
|
|
||||||
|
See [action.yml](action.yml) and usage below for more info.
|
||||||
|
|
||||||
|
### Basic Usage
|
||||||
|
|
||||||
Basic:
|
|
||||||
```yaml
|
```yaml
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@ -30,14 +104,20 @@ steps:
|
|||||||
- name: Installing PHP
|
- name: Installing PHP
|
||||||
uses: shivammathur/setup-php@master
|
uses: shivammathur/setup-php@master
|
||||||
with:
|
with:
|
||||||
php-version: 7.3
|
php-version: '7.3'
|
||||||
|
extension-csv: mbstring, xdebug #optional
|
||||||
|
ini-values-csv: post_max_size=256M, short_open_tag=On #optional
|
||||||
|
coverage: xdebug #optional
|
||||||
- name: Check PHP Version
|
- name: Check PHP Version
|
||||||
run: php -v
|
run: php -v
|
||||||
- name: Check Composer Version
|
- name: Check Composer Version
|
||||||
run: composer -V
|
run: composer -V
|
||||||
|
- name: Check PHP Extensions
|
||||||
|
run: php -m
|
||||||
```
|
```
|
||||||
|
|
||||||
Matrix Testing:
|
### Matrix Testing
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
jobs:
|
jobs:
|
||||||
run:
|
run:
|
||||||
@ -55,15 +135,58 @@ jobs:
|
|||||||
uses: shivammathur/setup-php@master
|
uses: shivammathur/setup-php@master
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, xdebug #optional
|
||||||
|
ini-values-csv: post_max_size=256M, short_open_tag=On #optional
|
||||||
|
coverage: xdebug #optional
|
||||||
- name: Check PHP Version
|
- name: Check PHP Version
|
||||||
run: php -v
|
run: php -v
|
||||||
|
- name: Check Composer Version
|
||||||
|
run: composer -V
|
||||||
|
- name: Check PHP Extensions
|
||||||
|
run: php -m
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
# License
|
### Examples
|
||||||
|
|
||||||
The scripts and documentation in this project are released under the [MIT License](LICENSE)
|
Examples for setting up this GitHub Action with different PHP Frameworks/Packages.
|
||||||
|
|
||||||
# Contributions
|
|Framework/Package|Workflow|
|
||||||
|
|--- |--- |
|
||||||
|
|CodeIgniter|[codeigniter.yml](./examples/codeigniter.yml)|
|
||||||
|
|Laravel `MySQL` `Redis`|[laravel-mysql.yml](./examples/laravel-mysql.yml)|
|
||||||
|
|Laravel `PostgreSQL` `Redis`|[laravel-postgres.yml](./examples/laravel-postgres.yml)|
|
||||||
|
|Laravel|[laravel.yml](./examples/laravel.yml)|
|
||||||
|
|Slim Framework|[slim-framework.yml](./examples/slim-framework.yml)|
|
||||||
|
|Symfony `MySQL`|[symfony-mysql.yml](./examples/symfony-mysql.yml)|
|
||||||
|
|Symfony `PostgreSQL`|[symfony-postgres.yml](./examples/symfony-postgres.yml)|
|
||||||
|
|Yii2 Starter Kit `MySQL`|[yii2-mysql.yml](./examples/yii2-mysql.yml)|
|
||||||
|
|Yii2 Starter Kit `PostgreSQL`|[yii2-postgres.yml](./examples/yii2-postgres.yml)|
|
||||||
|
|Zend Framework|[zend-framework.yml](./examples/zend-framework.yml)|
|
||||||
|
|
||||||
Contributions are welcome! See [Contributor's Guide](docs/contributors.md)
|
## :scroll: License
|
||||||
|
|
||||||
|
The scripts and documentation in this project are released under the [MIT License](LICENSE). This project has multiple [dependencies](https://github.com/shivammathur/setup-php/network/dependencies) and their licenses can be found in their respective repositories.
|
||||||
|
|
||||||
|
## :+1: Contributions
|
||||||
|
|
||||||
|
Contributions are welcome! See [Contributor's Guide](.github/CONTRIBUTING.md).
|
||||||
|
|
||||||
|
## :sparkling_heart: Support this project
|
||||||
|
|
||||||
|
- Please star the project and share it among your developer friends.
|
||||||
|
- Consider supporting on <a href="https://www.patreon.com/shivammathur"><img alt="Support me on Patreon" src="https://shivammathur.com/badges/patreon.svg"></a> and <a href="https://www.paypal.me/shivammathur"><img alt="Support me on Paypal" src="https://shivammathur.com/badges/paypal.svg"></a>.
|
||||||
|
|
||||||
|
## :bookmark: This action uses the following works
|
||||||
|
|
||||||
|
- [powershell-phpmanager](https://github.com/mlocati/powershell-phpmanager)
|
||||||
|
- [Homebrew](https://brew.sh/)
|
||||||
|
- [ppa:ondrej/php](https://launchpad.net/~ondrej/+archive/ubuntu/php)
|
||||||
|
- [exolnet/homebrew-deprecated](https://github.com/eXolnet/homebrew-deprecated)
|
||||||
|
- [phpbrew](https://github.com/phpbrew/phpbrew)
|
||||||
|
|
||||||
|
## :bookmark_tabs: Further Reading
|
||||||
|
|
||||||
|
- [About GitHub Actions](https://github.com/features/actions)
|
||||||
|
- [GitHub Actions Syntax](https://help.github.com/en/articles/workflow-syntax-for-github-actions)
|
||||||
|
- [Other Awesome Actions](https://github.com/sdras/awesome-actions)
|
||||||
|
57
__tests__/config.test.ts
Normal file
57
__tests__/config.test.ts
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
import * as config from '../src/config';
|
||||||
|
|
||||||
|
describe('Config tests', () => {
|
||||||
|
it('checking addINIValuesOnWindows', async () => {
|
||||||
|
let win32: string = await config.addINIValues(
|
||||||
|
'post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata',
|
||||||
|
'win32'
|
||||||
|
);
|
||||||
|
expect(win32).toContain(
|
||||||
|
'Add-Content C:\\tools\\php\\php.ini "post_max_size=256M"'
|
||||||
|
);
|
||||||
|
expect(win32).toContain(
|
||||||
|
'Add-Content C:\\tools\\php\\php.ini "short_open_tag=On"'
|
||||||
|
);
|
||||||
|
expect(win32).toContain(
|
||||||
|
'Add-Content C:\\tools\\php\\php.ini "date.timezone=Asia/Kolkata"'
|
||||||
|
);
|
||||||
|
|
||||||
|
win32 = await config.addINIValues(
|
||||||
|
'post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata',
|
||||||
|
'fedora'
|
||||||
|
);
|
||||||
|
expect(win32).toContain('Platform fedora is not supported');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking addINIValuesOnLinux', async () => {
|
||||||
|
let linux: string = await config.addINIValues(
|
||||||
|
'post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata',
|
||||||
|
'linux'
|
||||||
|
);
|
||||||
|
expect(linux).toContain('echo "post_max_size=256M" >> $ini_file');
|
||||||
|
expect(linux).toContain('echo "short_open_tag=On" >> $ini_file');
|
||||||
|
expect(linux).toContain('echo "date.timezone=Asia/Kolkata" >> $ini_file');
|
||||||
|
|
||||||
|
linux = await config.addINIValues(
|
||||||
|
'post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata',
|
||||||
|
'fedora'
|
||||||
|
);
|
||||||
|
expect(linux).toContain('Platform fedora is not supported');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking addINIValuesOnDarwin', async () => {
|
||||||
|
let darwin: string = await config.addINIValues(
|
||||||
|
'post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata',
|
||||||
|
'darwin'
|
||||||
|
);
|
||||||
|
expect(darwin).toContain('echo "post_max_size=256M" >> $ini_file');
|
||||||
|
expect(darwin).toContain('echo "short_open_tag=On" >> $ini_file');
|
||||||
|
expect(darwin).toContain('echo "date.timezone=Asia/Kolkata" >> $ini_file');
|
||||||
|
|
||||||
|
darwin = await config.addINIValues(
|
||||||
|
'post_max_size=256M, short_open_tag=On, date.timezone=Asia/Kolkata',
|
||||||
|
'fedora'
|
||||||
|
);
|
||||||
|
expect(darwin).toContain('Platform fedora is not supported');
|
||||||
|
});
|
||||||
|
});
|
80
__tests__/coverage.test.ts
Normal file
80
__tests__/coverage.test.ts
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
import * as config from '../src/config';
|
||||||
|
import * as coverage from '../src/coverage';
|
||||||
|
import * as extensions from '../src/coverage';
|
||||||
|
|
||||||
|
jest.mock('../src/extensions', () => ({
|
||||||
|
addExtension: jest.fn().mockImplementation(extension => {
|
||||||
|
return 'addExtension ' + extension + '\n';
|
||||||
|
})
|
||||||
|
}));
|
||||||
|
|
||||||
|
describe('Config tests', () => {
|
||||||
|
it('checking addCoverage with PCOV on windows', async () => {
|
||||||
|
let win32: string = await coverage.addCoverage('pcov', '7.4', 'win32');
|
||||||
|
expect(win32).toContain('addExtension pcov');
|
||||||
|
expect(win32).toContain(
|
||||||
|
'if(php -m | findstr -i xdebug) { Disable-PhpExtension xdebug C:\\tools\\php'
|
||||||
|
);
|
||||||
|
|
||||||
|
win32 = await coverage.addCoverage('pcov', '7.0', 'win32');
|
||||||
|
expect(win32).toContain('PCOV requires PHP 7.1 or newer');
|
||||||
|
|
||||||
|
win32 = await coverage.addCoverage('pcov', '5.6', 'win32');
|
||||||
|
expect(win32).toContain('PCOV requires PHP 7.1 or newer');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking addCoverage with PCOV on linux', async () => {
|
||||||
|
let linux: string = await coverage.addCoverage('pcov', '7.4', 'linux');
|
||||||
|
expect(linux).toContain('addExtension pcov');
|
||||||
|
expect(linux).toContain('sudo sed -i "/xdebug/d" $ini_file');
|
||||||
|
expect(linux).toContain('sudo phpdismod xdebug');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking addCoverage with PCOV on darwin', async () => {
|
||||||
|
let darwin: string = await coverage.addCoverage('pcov', '7.4', 'darwin');
|
||||||
|
expect(darwin).toContain('addExtension pcov');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking addCoverage with Xdebug on windows', async () => {
|
||||||
|
let win32: string = await coverage.addCoverage('xdebug', '7.3', 'win32');
|
||||||
|
expect(win32).toContain('addExtension xdebug');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking addCoverage with Xdebug on linux', async () => {
|
||||||
|
let linux: string = await coverage.addCoverage('xdebug', '7.4', 'linux');
|
||||||
|
expect(linux).toContain('addExtension xdebug');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking addCoverage with Xdebug on darwin', async () => {
|
||||||
|
let darwin: string = await coverage.addCoverage('xdebug', '7.4', 'darwin');
|
||||||
|
expect(darwin).toContain('addExtension xdebug');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking disableCoverage windows', async () => {
|
||||||
|
let win32 = await coverage.addCoverage('none', '7.4', 'win32');
|
||||||
|
expect(win32).toContain('Disable-PhpExtension xdebug');
|
||||||
|
expect(win32).toContain('Disable-PhpExtension pcov');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking disableCoverage on linux', async () => {
|
||||||
|
let linux: string = await coverage.addCoverage('none', '7.4', 'linux');
|
||||||
|
expect(linux).toContain('sudo phpdismod xdebug');
|
||||||
|
expect(linux).toContain('sudo phpdismod pcov');
|
||||||
|
expect(linux).toContain('sudo sed -i "/xdebug/d" $ini_file');
|
||||||
|
expect(linux).toContain('sudo sed -i "/pcov/d" $ini_file');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking disableCoverage on darwin', async () => {
|
||||||
|
let darwin: string = await coverage.addCoverage('none', '7.4', 'darwin');
|
||||||
|
expect(darwin).toContain('sudo sed -i \'\' "/xdebug/d" $ini_file');
|
||||||
|
expect(darwin).toContain('sudo sed -i \'\' "/pcov/d" $ini_file');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking no or invalid coverage driver', async () => {
|
||||||
|
let nocov: string = await coverage.addCoverage('nocov', '7.x', 'any');
|
||||||
|
expect(nocov).toEqual('');
|
||||||
|
|
||||||
|
nocov = await coverage.addCoverage('', '7.x', 'any');
|
||||||
|
expect(nocov).toEqual('');
|
||||||
|
});
|
||||||
|
});
|
92
__tests__/extensions.test.ts
Normal file
92
__tests__/extensions.test.ts
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
import * as extensions from '../src/extensions';
|
||||||
|
|
||||||
|
let valid_extensions = ['xdebug', 'pcov'];
|
||||||
|
jest.mock('../src/pecl', () => ({
|
||||||
|
checkPECLExtension: jest.fn().mockImplementation(extension => {
|
||||||
|
return valid_extensions.indexOf(extension) !== -1;
|
||||||
|
})
|
||||||
|
}));
|
||||||
|
|
||||||
|
describe('Extension tests', () => {
|
||||||
|
it('checking addExtensionOnWindows', async () => {
|
||||||
|
let win32: string = await extensions.addExtension(
|
||||||
|
'xdebug, pcov',
|
||||||
|
'7.2',
|
||||||
|
'win32'
|
||||||
|
);
|
||||||
|
expect(win32).toContain('Install-PhpExtension xdebug');
|
||||||
|
expect(win32).toContain('Install-PhpExtension pcov');
|
||||||
|
win32 = await extensions.addExtension('xdebug, pcov', '7.4', 'win32');
|
||||||
|
const extension_url: string =
|
||||||
|
'https://xdebug.org/files/php_xdebug-2.8.0beta2-7.4-vc15.dll';
|
||||||
|
expect(win32).toContain(
|
||||||
|
'Invoke-WebRequest -Uri ' +
|
||||||
|
extension_url +
|
||||||
|
' -OutFile C:\\tools\\php\\ext\\php_xdebug.dll'
|
||||||
|
);
|
||||||
|
expect(win32).toContain('Install-PhpExtension pcov');
|
||||||
|
|
||||||
|
win32 = await extensions.addExtension('does_not_exist', '7.2', 'win32');
|
||||||
|
expect(win32).toContain('Could not find does_not_exist for PHP7.2 on PECL');
|
||||||
|
|
||||||
|
win32 = await extensions.addExtension('xdebug', '7.2', 'fedora');
|
||||||
|
expect(win32).toContain('Platform fedora is not supported');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking addExtensionOnLinux', async () => {
|
||||||
|
let linux: string = await extensions.addExtension(
|
||||||
|
'xdebug, pcov',
|
||||||
|
'7.2',
|
||||||
|
'linux'
|
||||||
|
);
|
||||||
|
expect(linux).toContain(
|
||||||
|
'sudo DEBIAN_FRONTEND=noninteractive apt install -y php7.2-xdebug'
|
||||||
|
);
|
||||||
|
expect(linux).toContain(
|
||||||
|
'sudo DEBIAN_FRONTEND=noninteractive apt install -y php7.2-pcov'
|
||||||
|
);
|
||||||
|
|
||||||
|
linux = await extensions.addExtension('xdebug, pcov', '7.4', 'linux');
|
||||||
|
expect(linux).toContain('./xdebug.sh');
|
||||||
|
expect(linux).toContain('./pcov.sh');
|
||||||
|
|
||||||
|
linux = await extensions.addExtension('xdebug', '7.2', 'fedora');
|
||||||
|
expect(linux).toContain('Platform fedora is not supported');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking addExtensionOnDarwin', async () => {
|
||||||
|
let darwin: string = await extensions.addExtension(
|
||||||
|
'xdebug, pcov',
|
||||||
|
'7.2',
|
||||||
|
'darwin'
|
||||||
|
);
|
||||||
|
expect(darwin).toContain('sudo pecl install xdebug');
|
||||||
|
expect(darwin).toContain('sudo pecl install pcov');
|
||||||
|
|
||||||
|
darwin = await extensions.addExtension('pcov', '5.6', 'darwin');
|
||||||
|
expect(darwin).toContain('sudo pecl install pcov');
|
||||||
|
|
||||||
|
darwin = await extensions.addExtension('pcov', '7.2', 'darwin');
|
||||||
|
expect(darwin).toContain('sudo pecl install pcov');
|
||||||
|
|
||||||
|
darwin = await extensions.addExtension('xdebug', '5.6', 'darwin');
|
||||||
|
expect(darwin).toContain('sudo pecl install xdebug-2.5.5');
|
||||||
|
|
||||||
|
darwin = await extensions.addExtension('xdebug', '7.4', 'darwin');
|
||||||
|
expect(darwin).toContain('sh ./xdebug_darwin.sh');
|
||||||
|
|
||||||
|
darwin = await extensions.addExtension('pcov', '7.4', 'darwin');
|
||||||
|
expect(darwin).toContain('sh ./pcov.sh');
|
||||||
|
|
||||||
|
darwin = await extensions.addExtension('xdebug', '7.2', 'darwin');
|
||||||
|
expect(darwin).toContain('sudo pecl install xdebug');
|
||||||
|
|
||||||
|
darwin = await extensions.addExtension('does_not_exist', '7.2', 'darwin');
|
||||||
|
expect(darwin).toContain(
|
||||||
|
'Could not find does_not_exist for PHP7.2 on PECL'
|
||||||
|
);
|
||||||
|
|
||||||
|
darwin = await extensions.addExtension('xdebug', '7.2', 'fedora');
|
||||||
|
expect(darwin).toContain('Platform fedora is not supported');
|
||||||
|
});
|
||||||
|
});
|
@ -1,6 +0,0 @@
|
|||||||
let a = '2';
|
|
||||||
describe('Finder tests', () => {
|
|
||||||
it('checking 2', async () => {
|
|
||||||
expect(a).toBe('2');
|
|
||||||
});
|
|
||||||
});
|
|
15
__tests__/pecl.test.ts
Normal file
15
__tests__/pecl.test.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import * as pecl from '../src/pecl';
|
||||||
|
|
||||||
|
let valid_extensions = ['xdebug', 'pcov'];
|
||||||
|
jest.mock('../src/pecl', () => ({
|
||||||
|
checkPECLExtension: jest.fn().mockImplementation(extension => {
|
||||||
|
return valid_extensions.indexOf(extension) !== -1;
|
||||||
|
})
|
||||||
|
}));
|
||||||
|
|
||||||
|
describe('pecl tests', () => {
|
||||||
|
it('checking checkPECLExtension', async () => {
|
||||||
|
expect(await pecl.checkPECLExtension('extensionDoesNotExist')).toBe(false);
|
||||||
|
expect(await pecl.checkPECLExtension('xdebug')).toBe(true);
|
||||||
|
});
|
||||||
|
});
|
161
__tests__/utils.test.ts
Normal file
161
__tests__/utils.test.ts
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
import * as fs from 'fs';
|
||||||
|
import * as path from 'path';
|
||||||
|
import * as utils from '../src/utils';
|
||||||
|
|
||||||
|
jest.mock('@actions/core', () => ({
|
||||||
|
getInput: jest.fn().mockImplementation(key => {
|
||||||
|
return ['setup-php'].indexOf(key) !== -1 ? key : '';
|
||||||
|
})
|
||||||
|
}));
|
||||||
|
|
||||||
|
async function cleanup(path: string): Promise<void> {
|
||||||
|
fs.unlink(path, error => {
|
||||||
|
if (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
describe('Utils tests', () => {
|
||||||
|
it('checking getInput', async () => {
|
||||||
|
process.env['test'] = 'setup-php';
|
||||||
|
process.env['undefined'] = '';
|
||||||
|
expect(await utils.getInput('test', false)).toBe('setup-php');
|
||||||
|
expect(await utils.getInput('undefined', false)).toBe('');
|
||||||
|
expect(await utils.getInput('setup-php', false)).toBe('setup-php');
|
||||||
|
expect(await utils.getInput('DoesNotExist', false)).toBe('');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking asyncForEach', async () => {
|
||||||
|
let array: Array<number> = [1, 2, 3, 4];
|
||||||
|
let sum: number = 0;
|
||||||
|
await utils.asyncForEach(array, function(num: number): void {
|
||||||
|
sum += num;
|
||||||
|
});
|
||||||
|
expect(sum).toBe(10);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking readScripts', async () => {
|
||||||
|
let rc: string = fs.readFileSync(
|
||||||
|
path.join(__dirname, '../src/scripts/7.4.sh'),
|
||||||
|
'utf8'
|
||||||
|
);
|
||||||
|
let darwin: string = fs.readFileSync(
|
||||||
|
path.join(__dirname, '../src/scripts/darwin.sh'),
|
||||||
|
'utf8'
|
||||||
|
);
|
||||||
|
let linux: string = fs.readFileSync(
|
||||||
|
path.join(__dirname, '../src/scripts/linux.sh'),
|
||||||
|
'utf8'
|
||||||
|
);
|
||||||
|
let win32: string = fs.readFileSync(
|
||||||
|
path.join(__dirname, '../src/scripts/win32.ps1'),
|
||||||
|
'utf8'
|
||||||
|
);
|
||||||
|
expect(await utils.readScript('darwin.sh', '7.4', 'darwin')).toBe(rc);
|
||||||
|
expect(await utils.readScript('darwin.sh', '7.3', 'darwin')).toBe(darwin);
|
||||||
|
expect(await utils.readScript('linux.sh', '7.4', 'linux')).toBe(linux);
|
||||||
|
expect(await utils.readScript('linux.sh', '7.3', 'linux')).toBe(linux);
|
||||||
|
expect(await utils.readScript('win32.ps1', '7.4', 'win32')).toBe(win32);
|
||||||
|
expect(await utils.readScript('win32.ps1', '7.3', 'win32')).toBe(win32);
|
||||||
|
expect(await utils.readScript('fedora.sh', '7.3', 'fedora')).toContain(
|
||||||
|
'Platform fedora is not supported'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking writeScripts', async () => {
|
||||||
|
let testString: string = 'sudo apt-get install php';
|
||||||
|
await utils.writeScript('test.sh', '10', testString);
|
||||||
|
await fs.readFile(path.join(__dirname, '../10test.sh'), function(
|
||||||
|
error: any,
|
||||||
|
data: Buffer
|
||||||
|
) {
|
||||||
|
expect(testString).toBe(data.toString());
|
||||||
|
});
|
||||||
|
await cleanup('./10test.sh');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking extensionArray', async () => {
|
||||||
|
expect(await utils.extensionArray('a, b, php_c, php-d')).toEqual([
|
||||||
|
'a',
|
||||||
|
'b',
|
||||||
|
'c',
|
||||||
|
'd'
|
||||||
|
]);
|
||||||
|
|
||||||
|
expect(await utils.extensionArray('')).toEqual([]);
|
||||||
|
expect(await utils.extensionArray(' ')).toEqual([]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking INIArray', async () => {
|
||||||
|
expect(await utils.INIArray('a=1, b=2, c=3')).toEqual([
|
||||||
|
'a=1',
|
||||||
|
'b=2',
|
||||||
|
'c=3'
|
||||||
|
]);
|
||||||
|
expect(await utils.INIArray('')).toEqual([]);
|
||||||
|
expect(await utils.INIArray(' ')).toEqual([]);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking log', async () => {
|
||||||
|
let message: string = 'Test message';
|
||||||
|
|
||||||
|
let warning_log: string = await utils.log(message, 'win32', 'warning');
|
||||||
|
expect(warning_log).toEqual(
|
||||||
|
"Write-Host '" + message + "' -ForegroundColor yellow"
|
||||||
|
);
|
||||||
|
warning_log = await utils.log(message, 'linux', 'warning');
|
||||||
|
expect(warning_log).toEqual('echo "\\033[33;1m' + message + '\\033[0m"');
|
||||||
|
warning_log = await utils.log(message, 'darwin', 'warning');
|
||||||
|
expect(warning_log).toEqual('echo "\\033[33;1m' + message + '\\033[0m"');
|
||||||
|
|
||||||
|
let error_log: string = await utils.log(message, 'win32', 'error');
|
||||||
|
expect(error_log).toEqual(
|
||||||
|
"Write-Host '" + message + "' -ForegroundColor red"
|
||||||
|
);
|
||||||
|
error_log = await utils.log(message, 'linux', 'error');
|
||||||
|
expect(error_log).toEqual('echo "\\033[31;1m' + message + '\\033[0m"');
|
||||||
|
error_log = await utils.log(message, 'darwin', 'error');
|
||||||
|
expect(error_log).toEqual('echo "\\033[31;1m' + message + '\\033[0m"');
|
||||||
|
|
||||||
|
let success_log: string = await utils.log(message, 'win32', 'success');
|
||||||
|
expect(success_log).toEqual(
|
||||||
|
"Write-Host '" + message + "' -ForegroundColor green"
|
||||||
|
);
|
||||||
|
success_log = await utils.log(message, 'linux', 'success');
|
||||||
|
expect(success_log).toEqual('echo "\\033[32;1m' + message + '\\033[0m"');
|
||||||
|
success_log = await utils.log(message, 'darwin', 'success');
|
||||||
|
expect(success_log).toEqual('echo "\\033[32;1m' + message + '\\033[0m"');
|
||||||
|
|
||||||
|
success_log = await utils.log(message, 'win32', 'success', 'Test win');
|
||||||
|
expect(success_log).toEqual(
|
||||||
|
"Write-Host 'Test win: " + message + "' -ForegroundColor green"
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking log with prefix', async () => {
|
||||||
|
let message: string = 'Test message';
|
||||||
|
let prefix_log: string = await utils.log(
|
||||||
|
message,
|
||||||
|
'linux',
|
||||||
|
'success',
|
||||||
|
'Test Prefix'
|
||||||
|
);
|
||||||
|
expect(prefix_log).toEqual(
|
||||||
|
'echo "\\033[32;1mTest Prefix: ' + message + '\\033[0m"'
|
||||||
|
);
|
||||||
|
prefix_log = await utils.log(message, 'darwin', 'success', 'Test');
|
||||||
|
expect(prefix_log).toEqual(
|
||||||
|
'echo "\\033[32;1mTest: ' + message + '\\033[0m"'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('checking getExtensionPrefix', async () => {
|
||||||
|
expect(await utils.getExtensionPrefix('extensionDoesNotExist')).toEqual(
|
||||||
|
'extension'
|
||||||
|
);
|
||||||
|
expect(await utils.getExtensionPrefix('xsl')).toEqual('extension');
|
||||||
|
expect(await utils.getExtensionPrefix('xdebug')).toEqual('zend_extension');
|
||||||
|
expect(await utils.getExtensionPrefix('opcache')).toEqual('zend_extension');
|
||||||
|
});
|
||||||
|
});
|
12
action.yml
12
action.yml
@ -6,7 +6,17 @@ branding:
|
|||||||
color: 'purple'
|
color: 'purple'
|
||||||
inputs:
|
inputs:
|
||||||
php-version:
|
php-version:
|
||||||
description: 'PHP version to install.'
|
description: 'PHP version to be installed.'
|
||||||
|
required: true
|
||||||
|
extension-csv:
|
||||||
|
description: '(Optional) Comma seperated list of PHP extensions to be installed.'
|
||||||
|
required: false
|
||||||
|
ini-values-csv:
|
||||||
|
description: '(Optional) Custom values you want to set in php.ini'
|
||||||
|
required: false
|
||||||
|
coverage:
|
||||||
|
description: '(Optional) Driver to calculate code coverage (Accepts: xdebug, pcov and none)'
|
||||||
|
required: false
|
||||||
runs:
|
runs:
|
||||||
using: 'node12'
|
using: 'node12'
|
||||||
main: 'lib/install.js'
|
main: 'lib/install.js'
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
# Contributors
|
|
||||||
|
|
||||||
Please submit a Pull Request to the develop branch
|
|
27
examples/codeigniter.yml
Normal file
27
examples/codeigniter.yml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
name: Testing CodeIgniter
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
strategy:
|
||||||
|
max-parallel: 6
|
||||||
|
matrix:
|
||||||
|
operating-system: [ubuntu-latest, windows-latest, macOS-latest]
|
||||||
|
php-versions: ['7.2', '7.3']
|
||||||
|
runs-on: ${{ matrix.operating-system }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Setup PHP, with composer and extensions
|
||||||
|
uses: shivammathur/setup-php@master #https://github.com/shivammathur/setup-php
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, intl, curl, dom
|
||||||
|
coverage: xdebug #optional
|
||||||
|
- name: Install dependencies
|
||||||
|
run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader
|
||||||
|
- name: Test with phpunit in windows
|
||||||
|
if: matrix.operating-system == 'windows-latest'
|
||||||
|
run: .\vendor\bin\phpunit --coverage-text
|
||||||
|
- name: Test with phpunit
|
||||||
|
if: matrix.operating-system != 'windows-latest'
|
||||||
|
run: vendor/bin/phpunit --coverage-text
|
57
examples/laravel-mysql.yml
Normal file
57
examples/laravel-mysql.yml
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
name: Testing Laravel with MySQL
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
laravel:
|
||||||
|
name: Laravel (PHP ${{ matrix.php-versions }})
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
DB_PASSWORD: password
|
||||||
|
BROADCAST_DRIVER: log
|
||||||
|
CACHE_DRIVER: redis
|
||||||
|
QUEUE_CONNECTION: redis
|
||||||
|
SESSION_DRIVER: redis
|
||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
image: mysql:5.7
|
||||||
|
env:
|
||||||
|
MYSQL_ALLOW_EMPTY_PASSWORD: false
|
||||||
|
MYSQL_ROOT_PASSWORD: password
|
||||||
|
MYSQL_DATABASE: laravel
|
||||||
|
ports:
|
||||||
|
- 3306
|
||||||
|
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
ports:
|
||||||
|
- 6379/tcp
|
||||||
|
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
max-parallel: 3
|
||||||
|
matrix:
|
||||||
|
php-versions: ['7.2', '7.3', '7.4']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v1
|
||||||
|
- name: Setup PHP, with composer and extensions
|
||||||
|
uses: shivammathur/setup-php@master #https://github.com/shivammathur/setup-php
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, dom, fileinfo, mysql
|
||||||
|
coverage: xdebug #optional
|
||||||
|
- name: Install Composer dependencies
|
||||||
|
run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader
|
||||||
|
- name: Prepare the application
|
||||||
|
run: |
|
||||||
|
php -r "file_exists('.env') || copy('.env.example', '.env');"
|
||||||
|
php artisan key:generate
|
||||||
|
- name: Clear Config
|
||||||
|
run: php artisan config:clear
|
||||||
|
- name: Run Migration
|
||||||
|
run: php artisan migrate -v
|
||||||
|
env:
|
||||||
|
DB_PORT: ${{ job.services.mysql.ports['3306'] }}
|
||||||
|
- name: Test with phpunit
|
||||||
|
run: vendor/bin/phpunit --coverage-text
|
||||||
|
env:
|
||||||
|
DB_PORT: ${{ job.services.mysql.ports['3306'] }}
|
61
examples/laravel-postgres.yml
Normal file
61
examples/laravel-postgres.yml
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
name: Testing Laravel with PostgreSQL
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
laravel:
|
||||||
|
name: Laravel (PHP ${{ matrix.php-versions }})
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
BROADCAST_DRIVER: log
|
||||||
|
CACHE_DRIVER: redis
|
||||||
|
QUEUE_CONNECTION: redis
|
||||||
|
SESSION_DRIVER: redis
|
||||||
|
DB_CONNECTION: pgsql
|
||||||
|
DB_HOST: localhost
|
||||||
|
DB_PASSWORD: postgres
|
||||||
|
DB_USERNAME: postgres
|
||||||
|
DB_DATABASE: postgres
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:10.8
|
||||||
|
env:
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: postgres
|
||||||
|
POSTGRES_DB: postgres
|
||||||
|
ports:
|
||||||
|
- 5432/tcp
|
||||||
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3
|
||||||
|
redis:
|
||||||
|
image: redis
|
||||||
|
ports:
|
||||||
|
- 6379/tcp
|
||||||
|
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
max-parallel: 3
|
||||||
|
matrix:
|
||||||
|
php-versions: ['7.2', '7.3', '7.4']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v1
|
||||||
|
- name: Setup PHP, with composer and extensions
|
||||||
|
uses: shivammathur/setup-php@master #https://github.com/shivammathur/setup-php
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, dom, fileinfo, pgsql
|
||||||
|
coverage: xdebug #optional
|
||||||
|
- name: Install Composer dependencies
|
||||||
|
run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader
|
||||||
|
- name: Prepare the application
|
||||||
|
run: |
|
||||||
|
php -r "file_exists('.env') || copy('.env.example', '.env');"
|
||||||
|
php artisan key:generate
|
||||||
|
- name: Clear Config
|
||||||
|
run: php artisan config:clear
|
||||||
|
- name: Run Migration
|
||||||
|
run: php artisan migrate -v
|
||||||
|
env:
|
||||||
|
DB_PORT: ${{ job.services.postgres.ports[5432] }}
|
||||||
|
- name: Test with phpunit
|
||||||
|
run: vendor/bin/phpunit --coverage-text
|
||||||
|
env:
|
||||||
|
DB_PORT: ${{ job.services.postgres.ports[5432] }}
|
35
examples/laravel.yml
Normal file
35
examples/laravel.yml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
name: Unit Testing Laravel
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
laravel:
|
||||||
|
name: Laravel (PHP ${{ matrix.php-versions }} on ${{ matrix.operating-system }})
|
||||||
|
runs-on: ${{ matrix.operating-system }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
max-parallel: 6
|
||||||
|
matrix:
|
||||||
|
operating-system: [ubuntu-latest, windows-latest, macOS-latest]
|
||||||
|
php-versions: ['7.2', '7.3']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v1
|
||||||
|
- name: Setup PHP, with composer and extensions
|
||||||
|
uses: shivammathur/setup-php@master #https://github.com/shivammathur/setup-php
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, dom, fileinfo
|
||||||
|
coverage: xdebug #optional
|
||||||
|
- name: Install Composer dependencies
|
||||||
|
run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader
|
||||||
|
- name: Prepare the application
|
||||||
|
run: |
|
||||||
|
php -r "file_exists('.env') || copy('.env.example', '.env');"
|
||||||
|
php artisan key:generate
|
||||||
|
- name: Clear Config
|
||||||
|
run: php artisan config:clear
|
||||||
|
- name: Test with phpunit in windows
|
||||||
|
if: matrix.operating-system == 'windows-latest'
|
||||||
|
run: .\vendor\bin\phpunit --coverage-text
|
||||||
|
- name: Test with phpunit
|
||||||
|
if: matrix.operating-system != 'windows-latest'
|
||||||
|
run: vendor/bin/phpunit --coverage-text
|
27
examples/slim-framework.yml
Normal file
27
examples/slim-framework.yml
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
name: Testing Slim Framework
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
strategy:
|
||||||
|
max-parallel: 6
|
||||||
|
matrix:
|
||||||
|
operating-system: [ubuntu-latest, windows-latest, macOS-latest]
|
||||||
|
php-versions: ['7.2', '7.3']
|
||||||
|
runs-on: ${{ matrix.operating-system }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Setup PHP, with composer and extensions
|
||||||
|
uses: shivammathur/setup-php@master #https://github.com/shivammathur/setup-php
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, simplexml, dom
|
||||||
|
coverage: xdebug #optional
|
||||||
|
- name: Install dependencies
|
||||||
|
run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader
|
||||||
|
- name: Test with phpunit in windows
|
||||||
|
if: matrix.operating-system == 'windows-latest'
|
||||||
|
run: .\vendor\bin\phpunit --coverage-text
|
||||||
|
- name: Test with phpunit
|
||||||
|
if: matrix.operating-system != 'windows-latest'
|
||||||
|
run: vendor/bin/phpunit --coverage-text
|
44
examples/symfony-mysql.yml
Normal file
44
examples/symfony-mysql.yml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
name: Testing Symfony with MySQL
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
laravel:
|
||||||
|
name: Symfony (PHP ${{ matrix.php-versions }})
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
image: mysql:5.7
|
||||||
|
env:
|
||||||
|
MYSQL_ALLOW_EMPTY_PASSWORD: false
|
||||||
|
MYSQL_ROOT_PASSWORD: symfony
|
||||||
|
MYSQL_DATABASE: symfony
|
||||||
|
ports:
|
||||||
|
- 3306
|
||||||
|
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
max-parallel: 3
|
||||||
|
matrix:
|
||||||
|
php-versions: ['7.3']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v1
|
||||||
|
- name: Setup PHP, with composer and extensions
|
||||||
|
uses: shivammathur/setup-php@master #https://github.com/shivammathur/setup-php
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, xml, ctype, iconv, mysql
|
||||||
|
coverage: xdebug #optional
|
||||||
|
- name: Install Composer dependencies
|
||||||
|
run: |
|
||||||
|
composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader
|
||||||
|
- name: Run Migration
|
||||||
|
run: |
|
||||||
|
composer require symfony/orm-pack
|
||||||
|
php bin/console doctrine:schema:update --force || echo "No migrations found or schema update failed"
|
||||||
|
php bin/console doctrine:migrations:migrate || echo "No migrations found or migration failed"
|
||||||
|
env:
|
||||||
|
DATABASE_URL: mysql://root:symfony@127.0.0.1:${{ job.services.mysql.ports['3306'] }}/symfony
|
||||||
|
- name: Run Tests
|
||||||
|
run: |
|
||||||
|
composer require phpunit
|
||||||
|
php bin/phpunit --coverage-text
|
44
examples/symfony-postgres.yml
Normal file
44
examples/symfony-postgres.yml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
name: Testing Symfony with PostgreSQL
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
laravel:
|
||||||
|
name: Symfony (PHP ${{ matrix.php-versions }})
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:10.8
|
||||||
|
env:
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: postgres
|
||||||
|
POSTGRES_DB: postgres
|
||||||
|
ports:
|
||||||
|
- 5432/tcp
|
||||||
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
max-parallel: 3
|
||||||
|
matrix:
|
||||||
|
php-versions: ['7.3']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v1
|
||||||
|
- name: Setup PHP, with composer and extensions
|
||||||
|
uses: shivammathur/setup-php@master #https://github.com/shivammathur/setup-php
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, xml, ctype, iconv, pgsql
|
||||||
|
coverage: xdebug #optional
|
||||||
|
- name: Install Composer dependencies
|
||||||
|
run: |
|
||||||
|
composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader
|
||||||
|
- name: Run Migration
|
||||||
|
run: |
|
||||||
|
composer require symfony/orm-pack
|
||||||
|
php bin/console doctrine:schema:update --force || echo "No migrations found or schema update failed"
|
||||||
|
php bin/console doctrine:migrations:migrate || echo "No migrations found or migration failed"
|
||||||
|
env:
|
||||||
|
DATABASE_URL: postgres://postgres:postgres@127.0.0.1:${{ job.services.postgres.ports[5432] }}/postgres?charset=UTF-8
|
||||||
|
- name: Run Tests
|
||||||
|
run: |
|
||||||
|
composer require phpunit
|
||||||
|
php bin/phpunit --coverage-text
|
29
examples/symfony.yml
Normal file
29
examples/symfony.yml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
name: Unit Testing Symfony
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
laravel:
|
||||||
|
name: Symfony (PHP ${{ matrix.php-versions }} on ${{ matrix.operating-system }})
|
||||||
|
runs-on: ${{ matrix.operating-system }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
max-parallel: 3
|
||||||
|
matrix:
|
||||||
|
operating-system: [ubuntu-latest, windows-latest, macOS-latest]
|
||||||
|
php-versions: ['7.3']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v1
|
||||||
|
- name: Setup PHP, with composer and extensions
|
||||||
|
uses: shivammathur/setup-php@master #https://github.com/shivammathur/setup-php
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, xml, ctype, iconv
|
||||||
|
coverage: xdebug #optional
|
||||||
|
- name: Install Composer dependencies
|
||||||
|
run: |
|
||||||
|
composer require symfony/orm-pack
|
||||||
|
composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader
|
||||||
|
- name: Run Tests
|
||||||
|
run: |
|
||||||
|
composer require phpunit
|
||||||
|
php bin/phpunit --coverage-text
|
60
examples/yii2-mysql.yml
Normal file
60
examples/yii2-mysql.yml
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
name: Testing Yii2 with MySQL
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
laravel:
|
||||||
|
name: Yii2 (PHP ${{ matrix.php-versions }})
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
DB_USERNAME: root
|
||||||
|
DB_PASSWORD: yii
|
||||||
|
TEST_DB_USERNAME: root
|
||||||
|
TEST_DB_PASSWORD: yii
|
||||||
|
DB_CHARSET: utf8
|
||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
image: mysql:5.7
|
||||||
|
env:
|
||||||
|
MYSQL_ALLOW_EMPTY_PASSWORD: false
|
||||||
|
MYSQL_ROOT_PASSWORD: yii
|
||||||
|
MYSQL_DATABASE: yii
|
||||||
|
ports:
|
||||||
|
- 3306
|
||||||
|
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
max-parallel: 3
|
||||||
|
matrix:
|
||||||
|
php-versions: ['7.2', '7.3', '7.4']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v1
|
||||||
|
- name: Set Node.js 10.x
|
||||||
|
uses: actions/setup-node@master
|
||||||
|
with:
|
||||||
|
version: 10.x
|
||||||
|
- name: Setup PHP, with composer and extensions
|
||||||
|
uses: shivammathur/setup-php@master #https://github.com/shivammathur/setup-php
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, intl, gd, imagick, zip, dom, mysql
|
||||||
|
coverage: xdebug #optional
|
||||||
|
- name: Install Composer dependencies
|
||||||
|
run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader
|
||||||
|
- name: Prepare the application
|
||||||
|
run: |
|
||||||
|
php -r "file_exists('.env') || copy('.env.dist', '.env');"
|
||||||
|
php console/yii app/setup
|
||||||
|
npm install --development
|
||||||
|
npm run build
|
||||||
|
env:
|
||||||
|
DB_DSN: mysql:host=127.0.0.1;port=${{ job.services.mysql.ports['3306'] }};dbname=yii
|
||||||
|
TEST_DB_DSN: mysql:host=127.0.0.1;port=${{ job.services.mysql.ports['3306'] }};dbname=yii
|
||||||
|
- name: Run Tests
|
||||||
|
run: |
|
||||||
|
vendor/bin/codecept build
|
||||||
|
php tests/bin/yii app/setup --interactive=0
|
||||||
|
nohup php -S localhost:8080 > yii.log 2>&1 &
|
||||||
|
vendor/bin/codecept run
|
||||||
|
env:
|
||||||
|
DB_DSN: mysql:host=127.0.0.1;port=${{ job.services.mysql.ports['3306'] }};dbname=yii
|
||||||
|
TEST_DB_DSN: mysql:host=127.0.0.1;port=${{ job.services.mysql.ports['3306'] }};dbname=yii
|
60
examples/yii2-postgres.yml
Normal file
60
examples/yii2-postgres.yml
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
name: Testing Yii2 with PostgreSQL
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
laravel:
|
||||||
|
name: Yii2 (PHP ${{ matrix.php-versions }})
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
DB_USERNAME: postgres
|
||||||
|
DB_PASSWORD: postgres
|
||||||
|
TEST_DB_USERNAME: postgres
|
||||||
|
TEST_DB_PASSWORD: postgres
|
||||||
|
DB_CHARSET: utf8
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: postgres:10.8
|
||||||
|
env:
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: postgres
|
||||||
|
POSTGRES_DB: postgres
|
||||||
|
ports:
|
||||||
|
- 5432/tcp
|
||||||
|
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
max-parallel: 3
|
||||||
|
matrix:
|
||||||
|
php-versions: ['7.2', '7.3', '7.4']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v1
|
||||||
|
- name: Set Node.js 10.x
|
||||||
|
uses: actions/setup-node@master
|
||||||
|
with:
|
||||||
|
version: 10.x
|
||||||
|
- name: Setup PHP, with composer and extensions
|
||||||
|
uses: shivammathur/setup-php@master #https://github.com/shivammathur/setup-php
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, intl, gd, imagick, zip, dom, pgsql
|
||||||
|
coverage: xdebug #optional
|
||||||
|
- name: Install Composer dependencies
|
||||||
|
run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader
|
||||||
|
- name: Prepare the application
|
||||||
|
run: |
|
||||||
|
php -r "file_exists('.env') || copy('.env.dist', '.env');"
|
||||||
|
php console/yii app/setup
|
||||||
|
npm install --development
|
||||||
|
npm run build
|
||||||
|
env:
|
||||||
|
DB_DSN: pgsql:host=127.0.0.1;port=${{ job.services.postgres.ports['5432'] }};dbname=postgres
|
||||||
|
TEST_DB_DSN: pgsql:host=127.0.0.1;port=${{ job.services.postgres.ports['5432'] }};dbname=postgres
|
||||||
|
- name: Run Tests
|
||||||
|
run: |
|
||||||
|
vendor/bin/codecept build
|
||||||
|
php tests/bin/yii app/setup --interactive=0
|
||||||
|
nohup php -S localhost:8080 > yii.log 2>&1 &
|
||||||
|
vendor/bin/codecept run
|
||||||
|
env:
|
||||||
|
DB_DSN: pgsql:host=127.0.0.1;port=${{ job.services.postgres.ports['5432'] }};dbname=postgres
|
||||||
|
TEST_DB_DSN: pgsql:host=127.0.0.1;port=${{ job.services.postgres.ports['5432'] }};dbname=postgres
|
29
examples/zend-framework.yml
Normal file
29
examples/zend-framework.yml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
name: Testing Zend Framework
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
strategy:
|
||||||
|
max-parallel: 6
|
||||||
|
matrix:
|
||||||
|
operating-system: [ubuntu-latest, windows-latest, macOS-latest]
|
||||||
|
php-versions: ['7.2', '7.3']
|
||||||
|
runs-on: ${{ matrix.operating-system }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Setup PHP, with composer and extensions
|
||||||
|
uses: shivammathur/setup-php@master #https://github.com/shivammathur/setup-php
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extension-csv: mbstring, bcmath, curl, intl
|
||||||
|
coverage: xdebug #optional
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader
|
||||||
|
composer require --dev phpunit/phpunit squizlabs/php_codesniffer zendframework/zend-test
|
||||||
|
- name: Test with phpunit in windows
|
||||||
|
if: matrix.operating-system == 'windows-latest'
|
||||||
|
run: .\vendor\bin\phpunit --coverage-text
|
||||||
|
- name: Test with phpunit
|
||||||
|
if: matrix.operating-system != 'windows-latest'
|
||||||
|
run: vendor/bin/phpunit --coverage-text
|
@ -7,5 +7,6 @@ module.exports = {
|
|||||||
transform: {
|
transform: {
|
||||||
'^.+\\.ts$': 'ts-jest'
|
'^.+\\.ts$': 'ts-jest'
|
||||||
},
|
},
|
||||||
verbose: true
|
verbose: true,
|
||||||
}
|
collectCoverage: true
|
||||||
|
};
|
77
lib/config.js
Normal file
77
lib/config.js
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
"use strict";
|
||||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||||
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||||
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
||||||
|
result["default"] = mod;
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
const utils = __importStar(require("./utils"));
|
||||||
|
/**
|
||||||
|
* Function to add custom ini values
|
||||||
|
*
|
||||||
|
* @param ini_values_csv
|
||||||
|
* @param os_version
|
||||||
|
*/
|
||||||
|
function addINIValues(ini_values_csv, os_version) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
switch (os_version) {
|
||||||
|
case 'win32':
|
||||||
|
return yield addINIValuesWindows(ini_values_csv);
|
||||||
|
case 'darwin':
|
||||||
|
case 'linux':
|
||||||
|
return yield addINIValuesUnix(ini_values_csv);
|
||||||
|
default:
|
||||||
|
return yield utils.log('Platform ' + os_version + ' is not supported', os_version, 'error', 'Add Config');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.addINIValues = addINIValues;
|
||||||
|
/**
|
||||||
|
* Add script to set custom ini values for unix
|
||||||
|
*
|
||||||
|
* @param ini_values_csv
|
||||||
|
*/
|
||||||
|
function addINIValuesUnix(ini_values_csv) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let script = '\n';
|
||||||
|
let ini_values = yield utils.INIArray(ini_values_csv);
|
||||||
|
yield utils.asyncForEach(ini_values, function (ini_value) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
// add script to set ini value
|
||||||
|
script += 'echo "' + ini_value + '" >> $ini_file\n';
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return script;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.addINIValuesUnix = addINIValuesUnix;
|
||||||
|
/**
|
||||||
|
* Add script to set custom ini values for windows
|
||||||
|
*
|
||||||
|
* @param ini_values_csv
|
||||||
|
*/
|
||||||
|
function addINIValuesWindows(ini_values_csv) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let script = '\n';
|
||||||
|
let ini_values = yield utils.INIArray(ini_values_csv);
|
||||||
|
yield utils.asyncForEach(ini_values, function (ini_value) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
// add script to set ini value
|
||||||
|
script += 'Add-Content C:\\tools\\php\\php.ini "' + ini_value + '"\n';
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return script;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.addINIValuesWindows = addINIValuesWindows;
|
115
lib/coverage.js
Normal file
115
lib/coverage.js
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
"use strict";
|
||||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||||
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||||
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
||||||
|
result["default"] = mod;
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
const utils = __importStar(require("./utils"));
|
||||||
|
const extensions = __importStar(require("./extensions"));
|
||||||
|
const config = __importStar(require("./config"));
|
||||||
|
function addCoverage(coverage_driver, version, os_version) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
coverage_driver.toLowerCase();
|
||||||
|
switch (coverage_driver) {
|
||||||
|
case 'pcov':
|
||||||
|
return addCoveragePCOV(version, os_version);
|
||||||
|
case 'xdebug':
|
||||||
|
return addCoverageXdebug(version, os_version);
|
||||||
|
case 'none':
|
||||||
|
return disableCoverage(version, os_version);
|
||||||
|
default:
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.addCoverage = addCoverage;
|
||||||
|
function addCoverageXdebug(version, os_version) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let script = '\n';
|
||||||
|
script += yield extensions.addExtension('xdebug', version, os_version, 'Set Coverage Driver');
|
||||||
|
script += yield utils.log('Xdebug enabled as coverage driver', os_version, 'success', 'Set Coverage Driver');
|
||||||
|
return script;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.addCoverageXdebug = addCoverageXdebug;
|
||||||
|
function addCoveragePCOV(version, os_version) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let script = '\n';
|
||||||
|
switch (version) {
|
||||||
|
default:
|
||||||
|
script += yield extensions.addExtension('pcov', version, os_version, 'Set Coverage Driver');
|
||||||
|
script += yield config.addINIValues('pcov.enabled=1', os_version);
|
||||||
|
// add command to disable xdebug and enable pcov
|
||||||
|
switch (os_version) {
|
||||||
|
case 'linux':
|
||||||
|
script +=
|
||||||
|
'if [ -e /etc/php/' +
|
||||||
|
version +
|
||||||
|
'/mods-available/xdebug.ini ]; then sudo phpdismod xdebug; fi\n';
|
||||||
|
script += 'sudo sed -i "/xdebug/d" $ini_file\n';
|
||||||
|
break;
|
||||||
|
case 'darwin':
|
||||||
|
script += 'sudo sed -i \'\' "/xdebug/d" $ini_file\n';
|
||||||
|
break;
|
||||||
|
case 'win32':
|
||||||
|
script +=
|
||||||
|
'if(php -m | findstr -i xdebug) { Disable-PhpExtension xdebug C:\\tools\\php }\n';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// success
|
||||||
|
script += yield utils.log('PCOV enabled as coverage driver', os_version, 'success', 'Set Coverage Driver');
|
||||||
|
// version is not supported
|
||||||
|
break;
|
||||||
|
case '5.6':
|
||||||
|
case '7.0':
|
||||||
|
script += yield utils.log('PCOV requires PHP 7.1 or newer', os_version, 'warning', 'Set Coverage Driver');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return script;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.addCoveragePCOV = addCoveragePCOV;
|
||||||
|
function disableCoverage(version, os_version) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let script = '\n';
|
||||||
|
switch (os_version) {
|
||||||
|
case 'linux':
|
||||||
|
script +=
|
||||||
|
'if [ -e /etc/php/' +
|
||||||
|
version +
|
||||||
|
'/mods-available/xdebug.ini ]; then sudo phpdismod xdebug; fi\n';
|
||||||
|
script +=
|
||||||
|
'if [ -e /etc/php/' +
|
||||||
|
version +
|
||||||
|
'/mods-available/pcov.ini ]; then sudo phpdismod pcov; fi\n';
|
||||||
|
script += 'sudo sed -i "/xdebug/d" $ini_file\n';
|
||||||
|
script += 'sudo sed -i "/pcov/d" $ini_file\n';
|
||||||
|
break;
|
||||||
|
case 'darwin':
|
||||||
|
script += 'sudo sed -i \'\' "/xdebug/d" $ini_file\n';
|
||||||
|
script += 'sudo sed -i \'\' "/pcov/d" $ini_file\n';
|
||||||
|
break;
|
||||||
|
case 'win32':
|
||||||
|
script +=
|
||||||
|
'if(php -m | findstr -i xdebug) { Disable-PhpExtension xdebug C:\\tools\\php }\n';
|
||||||
|
script +=
|
||||||
|
'if(php -m | findstr -i pcov) { Disable-PhpExtension pcov C:\\tools\\php }\n';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
script += yield utils.log('Disabled Xdebug and PCOV', os_version, 'success', 'Set Coverage Driver');
|
||||||
|
return script;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.disableCoverage = disableCoverage;
|
245
lib/extensions.js
Normal file
245
lib/extensions.js
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
"use strict";
|
||||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||||
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||||
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
||||||
|
result["default"] = mod;
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
const utils = __importStar(require("./utils"));
|
||||||
|
const pecl = __importStar(require("./pecl"));
|
||||||
|
function addExtension(extension_csv, version, os_version, log_prefix = 'Add Extension') {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
switch (os_version) {
|
||||||
|
case 'win32':
|
||||||
|
return yield addExtensionWindows(extension_csv, version, log_prefix);
|
||||||
|
case 'darwin':
|
||||||
|
return yield addExtensionDarwin(extension_csv, version, log_prefix);
|
||||||
|
case 'linux':
|
||||||
|
return yield addExtensionLinux(extension_csv, version, log_prefix);
|
||||||
|
default:
|
||||||
|
return yield utils.log('Platform ' + os_version + ' is not supported', os_version, 'error', log_prefix);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.addExtension = addExtension;
|
||||||
|
/**
|
||||||
|
* Enable extensions which are installed but not enabled on windows
|
||||||
|
*
|
||||||
|
* @param extension
|
||||||
|
*/
|
||||||
|
function enableExtensionWindows(extension, log_prefix) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
return (`try {
|
||||||
|
$exist = Test-Path -Path $ext_dir\\php_${extension}.dll
|
||||||
|
if(!(php -m | findstr -i ${extension}) -and $exist) {
|
||||||
|
Add-Content C:\\tools\\php\\php.ini "${yield utils.getExtensionPrefix(extension)}=php_${extension}.dll"\n` +
|
||||||
|
(yield utils.log('Enabled ' + extension, 'win32', 'success', log_prefix)) +
|
||||||
|
` } elseif(php -m | findstr -i ${extension}) {\n` +
|
||||||
|
(yield utils.log(extension + ' was already enabled', 'win32', 'success', log_prefix)) +
|
||||||
|
` }
|
||||||
|
} catch [Exception] {\n` +
|
||||||
|
(yield utils.log(extension + ' could not be enabled', 'win32', 'error', log_prefix)) +
|
||||||
|
` }\n`);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.enableExtensionWindows = enableExtensionWindows;
|
||||||
|
/**
|
||||||
|
* Enable extensions which are installed but not enabled on unix
|
||||||
|
*
|
||||||
|
* @param extension
|
||||||
|
* @param os_version
|
||||||
|
*/
|
||||||
|
function enableExtensionUnix(extension, os_version, log_prefix) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
return (`if [ ! "$(php -m | grep -i ${extension})" ] && [ -e "$ext_dir/${extension}.so" ]; then
|
||||||
|
echo "${yield utils.getExtensionPrefix(extension)}=${extension}" >> 'php -i | grep "Loaded Configuration" | sed -e "s|.*=>\s*||"'\n` +
|
||||||
|
(yield utils.log('Enabled ' + extension, os_version, 'success', log_prefix)) +
|
||||||
|
`;\n elif [ "$(php -m | grep -i ${extension})" ]; then \n` +
|
||||||
|
(yield utils.log(extension + ' was already enabled', os_version, 'success', log_prefix)) +
|
||||||
|
`; fi\n`);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.enableExtensionUnix = enableExtensionUnix;
|
||||||
|
/**
|
||||||
|
* Install and enable extensions for darwin
|
||||||
|
*
|
||||||
|
* @param extension_csv
|
||||||
|
* @param version
|
||||||
|
*/
|
||||||
|
function addExtensionDarwin(extension_csv, version, log_prefix) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let extensions = yield utils.extensionArray(extension_csv);
|
||||||
|
let script = '\n';
|
||||||
|
yield utils.asyncForEach(extensions, function (extension) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
extension = extension.toLowerCase();
|
||||||
|
// add script to enable extension is already installed along with php
|
||||||
|
script += yield enableExtensionUnix(extension, 'darwin', log_prefix);
|
||||||
|
switch (yield pecl.checkPECLExtension(extension)) {
|
||||||
|
case true:
|
||||||
|
let install_command = '';
|
||||||
|
switch (version + extension) {
|
||||||
|
case '7.4xdebug':
|
||||||
|
install_command =
|
||||||
|
'sh ./xdebug_darwin.sh >/dev/null 2>&1 && echo "zend_extension=xdebug.so" >> $ini_file';
|
||||||
|
break;
|
||||||
|
case '7.4pcov':
|
||||||
|
install_command =
|
||||||
|
'sh ./pcov.sh >/dev/null 2>&1 && echo "extension=pcov.so" >> $ini_file';
|
||||||
|
break;
|
||||||
|
case '5.6xdebug':
|
||||||
|
install_command = 'sudo pecl install xdebug-2.5.5 >/dev/null 2>&1';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
install_command =
|
||||||
|
'sudo pecl install ' + extension + ' >/dev/null 2>&1';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
script +=
|
||||||
|
'if [ ! "$(php -m | grep -i ' +
|
||||||
|
extension +
|
||||||
|
')" ]; then ' +
|
||||||
|
install_command +
|
||||||
|
' && ' +
|
||||||
|
(yield utils.log('Installed and enabled ' + extension, 'darwin', 'success', log_prefix)) +
|
||||||
|
' || ' +
|
||||||
|
(yield utils.log('Could not install ' + extension + ' on PHP' + version, 'darwin', 'error', log_prefix)) +
|
||||||
|
'; fi\n';
|
||||||
|
break;
|
||||||
|
case false:
|
||||||
|
default:
|
||||||
|
script +=
|
||||||
|
'if [ ! "$(php -m | grep -i ' +
|
||||||
|
extension +
|
||||||
|
')" ]; then \n' +
|
||||||
|
(yield utils.log('Could not find ' + extension + ' for PHP' + version + ' on PECL', 'darwin', 'error', log_prefix)) +
|
||||||
|
'; fi\n';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return script;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.addExtensionDarwin = addExtensionDarwin;
|
||||||
|
/**
|
||||||
|
* Install and enable extensions for windows
|
||||||
|
*
|
||||||
|
* @param extension_csv
|
||||||
|
* @param version
|
||||||
|
*/
|
||||||
|
function addExtensionWindows(extension_csv, version, log_prefix) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let extensions = yield utils.extensionArray(extension_csv);
|
||||||
|
let script = '\n';
|
||||||
|
yield utils.asyncForEach(extensions, function (extension) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
extension = extension.toLowerCase();
|
||||||
|
// add script to enable extension is already installed along with php
|
||||||
|
script += yield enableExtensionWindows(extension, log_prefix);
|
||||||
|
switch (yield pecl.checkPECLExtension(extension)) {
|
||||||
|
case true:
|
||||||
|
let install_command = '';
|
||||||
|
switch (version + extension) {
|
||||||
|
case '7.4xdebug':
|
||||||
|
const extension_url = 'https://xdebug.org/files/php_xdebug-2.8.0beta2-7.4-vc15.dll';
|
||||||
|
install_command =
|
||||||
|
'Invoke-WebRequest -Uri ' +
|
||||||
|
extension_url +
|
||||||
|
' -OutFile C:\\tools\\php\\ext\\php_xdebug.dll\n';
|
||||||
|
install_command += 'Enable-PhpExtension xdebug';
|
||||||
|
break;
|
||||||
|
case '7.2xdebug':
|
||||||
|
default:
|
||||||
|
install_command = 'Install-PhpExtension ' + extension;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
script +=
|
||||||
|
'if(!(php -m | findstr -i ' +
|
||||||
|
extension +
|
||||||
|
')) { ' +
|
||||||
|
'try { ' +
|
||||||
|
install_command +
|
||||||
|
'\n' +
|
||||||
|
(yield utils.log('Installed and enabled ' + extension, 'win32', 'success', log_prefix)) +
|
||||||
|
' } catch [Exception] { ' +
|
||||||
|
(yield utils.log('Could not install ' + extension + ' on PHP' + version, 'win32', 'error', log_prefix)) +
|
||||||
|
' } }\n';
|
||||||
|
break;
|
||||||
|
case false:
|
||||||
|
default:
|
||||||
|
script +=
|
||||||
|
'if(!(php -m | findstr -i ' +
|
||||||
|
extension +
|
||||||
|
')) { ' +
|
||||||
|
(yield utils.log('Could not find ' + extension + ' for PHP' + version + ' on PECL', 'win32', 'error', log_prefix)) +
|
||||||
|
' } \n';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return script;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.addExtensionWindows = addExtensionWindows;
|
||||||
|
/**
|
||||||
|
* Install and enable extensions for linux
|
||||||
|
*
|
||||||
|
* @param extension_csv
|
||||||
|
* @param version
|
||||||
|
*/
|
||||||
|
function addExtensionLinux(extension_csv, version, log_prefix) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let extensions = yield utils.extensionArray(extension_csv);
|
||||||
|
let script = '\n';
|
||||||
|
yield utils.asyncForEach(extensions, function (extension) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
extension = extension.toLowerCase();
|
||||||
|
// add script to enable extension is already installed along with php
|
||||||
|
script += yield enableExtensionUnix(extension, 'linux', log_prefix);
|
||||||
|
let install_command = '';
|
||||||
|
switch (version + extension) {
|
||||||
|
case '7.4xdebug':
|
||||||
|
install_command =
|
||||||
|
'./xdebug.sh >/dev/null 2>&1 && echo "zend_extension=xdebug.so" >> $ini_file';
|
||||||
|
break;
|
||||||
|
case '7.4pcov':
|
||||||
|
install_command =
|
||||||
|
'./pcov.sh >/dev/null 2>&1 && echo "extension=pcov.so" >> $ini_file';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
install_command =
|
||||||
|
'sudo DEBIAN_FRONTEND=noninteractive apt install -y php' +
|
||||||
|
version +
|
||||||
|
'-' +
|
||||||
|
extension +
|
||||||
|
' >/dev/null 2>&1';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
script +=
|
||||||
|
'if [ ! "$(php -m | grep -i ' +
|
||||||
|
extension +
|
||||||
|
')" ]; then ' +
|
||||||
|
install_command +
|
||||||
|
' && ' +
|
||||||
|
(yield utils.log('Installed and enabled ' + extension, 'linux', 'success', log_prefix)) +
|
||||||
|
' || ' +
|
||||||
|
(yield utils.log('Could not find php' + version + '-' + extension + ' on APT repository', 'linux', 'error', log_prefix)) +
|
||||||
|
'; fi\n';
|
||||||
|
});
|
||||||
|
});
|
||||||
|
return script;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.addExtensionLinux = addExtensionLinux;
|
@ -16,42 +16,48 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const core = __importStar(require("@actions/core"));
|
|
||||||
const exec_1 = require("@actions/exec/lib/exec");
|
const exec_1 = require("@actions/exec/lib/exec");
|
||||||
var https = require('https');
|
const core = __importStar(require("@actions/core"));
|
||||||
const fs = require('fs');
|
const utils = __importStar(require("./utils"));
|
||||||
function get_file(filename) {
|
const extensions = __importStar(require("./extensions"));
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
const config = __importStar(require("./config"));
|
||||||
let github_path = 'https://raw.githubusercontent.com/shivammathur/setup-php/develop/src/';
|
const coverage = __importStar(require("./coverage"));
|
||||||
const file = fs.createWriteStream(filename);
|
/**
|
||||||
const request = https.get(github_path + filename, function (response) {
|
* Run the script
|
||||||
response.pipe(file);
|
*/
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function run() {
|
function run() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
try {
|
try {
|
||||||
let version = process.env['php-version'];
|
// taking inputs
|
||||||
if (!version) {
|
let version = yield utils.getInput('php-version', true);
|
||||||
version = core.getInput('php-version', { required: true });
|
let extension_csv = yield utils.getInput('extension-csv', false);
|
||||||
}
|
let ini_values_csv = yield utils.getInput('ini-values-csv', false);
|
||||||
console.log('Input: ' + version);
|
let coverage_driver = yield utils.getInput('coverage', false);
|
||||||
let os_version = process.platform;
|
let os_version = process.platform;
|
||||||
|
// check the os version and run the respective script
|
||||||
if (os_version == 'darwin') {
|
if (os_version == 'darwin') {
|
||||||
yield get_file('darwin.sh');
|
let darwin = yield utils.readScript('darwin.sh', version, os_version);
|
||||||
yield exec_1.exec('sudo chmod a+x darwin.sh');
|
darwin += yield extensions.addExtension(extension_csv, version, os_version);
|
||||||
yield exec_1.exec('./darwin.sh ' + version);
|
darwin += yield config.addINIValues(ini_values_csv, os_version);
|
||||||
|
darwin += yield coverage.addCoverage(coverage_driver, version, os_version);
|
||||||
|
yield utils.writeScript('darwin.sh', version, darwin);
|
||||||
|
yield exec_1.exec('sh ./' + version + 'darwin.sh ' + version);
|
||||||
}
|
}
|
||||||
else if (os_version == 'win32') {
|
else if (os_version == 'win32') {
|
||||||
yield get_file('windows.ps1');
|
let windows = yield utils.readScript('win32.ps1', version, os_version);
|
||||||
yield exec_1.exec('DIR');
|
windows += yield extensions.addExtension(extension_csv, version, os_version);
|
||||||
yield exec_1.exec('powershell .\\windows.ps1 -version ' + version);
|
windows += yield config.addINIValues(ini_values_csv, os_version);
|
||||||
|
windows += yield coverage.addCoverage(coverage_driver, version, os_version);
|
||||||
|
yield utils.writeScript('win32.ps1', version, windows);
|
||||||
|
yield exec_1.exec('powershell .\\' + version + 'win32.ps1 -version ' + version);
|
||||||
}
|
}
|
||||||
else if (os_version == 'linux') {
|
else if (os_version == 'linux') {
|
||||||
yield get_file('linux.sh');
|
let linux = yield utils.readScript('linux.sh', version, os_version);
|
||||||
yield exec_1.exec('sudo chmod a+x linux.sh');
|
linux += yield extensions.addExtension(extension_csv, version, os_version);
|
||||||
yield exec_1.exec('./linux.sh ' + version);
|
linux += yield config.addINIValues(ini_values_csv, os_version);
|
||||||
|
linux += yield coverage.addCoverage(coverage_driver, version, os_version);
|
||||||
|
yield utils.writeScript('linux.sh', version, linux);
|
||||||
|
yield exec_1.exec('./' + version + 'linux.sh ' + version);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
@ -59,6 +65,7 @@ function run() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
run().then(() => {
|
// call the run function
|
||||||
|
run().then(function () {
|
||||||
console.log('done');
|
console.log('done');
|
||||||
});
|
});
|
||||||
|
35
lib/pecl.js
Normal file
35
lib/pecl.js
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
"use strict";
|
||||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||||
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||||
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
||||||
|
result["default"] = mod;
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
const hc = __importStar(require("typed-rest-client/HttpClient"));
|
||||||
|
/**
|
||||||
|
* Function to check if PECL extension exists
|
||||||
|
*
|
||||||
|
* @param extension
|
||||||
|
*/
|
||||||
|
function checkPECLExtension(extension) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
const http = new hc.HttpClient('shivammathur/php-setup', [], {
|
||||||
|
allowRetries: true,
|
||||||
|
maxRetries: 2
|
||||||
|
});
|
||||||
|
const response = yield http.get('https://pecl.php.net/json.php?package=' + extension);
|
||||||
|
return response.message.statusCode === 200;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.checkPECLExtension = checkPECLExtension;
|
@ -1,58 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
|
||||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
||||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
||||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
||||||
});
|
|
||||||
};
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
||||||
result["default"] = mod;
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
const core = __importStar(require("@actions/core"));
|
|
||||||
const exec_1 = require("@actions/exec/lib/exec");
|
|
||||||
var https = require('https');
|
|
||||||
const fs = require('fs');
|
|
||||||
function get_file(filename) {
|
|
||||||
let github_path = 'https://raw.githubusercontent.com/shivammathur/setup-php/develop/src/';
|
|
||||||
const file = fs.createWriteStream(filename);
|
|
||||||
const request = https.get(github_path + filename, function (response) {
|
|
||||||
response.pipe(file);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
function run() {
|
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
|
||||||
try {
|
|
||||||
const version = core.getInput('php-version', { required: true });
|
|
||||||
console.log('Input: ' + version);
|
|
||||||
let os_version = process.platform;
|
|
||||||
if (os_version == 'darwin') {
|
|
||||||
get_file('darwin.sh');
|
|
||||||
yield exec_1.exec('sudo chmod a+x darwin.sh');
|
|
||||||
yield exec_1.exec('./darwin.sh ' + version);
|
|
||||||
}
|
|
||||||
else if (os_version == 'win32') {
|
|
||||||
get_file('windows.ps1');
|
|
||||||
yield exec_1.exec('powershell windows.ps1 -version ' + version);
|
|
||||||
}
|
|
||||||
else if (os_version == 'linux') {
|
|
||||||
get_file('linux.sh');
|
|
||||||
yield exec_1.exec('sudo chmod a+x linux.sh');
|
|
||||||
yield exec_1.exec('./linux.sh ' + version);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (err) {
|
|
||||||
core.setFailed(err.message);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
run().then(() => {
|
|
||||||
console.log('done');
|
|
||||||
});
|
|
@ -1,4 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
let v = process.env['php-version'];
|
|
||||||
console.log(v);
|
|
212
lib/utils.js
Normal file
212
lib/utils.js
Normal file
@ -0,0 +1,212 @@
|
|||||||
|
"use strict";
|
||||||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||||
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||||
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||||
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
||||||
|
result["default"] = mod;
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
const fs = __importStar(require("fs"));
|
||||||
|
const path = __importStar(require("path"));
|
||||||
|
const core = __importStar(require("@actions/core"));
|
||||||
|
function getInput(name, mandatory) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let input = process.env[name];
|
||||||
|
switch (input) {
|
||||||
|
case '':
|
||||||
|
case undefined:
|
||||||
|
return core.getInput(name, { required: mandatory });
|
||||||
|
default:
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.getInput = getInput;
|
||||||
|
/**
|
||||||
|
* Async foreach loop
|
||||||
|
*
|
||||||
|
* @author https://github.com/Atinux
|
||||||
|
* @param array
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
function asyncForEach(array, callback) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
for (let index = 0; index < array.length; index++) {
|
||||||
|
yield callback(array[index], index, array);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.asyncForEach = asyncForEach;
|
||||||
|
/**
|
||||||
|
* Copy config
|
||||||
|
*
|
||||||
|
* @param files
|
||||||
|
*/
|
||||||
|
function readFiles74(files) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
yield asyncForEach(files, function (filename) {
|
||||||
|
fs.createReadStream(path.join(__dirname, '../src/' + filename)).pipe(fs.createWriteStream(filename.split('/')[1], { mode: 0o755 }));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.readFiles74 = readFiles74;
|
||||||
|
/**
|
||||||
|
* Read the scripts
|
||||||
|
*
|
||||||
|
* @param filename
|
||||||
|
* @param version
|
||||||
|
* @param os_version
|
||||||
|
*/
|
||||||
|
function readScript(filename, version, os_version) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
switch (os_version) {
|
||||||
|
case 'darwin':
|
||||||
|
switch (version) {
|
||||||
|
case '7.4':
|
||||||
|
yield readFiles74([
|
||||||
|
'configs/config.yaml',
|
||||||
|
'scripts/xdebug_darwin.sh',
|
||||||
|
'scripts/pcov.sh'
|
||||||
|
]);
|
||||||
|
return fs.readFileSync(path.join(__dirname, '../src/scripts/7.4.sh'), 'utf8');
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'linux':
|
||||||
|
switch (version) {
|
||||||
|
case '7.4':
|
||||||
|
yield readFiles74(['scripts/xdebug.sh', 'scripts/pcov.sh']);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'win32':
|
||||||
|
switch (version) {
|
||||||
|
case '7.4':
|
||||||
|
yield readFiles74(['ext/php_pcov.dll']);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return yield log('Platform ' + os_version + ' is not supported', os_version, 'error');
|
||||||
|
}
|
||||||
|
return fs.readFileSync(path.join(__dirname, '../src/scripts/' + filename), 'utf8');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.readScript = readScript;
|
||||||
|
/**
|
||||||
|
* Write final script which runs
|
||||||
|
*
|
||||||
|
* @param filename
|
||||||
|
* @param version
|
||||||
|
* @param script
|
||||||
|
*/
|
||||||
|
function writeScript(filename, version, script) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
fs.writeFileSync(version + filename, script, { mode: 0o755 });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.writeScript = writeScript;
|
||||||
|
/**
|
||||||
|
* Function to break extension csv into an array
|
||||||
|
* @param extension_csv
|
||||||
|
*/
|
||||||
|
function extensionArray(extension_csv) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
switch (extension_csv) {
|
||||||
|
case '':
|
||||||
|
case ' ':
|
||||||
|
return [];
|
||||||
|
default:
|
||||||
|
return extension_csv.split(',').map(function (extension) {
|
||||||
|
return extension
|
||||||
|
.trim()
|
||||||
|
.replace('php-', '')
|
||||||
|
.replace('php_', '');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.extensionArray = extensionArray;
|
||||||
|
/**
|
||||||
|
* Function to break ini values csv into an array
|
||||||
|
*
|
||||||
|
* @param ini_values_csv
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
|
function INIArray(ini_values_csv) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
switch (ini_values_csv) {
|
||||||
|
case '':
|
||||||
|
case ' ':
|
||||||
|
return [];
|
||||||
|
default:
|
||||||
|
return ini_values_csv.split(',').map(function (ini_value) {
|
||||||
|
return ini_value.trim();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.INIArray = INIArray;
|
||||||
|
function log(message, os_version, log_type, prefix = '') {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
const unix_color = {
|
||||||
|
error: '31',
|
||||||
|
success: '32',
|
||||||
|
warning: '33'
|
||||||
|
};
|
||||||
|
switch (prefix) {
|
||||||
|
case '':
|
||||||
|
prefix = prefix;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
prefix = prefix + ': ';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
switch (os_version) {
|
||||||
|
case 'win32':
|
||||||
|
const color = {
|
||||||
|
error: 'red',
|
||||||
|
success: 'green',
|
||||||
|
warning: 'yellow'
|
||||||
|
};
|
||||||
|
return ("Write-Host '" +
|
||||||
|
prefix +
|
||||||
|
message +
|
||||||
|
"' -ForegroundColor " +
|
||||||
|
color[log_type]);
|
||||||
|
case 'linux':
|
||||||
|
case 'darwin':
|
||||||
|
default:
|
||||||
|
return ('echo "\\033[' +
|
||||||
|
unix_color[log_type] +
|
||||||
|
';1m' +
|
||||||
|
prefix +
|
||||||
|
message +
|
||||||
|
'\\033[0m"');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.log = log;
|
||||||
|
function getExtensionPrefix(extension) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
let zend = ['xdebug', 'opcache', 'ioncube', 'eaccelerator'];
|
||||||
|
switch (zend.indexOf(extension)) {
|
||||||
|
case 0:
|
||||||
|
case 1:
|
||||||
|
return 'zend_extension';
|
||||||
|
case -1:
|
||||||
|
default:
|
||||||
|
return 'extension';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.getExtensionPrefix = getExtensionPrefix;
|
15
node_modules/.bin/acorn
generated
vendored
15
node_modules/.bin/acorn
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../acorn/bin/acorn" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../acorn/bin/acorn" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/acorn.cmd
generated
vendored
7
node_modules/.bin/acorn.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\acorn\bin\acorn" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\acorn\bin\acorn" %*
|
|
||||||
)
|
|
15
node_modules/.bin/atob
generated
vendored
15
node_modules/.bin/atob
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../atob/bin/atob.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../atob/bin/atob.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/atob.cmd
generated
vendored
7
node_modules/.bin/atob.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\atob\bin\atob.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\atob\bin\atob.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/escodegen
generated
vendored
15
node_modules/.bin/escodegen
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../escodegen/bin/escodegen.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../escodegen/bin/escodegen.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/escodegen.cmd
generated
vendored
7
node_modules/.bin/escodegen.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\escodegen\bin\escodegen.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\escodegen\bin\escodegen.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/esgenerate
generated
vendored
15
node_modules/.bin/esgenerate
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../escodegen/bin/esgenerate.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../escodegen/bin/esgenerate.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/esgenerate.cmd
generated
vendored
7
node_modules/.bin/esgenerate.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\escodegen\bin\esgenerate.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\escodegen\bin\esgenerate.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/esparse
generated
vendored
15
node_modules/.bin/esparse
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../esprima/bin/esparse.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../esprima/bin/esparse.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/esparse.cmd
generated
vendored
7
node_modules/.bin/esparse.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\esprima\bin\esparse.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\esprima\bin\esparse.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/esvalidate
generated
vendored
15
node_modules/.bin/esvalidate
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../esprima/bin/esvalidate.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../esprima/bin/esvalidate.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/esvalidate.cmd
generated
vendored
7
node_modules/.bin/esvalidate.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\esprima\bin\esvalidate.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\esprima\bin\esvalidate.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/handlebars
generated
vendored
15
node_modules/.bin/handlebars
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../handlebars/bin/handlebars" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../handlebars/bin/handlebars" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/handlebars.cmd
generated
vendored
7
node_modules/.bin/handlebars.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\handlebars\bin\handlebars" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\handlebars\bin\handlebars" %*
|
|
||||||
)
|
|
15
node_modules/.bin/husky-upgrade
generated
vendored
15
node_modules/.bin/husky-upgrade
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../husky/lib/upgrader/bin.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../husky/lib/upgrader/bin.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/husky-upgrade.cmd
generated
vendored
7
node_modules/.bin/husky-upgrade.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\husky\lib\upgrader\bin.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\husky\lib\upgrader\bin.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/import-local-fixture
generated
vendored
15
node_modules/.bin/import-local-fixture
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../import-local/fixtures/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../import-local/fixtures/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/import-local-fixture.cmd
generated
vendored
7
node_modules/.bin/import-local-fixture.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\import-local\fixtures\cli.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\import-local\fixtures\cli.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/is-ci
generated
vendored
15
node_modules/.bin/is-ci
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../is-ci/bin.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../is-ci/bin.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/is-ci.cmd
generated
vendored
7
node_modules/.bin/is-ci.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\is-ci\bin.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\is-ci\bin.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/jest
generated
vendored
15
node_modules/.bin/jest
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../jest/bin/jest.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../jest/bin/jest.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
15
node_modules/.bin/jest-runtime
generated
vendored
15
node_modules/.bin/jest-runtime
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../jest-runtime/bin/jest-runtime.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../jest-runtime/bin/jest-runtime.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/jest-runtime.cmd
generated
vendored
7
node_modules/.bin/jest-runtime.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\jest-runtime\bin\jest-runtime.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\jest-runtime\bin\jest-runtime.js" %*
|
|
||||||
)
|
|
7
node_modules/.bin/jest.cmd
generated
vendored
7
node_modules/.bin/jest.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\jest\bin\jest.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\jest\bin\jest.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/js-yaml
generated
vendored
15
node_modules/.bin/js-yaml
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../js-yaml/bin/js-yaml.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../js-yaml/bin/js-yaml.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/js-yaml.cmd
generated
vendored
7
node_modules/.bin/js-yaml.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\js-yaml\bin\js-yaml.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\js-yaml\bin\js-yaml.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/jsesc
generated
vendored
15
node_modules/.bin/jsesc
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../jsesc/bin/jsesc" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../jsesc/bin/jsesc" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/jsesc.cmd
generated
vendored
7
node_modules/.bin/jsesc.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\jsesc\bin\jsesc" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\jsesc\bin\jsesc" %*
|
|
||||||
)
|
|
15
node_modules/.bin/json5
generated
vendored
15
node_modules/.bin/json5
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../json5/lib/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../json5/lib/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/json5.cmd
generated
vendored
7
node_modules/.bin/json5.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\json5\lib\cli.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\json5\lib\cli.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/loose-envify
generated
vendored
15
node_modules/.bin/loose-envify
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../loose-envify/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../loose-envify/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/loose-envify.cmd
generated
vendored
7
node_modules/.bin/loose-envify.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\loose-envify\cli.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\loose-envify\cli.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/mkdirp
generated
vendored
15
node_modules/.bin/mkdirp
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../mkdirp/bin/cmd.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../mkdirp/bin/cmd.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/mkdirp.cmd
generated
vendored
7
node_modules/.bin/mkdirp.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\mkdirp\bin\cmd.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\mkdirp\bin\cmd.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/parser
generated
vendored
15
node_modules/.bin/parser
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/parser.cmd
generated
vendored
7
node_modules/.bin/parser.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\@babel\parser\bin\babel-parser.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\@babel\parser\bin\babel-parser.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/prettier
generated
vendored
15
node_modules/.bin/prettier
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../prettier/bin-prettier.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../prettier/bin-prettier.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/prettier.cmd
generated
vendored
7
node_modules/.bin/prettier.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\prettier\bin-prettier.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\prettier\bin-prettier.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/rimraf
generated
vendored
15
node_modules/.bin/rimraf
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../rimraf/bin.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../rimraf/bin.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/rimraf.cmd
generated
vendored
7
node_modules/.bin/rimraf.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\rimraf\bin.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\rimraf\bin.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/run-node
generated
vendored
15
node_modules/.bin/run-node
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/bash" ]; then
|
|
||||||
"$basedir/bash" "$basedir/../run-node/run-node" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
bash "$basedir/../run-node/run-node" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/run-node.cmd
generated
vendored
7
node_modules/.bin/run-node.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\bash.exe" (
|
|
||||||
"%~dp0\bash.exe" "%~dp0\..\run-node\run-node" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
bash "%~dp0\..\run-node\run-node" %*
|
|
||||||
)
|
|
15
node_modules/.bin/sane
generated
vendored
15
node_modules/.bin/sane
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../sane/src/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../sane/src/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/sane.cmd
generated
vendored
7
node_modules/.bin/sane.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\sane\src\cli.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\sane\src\cli.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/sshpk-conv
generated
vendored
15
node_modules/.bin/sshpk-conv
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../sshpk/bin/sshpk-conv" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../sshpk/bin/sshpk-conv" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/sshpk-conv.cmd
generated
vendored
7
node_modules/.bin/sshpk-conv.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\sshpk\bin\sshpk-conv" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\sshpk\bin\sshpk-conv" %*
|
|
||||||
)
|
|
15
node_modules/.bin/sshpk-sign
generated
vendored
15
node_modules/.bin/sshpk-sign
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../sshpk/bin/sshpk-sign" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../sshpk/bin/sshpk-sign" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/sshpk-sign.cmd
generated
vendored
7
node_modules/.bin/sshpk-sign.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\sshpk\bin\sshpk-sign" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\sshpk\bin\sshpk-sign" %*
|
|
||||||
)
|
|
15
node_modules/.bin/sshpk-verify
generated
vendored
15
node_modules/.bin/sshpk-verify
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../sshpk/bin/sshpk-verify" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../sshpk/bin/sshpk-verify" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/sshpk-verify.cmd
generated
vendored
7
node_modules/.bin/sshpk-verify.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\sshpk\bin\sshpk-verify" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\sshpk\bin\sshpk-verify" %*
|
|
||||||
)
|
|
15
node_modules/.bin/ts-jest
generated
vendored
15
node_modules/.bin/ts-jest
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../ts-jest/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../ts-jest/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/ts-jest.cmd
generated
vendored
7
node_modules/.bin/ts-jest.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\ts-jest\cli.js" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\ts-jest\cli.js" %*
|
|
||||||
)
|
|
15
node_modules/.bin/tsc
generated
vendored
15
node_modules/.bin/tsc
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../typescript/bin/tsc" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/tsc.cmd
generated
vendored
7
node_modules/.bin/tsc.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\typescript\bin\tsc" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\typescript\bin\tsc" %*
|
|
||||||
)
|
|
15
node_modules/.bin/tsserver
generated
vendored
15
node_modules/.bin/tsserver
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../typescript/bin/tsserver" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/tsserver.cmd
generated
vendored
7
node_modules/.bin/tsserver.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\typescript\bin\tsserver" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\typescript\bin\tsserver" %*
|
|
||||||
)
|
|
15
node_modules/.bin/uglifyjs
generated
vendored
15
node_modules/.bin/uglifyjs
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../uglify-js/bin/uglifyjs" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../uglify-js/bin/uglifyjs" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
7
node_modules/.bin/uglifyjs.cmd
generated
vendored
7
node_modules/.bin/uglifyjs.cmd
generated
vendored
@ -1,7 +0,0 @@
|
|||||||
@IF EXIST "%~dp0\node.exe" (
|
|
||||||
"%~dp0\node.exe" "%~dp0\..\uglify-js\bin\uglifyjs" %*
|
|
||||||
) ELSE (
|
|
||||||
@SETLOCAL
|
|
||||||
@SET PATHEXT=%PATHEXT:;.JS;=;%
|
|
||||||
node "%~dp0\..\uglify-js\bin\uglifyjs" %*
|
|
||||||
)
|
|
15
node_modules/.bin/watch
generated
vendored
15
node_modules/.bin/watch
generated
vendored
@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
||||||
|
|
||||||
case `uname` in
|
|
||||||
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -x "$basedir/node" ]; then
|
|
||||||
"$basedir/node" "$basedir/../@cnakazawa/watch/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
else
|
|
||||||
node "$basedir/../@cnakazawa/watch/cli.js" "$@"
|
|
||||||
ret=$?
|
|
||||||
fi
|
|
||||||
exit $ret
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user