diff --git a/.travis.yml b/.travis.yml index e32f377..abbe63d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,47 +1,42 @@ -language: php +version: ~> 1.0 -dist: xenial +# Use a manual matrix as composer.json requires "silverstripe/cms": "^4.6", +# This should be changed to "standard-jobs-range-npm" as soon as the lowest recipe +# version in the travis shared jobs matrix is 4.6 +import: + - silverstripe/silverstripe-travis-shared:config/provision/standard.yml -services: - - mysql - - postgresql - -env: - global: - - COMPOSER_ROOT_VERSION=5.x-dev - - TRAVIS_NODE_VERSION="10" - -matrix: +jobs: include: - - php: 7.1 - env: DB=MYSQL RECIPE_VERSION=4.6.x-dev PHPUNIT_TEST=1 PHPCS_TEST=1 - - php: 7.2 - env: DB=MYSQL RECIPE_VERSION=4.6.x-dev PHPUNIT_TEST=1 NPM_TEST=1 - - php: 7.3 - env: DB=PGSQL RECIPE_VERSION=4.6.x-dev PHPUNIT_TEST=1 PHPUNIT_COVERAGE_TEST=1 - php: 7.4 - env: DB=MYSQL RECIPE_VERSION=4.x-dev PHPUNIT_TEST=1 - -before_script: - # Init PHP - - phpenv rehash - - phpenv config-rm xdebug.ini - - echo 'memory_limit=-1' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini - - # Install composer dependencies - - composer validate - - composer require --no-update silverstripe/recipe-cms:$RECIPE_VERSION - - if [[ $DB == PGSQL ]]; then composer require --no-update silverstripe/postgresql:^2 --prefer-dist; fi - - composer install --prefer-source --no-interaction --no-progress --no-suggest --optimize-autoloader --verbose --profile - - if [[ $NPM_TEST ]]; then nvm install $TRAVIS_NODE_VERSION && nvm use $TRAVIS_NODE_VERSION && npm install -g yarn && yarn install --network-concurrency 1 && yarn run build; fi - -script: - - if [[ $PHPUNIT_TEST ]]; then vendor/bin/phpunit; fi - - if [[ $PHPUNIT_COVERAGE_TEST ]]; then phpdbg -qrr vendor/bin/phpunit --coverage-clover=coverage.xml -vvv; fi - - if [[ $PHPCS_TEST ]]; then composer run-script lint; fi - - if [[ $NPM_TEST ]]; then git diff-files --quiet -w --relative=client; fi - - if [[ $NPM_TEST ]]; then git diff -w --no-color --relative=client; fi - - if [[ $NPM_TEST ]]; then yarn run lint; fi - -after_success: - - if [[ $PHPUNIT_COVERAGE_TEST ]]; then bash <(curl -s https://codecov.io/bash) -f coverage.xml; fi + env: + - DB=MYSQL + - REQUIRE_INSTALLER="4.6.x-dev" + - NPM_TEST=1 + - php: 7.1 + env: + - DB=MYSQL + - REQUIRE_INSTALLER="4.6.x-dev" + - PHPUNIT_TEST=1 + - php: 7.2 + env: + - DB=PGSQL + - REQUIRE_INSTALLER="4.6.x-dev" + - PHPUNIT_TEST=1 + - php: 7.3 + env: + - DB=MYSQL + - REQUIRE_INSTALLER="4.7.x-dev" + - PHPUNIT_TEST=1 + - PHPCS_TEST=1 + - php: 7.4 + env: + - DB=MYSQL + - REQUIRE_INSTALLER="4.x-dev" + - PHPUNIT_COVERAGE_TEST=1 + - php: nightly + env: + - DB=MYSQL + - REQUIRE_INSTALLER="4.x-dev" + - PHPUNIT_TEST=1 + - COMPOSER_INSTALL_ARG=--ignore-platform-reqs diff --git a/client/src/images/editablecheckbox.png b/client/src/images/editablecheckbox.png new file mode 100644 index 0000000..07e62c1 Binary files /dev/null and b/client/src/images/editablecheckbox.png differ diff --git a/client/src/images/editablecheckboxgroupfield.png b/client/src/images/editablecheckboxgroupfield.png new file mode 100644 index 0000000..63e34c6 Binary files /dev/null and b/client/src/images/editablecheckboxgroupfield.png differ diff --git a/client/src/images/editabledatefield.png b/client/src/images/editabledatefield.png new file mode 100644 index 0000000..ff86651 Binary files /dev/null and b/client/src/images/editabledatefield.png differ diff --git a/client/src/images/editabledropdown.png b/client/src/images/editabledropdown.png new file mode 100644 index 0000000..9d9b368 Binary files /dev/null and b/client/src/images/editabledropdown.png differ diff --git a/client/src/images/editableemailfield.png b/client/src/images/editableemailfield.png new file mode 100644 index 0000000..8c107b6 Binary files /dev/null and b/client/src/images/editableemailfield.png differ diff --git a/client/src/images/editablefilefield.png b/client/src/images/editablefilefield.png new file mode 100644 index 0000000..df4f273 Binary files /dev/null and b/client/src/images/editablefilefield.png differ diff --git a/client/src/images/editableformheading.png b/client/src/images/editableformheading.png new file mode 100644 index 0000000..7742eed Binary files /dev/null and b/client/src/images/editableformheading.png differ diff --git a/client/src/images/editableliteralfield.png b/client/src/images/editableliteralfield.png new file mode 100644 index 0000000..ded3cbc Binary files /dev/null and b/client/src/images/editableliteralfield.png differ diff --git a/client/src/images/editablememberlistfield.png b/client/src/images/editablememberlistfield.png new file mode 100644 index 0000000..9d9b368 Binary files /dev/null and b/client/src/images/editablememberlistfield.png differ diff --git a/client/src/images/editablenumericfield.png b/client/src/images/editablenumericfield.png new file mode 100644 index 0000000..088fe24 Binary files /dev/null and b/client/src/images/editablenumericfield.png differ diff --git a/client/src/images/editablepasswordfield.png b/client/src/images/editablepasswordfield.png new file mode 100644 index 0000000..a359328 Binary files /dev/null and b/client/src/images/editablepasswordfield.png differ diff --git a/client/src/images/editableradiofield.png b/client/src/images/editableradiofield.png new file mode 100644 index 0000000..f1f3c15 Binary files /dev/null and b/client/src/images/editableradiofield.png differ diff --git a/client/src/images/editabletextfield.png b/client/src/images/editabletextfield.png new file mode 100644 index 0000000..7aabfab Binary files /dev/null and b/client/src/images/editabletextfield.png differ diff --git a/client/src/images/sitetree_icon.png b/client/src/images/sitetree_icon.png new file mode 100644 index 0000000..f9b42cc Binary files /dev/null and b/client/src/images/sitetree_icon.png differ diff --git a/composer.json b/composer.json index c3db16a..e746d32 100644 --- a/composer.json +++ b/composer.json @@ -38,7 +38,7 @@ "silverstripe/mimevalidator": "^2.0" }, "require-dev": { - "phpunit/phpunit": "^5.7", + "sminnee/phpunit": "^5.7", "squizlabs/php_codesniffer": "^3.0" }, "autoload": { diff --git a/package.json b/package.json index f1f11d3..fe7c901 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,8 @@ "lint": "yarn lint-js && yarn lint-sass", "lint-js": "eslint client/src", "lint-js-fix": "eslint client/src --fix", - "lint-sass": "sass-lint client/src" + "lint-sass": "sass-lint client/src", + "test": "true" }, "repository": { "type": "git", @@ -31,7 +32,8 @@ "homepage": "https://github.com/silverstripe/silverstripe-userforms#readme", "devDependencies": { "@silverstripe/eslint-config": "^0.0.5", - "@silverstripe/webpack-config": "^1.3.0" + "@silverstripe/webpack-config": "^1.3.0", + "copy-webpack-plugin": "^4" }, "dependencies": { "babel-preset-es2016": "^6.24.1", diff --git a/phpcs.xml.dist b/phpcs.xml.dist index 520265e..614ab2a 100644 --- a/phpcs.xml.dist +++ b/phpcs.xml.dist @@ -2,6 +2,9 @@ CodeSniffer ruleset for SilverStripe coding conventions. + code + tests + diff --git a/webpack.config.js b/webpack.config.js index 33f1d35..ee76b81 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,6 +1,7 @@ const Path = require('path'); // Import the core config const webpackConfig = require('@silverstripe/webpack-config'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); const { resolveJS, externalJS, @@ -49,7 +50,11 @@ const config = [ resolve: resolveJS(ENV, PATHS), externals: externalJS(ENV, PATHS), module: moduleJS(ENV, PATHS), - plugins: pluginJS(ENV, PATHS), + plugins: pluginJS(ENV, PATHS).concat([ + new CopyWebpackPlugin([ + { from: 'client/src/images', to: 'images' }, + ]) + ]) }, { name: 'css',