From b37d7922eaa673bb3d8c7839beaa6f72b4d9434b Mon Sep 17 00:00:00 2001 From: Josh Crawford Date: Sat, 10 Feb 2018 23:43:59 +1100 Subject: [PATCH] Craft 3 migration --- .gitignore | 1 + CHANGELOG.md | 7 + LICENSE.md | 9 + README.md | 14 + changelog.json | 161 -- composer.json | 53 + config.codekit3 | 2450 +++++++++++++++++ imageresizer/ImageResizerPlugin.php | 192 -- .../controllers/ImageResizerController.php | 151 - .../ImageResizer_LogsController.php | 24 - .../ImageResizer_CropImageElementAction.php | 30 - .../ImageResizer_ResizeImageElementAction.php | 24 - imageresizer/models/ImageResizer_LogModel.php | 61 - .../resources/css/CropElementAction.css | 37 - .../resources/js/CropElementAction.js | 269 -- .../resources/lib/imagesloaded.pkgd.min.js | 7 - imageresizer/services/ImageResizerService.php | 141 - .../services/ImageResizer_CropService.php | 91 - .../services/ImageResizer_LogsService.php | 104 - .../services/ImageResizer_ResizeService.php | 169 -- imageresizer/tasks/ImageResizerTask.php | 70 - imageresizer/templates/_layouts/index.html | 35 - imageresizer/templates/logs/index.html | 65 - imageresizer/templates/settings/index.html | 154 -- .../variables/ImageResizerVariable.php | 26 - screenshots/cropping.png | Bin 322732 -> 0 bytes screenshots/elementactions.png | Bin 39804 -> 0 bytes screenshots/logs.png | Bin 99160 -> 0 bytes screenshots/resizeelementaction-logs.png | Bin 40134 -> 0 bytes screenshots/resizeelementaction.png | Bin 62561 -> 0 bytes src/ImageResizer.php | 156 ++ src/assetbundles/ImageResizerAsset.php | 31 + src/base/PluginTrait.php | 40 + src/controllers/BaseController.php | 118 + src/controllers/LogsController.php | 32 + src/elementactions/ResizeImage.php | 38 + {imageresizer/resources => src}/icon.svg | 0 src/jobs/ImageResize.php | 90 + src/models/Log.php | 92 + src/models/Settings.php | 30 + src/resources/dist/css/image-resizer.css | 1 + src/resources/dist/js/image-resizer.js | 2 + src/resources/dist/js/image-resizer.js.map | 1 + .../src/js/_resize-element-action.js | 69 +- .../resources/src/js/_settings.js | 9 +- src/resources/src/js/_tabs.js | 64 + src/resources/src/js/image-resizer.js | 11 + src/resources/src/scss/_base.scss | 76 + .../resources/src/scss/_logs.scss | 13 +- .../src/scss/_resize-element-action.scss | 2 +- .../resources/src/scss/_settings.scss | 22 +- src/resources/src/scss/image-resizer.scss | 11 + src/services/Logs.php | 134 + src/services/Resize.php | 205 ++ src/services/Service.php | 166 ++ src/templates/_layouts/index.html | 42 + .../templates/_macros/index.html | 18 +- src/templates/_svg/verbb-logo.svg | 17 + src/templates/logs/index.html | 64 + src/templates/settings.html | 1 + src/templates/settings/index.html | 112 + 61 files changed, 4144 insertions(+), 1868 deletions(-) mode change 100644 => 100755 .gitignore create mode 100644 CHANGELOG.md create mode 100755 LICENSE.md mode change 100644 => 100755 README.md delete mode 100644 changelog.json create mode 100755 composer.json create mode 100644 config.codekit3 delete mode 100644 imageresizer/ImageResizerPlugin.php delete mode 100644 imageresizer/controllers/ImageResizerController.php delete mode 100644 imageresizer/controllers/ImageResizer_LogsController.php delete mode 100644 imageresizer/elementactions/ImageResizer_CropImageElementAction.php delete mode 100644 imageresizer/elementactions/ImageResizer_ResizeImageElementAction.php delete mode 100644 imageresizer/models/ImageResizer_LogModel.php delete mode 100644 imageresizer/resources/css/CropElementAction.css delete mode 100644 imageresizer/resources/js/CropElementAction.js delete mode 100755 imageresizer/resources/lib/imagesloaded.pkgd.min.js delete mode 100644 imageresizer/services/ImageResizerService.php delete mode 100644 imageresizer/services/ImageResizer_CropService.php delete mode 100644 imageresizer/services/ImageResizer_LogsService.php delete mode 100644 imageresizer/services/ImageResizer_ResizeService.php delete mode 100644 imageresizer/tasks/ImageResizerTask.php delete mode 100644 imageresizer/templates/_layouts/index.html delete mode 100644 imageresizer/templates/logs/index.html delete mode 100644 imageresizer/templates/settings/index.html delete mode 100644 imageresizer/variables/ImageResizerVariable.php delete mode 100644 screenshots/cropping.png delete mode 100644 screenshots/elementactions.png delete mode 100644 screenshots/logs.png delete mode 100644 screenshots/resizeelementaction-logs.png delete mode 100644 screenshots/resizeelementaction.png create mode 100755 src/ImageResizer.php create mode 100644 src/assetbundles/ImageResizerAsset.php create mode 100644 src/base/PluginTrait.php create mode 100644 src/controllers/BaseController.php create mode 100644 src/controllers/LogsController.php create mode 100644 src/elementactions/ResizeImage.php rename {imageresizer/resources => src}/icon.svg (100%) create mode 100644 src/jobs/ImageResize.php create mode 100644 src/models/Log.php create mode 100644 src/models/Settings.php create mode 100644 src/resources/dist/css/image-resizer.css create mode 100644 src/resources/dist/js/image-resizer.js create mode 100644 src/resources/dist/js/image-resizer.js.map rename imageresizer/resources/js/ResizeElementAction.js => src/resources/src/js/_resize-element-action.js (74%) rename imageresizer/resources/js/settings.js => src/resources/src/js/_settings.js (92%) create mode 100644 src/resources/src/js/_tabs.js create mode 100644 src/resources/src/js/image-resizer.js create mode 100644 src/resources/src/scss/_base.scss rename imageresizer/resources/css/Logs.css => src/resources/src/scss/_logs.scss (79%) rename imageresizer/resources/css/ResizeElementAction.css => src/resources/src/scss/_resize-element-action.scss (97%) rename imageresizer/resources/css/Settings.css => src/resources/src/scss/_settings.scss (75%) create mode 100644 src/resources/src/scss/image-resizer.scss create mode 100644 src/services/Logs.php create mode 100644 src/services/Resize.php create mode 100644 src/services/Service.php create mode 100644 src/templates/_layouts/index.html rename {imageresizer => src}/templates/_macros/index.html (85%) create mode 100644 src/templates/_svg/verbb-logo.svg create mode 100644 src/templates/logs/index.html create mode 100755 src/templates/settings.html create mode 100644 src/templates/settings/index.html diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index 9050405..66c5035 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ .idea .project .settings +.map *.esproj *.sublime-workspace *.sublime-project diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..8ea095d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +# Changelog + +## 2.0.0 - 2018-02-10 + +### Added +- Craft 3 initial release. + diff --git a/LICENSE.md b/LICENSE.md new file mode 100755 index 0000000..f25381c --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright (c) 2017 Verbb + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 3a346b8..ab72f19 --- a/README.md +++ b/README.md @@ -8,6 +8,20 @@ Image Resizer is a Craft plugin that resizes your assets when they are uploaded. This allows huge images to be resized so as not to use up unnecessary disk space, but still kept at a reasonable resolution. This plugin is not a replacement for using image transforms throughout your site. +## Download + +While Craft 3 is still in beta, you'll need to use Composer to download and install the plugin. + +1. Open your terminal and go to your Craft project: + + cd /path/to/project + +2. Then tell Composer to load the plugin: + + composer require verbb/image-resizer + +3. In the Control Panel, go to Settings → Plugins and click the “Install” button for Image Resizer. + ## Documentation Visit the [Image Resizer Plugin page](https://verbb.io/craft-plugins/image-resizer) for all documentation, guides, pricing and developer resources. diff --git a/changelog.json b/changelog.json deleted file mode 100644 index afcb5df..0000000 --- a/changelog.json +++ /dev/null @@ -1,161 +0,0 @@ -[ - { - "version": "1.1.0", - "downloadUrl": "https://github.com/verbb/image-resizer/archive/1.1.0.zip", - "date": "2018-01-16T00:00:00+10:00", - "notes": [ - "[Added] Skip resizing of remote assets because their are tricky to handle in craft 2.", - "[Fixed] Uploading SVG with resize generates an error.", - "[Fixed] 'originals' folders don't get created on upload.", - "[Fixed] Cropping errors for svg and remote assets.", - "[Fixed] Resizing images from s3 source with 'keepOriginals' flag breaks.", - "[Fixed] Resizing existing S3 images errors.", - "[Improved] Use default image quality if not set.", - "[Improved] Optimized 'Resize on upload' settings handling." - ] - }, - { - "version": "1.0.2", - "downloadUrl": "https://github.com/verbb/image-resizer/archive/1.0.2.zip", - "date": "2018-01-11T00:00:00+10:00", - "notes": [ - "[Improved] Non-destructive on Cropping now copies the original asset, instead of just the file.", - "[Fixed] Bulk Resize stops if a non-image exists in the directory." - ] - }, - { - "version": "1.0.1", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/1.0.1.zip", - "date": "2017-10-18T00:00:00+10:00", - "notes": [ - "[Added] Verbb marketing (new plugin icon, readme, etc).", - "[Fixed] Ensure custom order for crop options is respected (and automatically selected).", - "[Fixed] Fix issue for remote images not correctly reading image dimensions (causing incorrect cropping).", - "[Fixed] Use ImagesLoaded.js for better UI feedback when dealing with large or remote images.", - "[Fixed] Fix issue when clearing logs." - ] - }, - { - "version": "1.0.0", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/1.0.0.zip", - "date": "2017-03-26T09:30:00+10:00", - "notes": [ - "[Added] Added brand new logging system showing success/skips/error. Also shows summary after bulk-resizing images (in the modal window).", - "[Added] Added non-destructive options for resizing and cropping. Originals will be saved in an `originals` folder relative to your asset.", - "[Added] Added a `Clear pending tasks` button to Settings > Other.", - "[Improved] Cropping and resizing now preserves EXIF and other metadata for images.", - "[Improved] Resizing tasks refactored, which makes better sense rather than re-using the `assets.onBeforeUploadAsset` event.", - "[Improved] Refactor plugin templates for common layout.", - "[Fixed] Properly implement translations throughout the plugin.", - "[Fixed] Fixes for Craft 2.6.2962 and Craft 2.6.2951." - ] - }, - { - "version": "0.1.4", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/0.1.4.zip", - "date": "2016-06-29T14:22:00+10:00", - "notes": [ - "[Added] Permissions added for crop and resize element actions. Choose whether your users have access to these functions.", - "[Improved] Non-admins can now crop or resize images." - ] - }, - { - "version": "0.1.3", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/0.1.3.zip", - "date": "2016-06-24T14:15:00+10:00", - "notes": [ - "[Added] You can now specify width and height sizes on-demand in the Resizing modal window.", - "[Added] Resizing can be done on an entire folder through Image Resizer settings (Bulk Resize tab).", - "[Added] Allow custom aspect ratios to be defined for cropping.", - "[Improved] Resizing now checks if the resulting file size is larger than the original. If larger, no action is taken.", - "[Improved] You can now specify per-asset source settings, with fallbacks to your global settings." - ] - }, - { - "version": "0.1.2", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/0.1.2.zip", - "date": "2016-02-24T23:15:00+10:00", - "notes": [ - "[Added] Added support for Amazon S3, Rackspace Cloud Files, and Google Cloud Storage asset sources.", - "[Improved] Using `assets.onBeforeUploadAsset` instead of `assets.onSaveAsset`.", - "[Improved] Elements now auto-refresh after crop or resize.", - "[Improved] Refactoring for better performance." - ] - }, - { - "version": "0.1.1", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/0.1.1.zip", - "date": "2016-01-13T18:15:00+10:00", - "notes": [ - "[Fixed] Fixed issue with plugin release feed url." - ] - }, - { - "version": "0.1.0", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/0.1.0.zip", - "date": "2015-12-02T08:30:00+10:00", - "notes": [ - "[Added] Craft 2.5 support, including release feed and icons." - ] - }, - { - "version": "0.0.7", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/0.0.7.zip", - "date": "2015-10-03T00:00:00+10:00", - "notes": [ - "[Improved] Better error-catching for resizing.", - "[Fixed] Fix to ensure images uploaded are both an image, and manipulatable." - ] - }, - { - "version": "0.0.6", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/0.0.6.zip", - "date": "2015-09-25T00:00:00+10:00", - "notes": [ - "[Added] Added cropping option to Element Actions." - ] - }, - { - "version": "0.0.5", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/0.0.5.zip", - "date": "2015-09-24T00:00:00+10:00", - "notes": [ - "[Improved] Performance improvements - now uses Tasks to handle batch resizing." - ] - }, - { - "version": "0.0.4", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/0.0.4.zip", - "date": "2015-09-22T00:00:00+10:00", - "notes": [ - "[Fixed] Fix to make sure environment variables are parsed for asset sources." - ] - }, - { - "version": "0.0.3", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/0.0.3.zip", - "date": "2015-09-21T00:00:00+10:00", - "notes": [ - "[Added] Added batch processing for existing assets.", - "[Added] Added image quality option." - ] - }, - { - "version": "0.0.2", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/0.0.2.zip", - "date": "2015-09-20T00:00:00+10:00", - "notes": [ - "[Added] Added option to restrict resizing to specific Asset sources.", - "[Improved] Moved hook from `onBeforeSaveAsset` to `onSaveAsset`.", - "[Improved] Asset record is updated after resize, reflecting new image width/height/size." - ] - }, - { - "version": "0.0.1", - "downloadUrl": "https://github.com/engram-design/ImageResizer/archive/0.0.1.zip", - "date": "2015-09-19T00:00:00+10:00", - "notes": [ - "Initial release" - ] - } -] diff --git a/composer.json b/composer.json new file mode 100755 index 0000000..8b7af0b --- /dev/null +++ b/composer.json @@ -0,0 +1,53 @@ +{ + "name": "verbb/image-resizer", + "description": "Image Resizer is a Craft plugin that resizes your assets when they are uploaded.", + "type": "craft-plugin", + "version": "2.0.0", + "keywords": [ + "craft", + "cms", + "craftcms", + "craft-plugin", + "example" + ], + "support": { + "email": "support@verbb.io", + "issues": "https://github.com/verbb/image-resizer/issues?state=open", + "source": "https://github.com/verbb/image-resizer", + "docs": "https://github.com/verbb/image-resizer", + "rss": "https://github.com/verbb/image-resizer/commits/v2.atom" + }, + "license": "MIT", + "authors": [ + { + "name": "Verbb", + "homepage": "https://verbb.io" + } + ], + "require": { + "craftcms/cms": "^3.0.0-RC1", + "lsolesen/pel": "^0.9.6" + }, + "repositories": [ + { + "type": "composer", + "url": "https://asset-packagist.org" + } + ], + "autoload": { + "psr-4": { + "verbb\\imageresizer\\": "src/" + } + }, + "extra": { + "name": "Image Resizer", + "handle": "image-resizer", + "description": "Image Resizer resizes your assets when they are uploaded.", + "schemaVersion": "2.0.0", + "hasCpSettings": true, + "hasCpSection": false, + "documentationUrl": "https://github.com/verbb/image-resizer", + "changelogUrl": "https://raw.githubusercontent.com/verbb/image-resizer/craft-3/CHANGELOG.md", + "class": "verbb\\imageresizer\\ImageResizer" + } +} diff --git a/config.codekit3 b/config.codekit3 new file mode 100644 index 0000000..0429660 --- /dev/null +++ b/config.codekit3 @@ -0,0 +1,2450 @@ +{ +"AAInfo": "This is a CodeKit 3 project config file. MODIFYING THE CONTENTS OF THIS FILE IS A POOR LIFE DECISION. Doing so will cause CodeKit to crash and\/or corrupt your project. I know it looks like JSON, but it is *not*. Many numbers in this file are 64-bit long long bitFlags, which JSON does not support. These numbers *cannot* be treated as discrete values and if you attempt to parse this file as standard JSON with any public JSON parser, these values will be corrupted. This file is not backwards-compatible with CodeKit 1 or 2. For more information, see https:\/\/codekitapp.com\/", +"buildSteps": [ + { + "name": "Process All Remaining Files and Folders", + "stepType": 1, + "uuidString": "ECE3F09A-2816-43C6-9715-3F4A30BD28C5" + } + ], +"creatorBuild": "26261", +"files": { + "\/.github\/ISSUE_TEMPLATE": { + "cB": 0, + "ft": 8192, + "oA": 2, + "oAP": "\/.github\/ISSUE_TEMPLATE", + "oF": 0 + }, + "\/.gitignore": { + "cB": 0, + "ft": 8192, + "oA": 2, + "oAP": "\/.gitignore", + "oF": 0 + }, + "\/CHANGELOG.md": { + "cB": 0, + "cS": 0, + "eF": 1, + "eL": 1, + "ema": 1, + "eSQ": 1, + "ft": 4096, + "oA": 1, + "oAP": "\/CHANGELOG.html", + "oF": 0, + "oFM": 0, + "oS": 0, + "pHT": 0, + "pME": 1, + "rFN": 0, + "uCM": 0 + }, + "\/composer.json": { + "ft": 524288, + "oA": 1, + "oAP": "\/composer-min.json", + "oF": 0, + "oO": 0, + "oS": 1 + }, + "\/LICENSE.md": { + "cB": 0, + "cS": 0, + "eF": 1, + "eL": 1, + "ema": 1, + "eSQ": 1, + "ft": 4096, + "oA": 1, + "oAP": "\/LICENSE.html", + "oF": 0, + "oFM": 0, + "oS": 0, + "pHT": 0, + "pME": 1, + "rFN": 0, + "uCM": 0 + }, + "\/README.md": { + "cB": 0, + "cS": 0, + "eF": 1, + "eL": 1, + "ema": 1, + "eSQ": 1, + "ft": 4096, + "oA": 1, + "oAP": "\/README.html", + "oF": 0, + "oFM": 0, + "oS": 0, + "pHT": 0, + "pME": 1, + "rFN": 0, + "uCM": 0 + }, + "\/src\/assetbundles": { + "ft": 65536, + "oA": 1, + "oAP": "\/build\/src\/assetbundles", + "oF": 0 + }, + "\/src\/base": { + "ft": 65536, + "oA": 1, + "oAP": "\/build\/src\/base", + "oF": 0 + }, + "\/src\/controllers": { + "ft": 65536, + "oA": 1, + "oAP": "\/build\/src\/controllers", + "oF": 0 + }, + "\/src\/elementactions\/ResizeImage.php": { + "cB": 0, + "ft": 8192, + "oA": 2, + "oAP": "\/src\/elementactions\/ResizeImage.php", + "oF": 0 + }, + "\/src\/icon.svg": { + "ft": 2097152, + "miP": 0, + "oA": 2, + "oAP": "\/src\/icon.svg", + "oF": 0, + "opt": 0, + "plM": 3758088159, + "prP": 0 + }, + "\/src\/ImageResizer.php": { + "cB": 0, + "ft": 8192, + "oA": 2, + "oAP": "\/src\/ImageResizer.php", + "oF": 0 + }, + "\/src\/jobs\/ImageResize.php": { + "cB": 0, + "ft": 8192, + "oA": 2, + "oAP": "\/src\/jobs\/ImageResize.php", + "oF": 0 + }, + "\/src\/models": { + "ft": 65536, + "oA": 1, + "oAP": "\/build\/src\/models", + "oF": 0 + }, + "\/src\/resources\/dist\/css\/image-resizer.css": { + "aP": 1, + "bl": 0, + "ft": 16, + "ma": 0, + "oA": 0, + "oAP": "\/src\/resources\/dist\/css\/image-resizer-min.css", + "oF": 0, + "oS": 3 + }, + "\/src\/resources\/dist\/js\/image-resizer.js": { + "ft": 64, + "ma": 1, + "mi": 1, + "oA": 0, + "oAP": "\/src\/resources\/dist\/js\/image-resizer.js", + "oF": 0, + "sC": 0, + "tS": 0 + }, + "\/src\/resources\/dist\/js\/image-resizer.js.map": { + "cB": 0, + "ft": 8192, + "oA": 2, + "oAP": "\/src\/resources\/dist\/js\/image-resizer.js.map", + "oF": 0 + }, + "\/src\/resources\/src\/js\/_resize-element-action.js": { + "ft": 64, + "ma": 1, + "mi": 1, + "oA": 1, + "oAP": "\/src\/resources\/dist\/js\/_resize-element-action.js", + "oF": 0, + "sC": 0, + "tS": 0 + }, + "\/src\/resources\/src\/js\/_settings.js": { + "ft": 64, + "ma": 1, + "mi": 1, + "oA": 1, + "oAP": "\/src\/resources\/dist\/js\/_settings.js", + "oF": 0, + "sC": 0, + "tS": 0 + }, + "\/src\/resources\/src\/js\/_tabs.js": { + "ft": 64, + "ma": 1, + "mi": 1, + "oA": 1, + "oAP": "\/src\/resources\/dist\/js\/_tabs.js", + "oF": 0, + "sC": 0, + "tS": 0 + }, + "\/src\/resources\/src\/js\/image-resizer.js": { + "ft": 64, + "ma": 1, + "mi": 1, + "oA": 0, + "oAP": "\/src\/resources\/dist\/js\/image-resizer.js", + "oF": 0, + "sC": 0, + "tS": 0 + }, + "\/src\/resources\/src\/scss\/_base.scss": { + "aP": 1, + "bl": 0, + "dP": 10, + "dS": 0, + "ft": 4, + "ma": 0, + "oA": 1, + "oAP": "\/src\/resources\/dist\/css\/_base.css", + "oF": 0, + "oS": 3, + "uL": 1 + }, + "\/src\/resources\/src\/scss\/_logs.scss": { + "aP": 1, + "bl": 0, + "dP": 10, + "dS": 0, + "ft": 4, + "ma": 0, + "oA": 1, + "oAP": "\/src\/resources\/dist\/css\/_logs.css", + "oF": 0, + "oS": 3, + "uL": 1 + }, + "\/src\/resources\/src\/scss\/_resize-element-action.scss": { + "aP": 1, + "bl": 0, + "dP": 10, + "dS": 0, + "ft": 4, + "ma": 0, + "oA": 1, + "oAP": "\/src\/resources\/dist\/css\/_resize-element-action.css", + "oF": 0, + "oS": 3, + "uL": 1 + }, + "\/src\/resources\/src\/scss\/_settings.scss": { + "aP": 1, + "bl": 0, + "dP": 10, + "dS": 0, + "ft": 4, + "ma": 0, + "oA": 1, + "oAP": "\/src\/resources\/dist\/css\/_settings.css", + "oF": 0, + "oS": 3, + "uL": 1 + }, + "\/src\/resources\/src\/scss\/image-resizer.scss": { + "aP": 1, + "bl": 0, + "dP": 10, + "dS": 0, + "ft": 4, + "ma": 0, + "oA": 0, + "oAP": "\/src\/resources\/dist\/css\/image-resizer.css", + "oF": 0, + "oS": 3, + "uL": 1 + }, + "\/src\/services": { + "ft": 65536, + "oA": 1, + "oAP": "\/build\/src\/services", + "oF": 0 + }, + "\/src\/templates": { + "ft": 65536, + "oA": 1, + "oAP": "\/build\/src\/templates", + "oF": 0 + } + }, +"hooks": [ + ], +"manualImportLinks": { + }, +"projectAttributes": { + "creationDate": 528723773, + "displayValue": "image-resizer2", + "displayValueWasSetByUser": 0, + "iconImageName": "meme-ariel" + }, +"projectSettings": { + "abortBuildOnError": 1, + "alwaysUseExternalServer": 0, + "animateCSSInjections": 0, + "autoBuildNewItems": 1, + "autoprefixerBrowserString": "> 1%, last 2 versions, Firefox ESR, Opera 12.1", + "babelAuxiliaryCommentAfter": "", + "babelAuxiliaryCommentBefore": "", + "babelConfigFileHandlingType": 0, + "babelCustomPluginsList": "", + "babelCustomPresetsList": "", + "babelInsertModuleIDs": 0, + "babelModuleID": "", + "babelNoComments": 0, + "babelPlugins": { + "async-generator-functions": { + "active": 0 + }, + "async-to-generator": { + "active": 0 + }, + "async-to-module-method": { + "active": 0 + }, + "class-properties": { + "active": 0 + }, + "decorators": { + "active": 0 + }, + "decorators-legacy": { + "active": 0 + }, + "do-expressions": { + "active": 0 + }, + "es2015-arrow-functions": { + "active": 0 + }, + "es2015-block-scoped-functions": { + "active": 0 + }, + "es2015-block-scoping": { + "active": 0 + }, + "es2015-classes": { + "active": 0 + }, + "es2015-computed-properties": { + "active": 0 + }, + "es2015-constants": { + "active": 0 + }, + "es2015-destructuring": { + "active": 0 + }, + "es2015-duplicate-keys": { + "active": 0 + }, + "es2015-for-of": { + "active": 0 + }, + "es2015-function-name": { + "active": 0 + }, + "es2015-literals": { + "active": 0 + }, + "es2015-modules-amd": { + "active": 0 + }, + "es2015-modules-commonjs": { + "active": 0 + }, + "es2015-modules-systemjs": { + "active": 0 + }, + "es2015-modules-umd": { + "active": 0 + }, + "es2015-object-super": { + "active": 0 + }, + "es2015-parameters": { + "active": 0 + }, + "es2015-shorthand-properties": { + "active": 0 + }, + "es2015-spread": { + "active": 0 + }, + "es2015-sticky-regex": { + "active": 0 + }, + "es2015-template-literals": { + "active": 0 + }, + "es2015-typeof-symbol": { + "active": 0 + }, + "es2015-unicode-regex": { + "active": 0 + }, + "es3-member-expression-literals": { + "active": 0 + }, + "es3-property-literals": { + "active": 0 + }, + "es5-property-mutators": { + "active": 0 + }, + "eval": { + "active": 0 + }, + "exponentiation-operator": { + "active": 0 + }, + "export-extensions": { + "active": 0 + }, + "external-helpers": { + "active": 0 + }, + "flow-comments": { + "active": 0 + }, + "flow-strip-types": { + "active": 0 + }, + "function-bind": { + "active": 0 + }, + "inline-environment-variables": { + "active": 0 + }, + "jscript": { + "active": 0 + }, + "member-expression-literals": { + "active": 0 + }, + "merge-sibling-variables": { + "active": 0 + }, + "minify-booleans": { + "active": 0 + }, + "node-env-inline": { + "active": 0 + }, + "object-assign": { + "active": 0 + }, + "object-rest-spread": { + "active": 0 + }, + "object-set-prototype-of-to-assign": { + "active": 0 + }, + "property-literals": { + "active": 0 + }, + "proto-to-assign": { + "active": 0 + }, + "react-constant-elements": { + "active": 0 + }, + "react-display-name": { + "active": 0 + }, + "react-inline-elements": { + "active": 0 + }, + "react-jsx": { + "active": 0 + }, + "react-jsx-compat": { + "active": 0 + }, + "react-jsx-self": { + "active": 0 + }, + "react-jsx-source": { + "active": 0 + }, + "regenerator": { + "active": 0 + }, + "remove-console": { + "active": 0 + }, + "remove-debugger": { + "active": 0 + }, + "runtime": { + "active": 0 + }, + "simplify-comparison-operators": { + "active": 0 + }, + "strict-mode": { + "active": 0 + }, + "syntax-async-generators": { + "active": 0 + }, + "syntax-class-properties": { + "active": 0 + }, + "syntax-decorators": { + "active": 0 + }, + "syntax-do-expressions": { + "active": 0 + }, + "syntax-export-extensions": { + "active": 0 + }, + "syntax-flow": { + "active": 0 + }, + "syntax-function-bind": { + "active": 0 + }, + "syntax-function-sent": { + "active": 0 + }, + "syntax-jsx": { + "active": 0 + }, + "syntax-object-rest-spread": { + "active": 0 + }, + "undeclared-variables-check": { + "active": 0 + }, + "undefined-to-void": { + "active": 0 + } + }, + "babelPresetType": 193, + "babelRetainLines": 0, + "bowerAbbreviatedPath": "bower_components", + "bowerAutoCreateInfoFile": 1, + "bowerInstallDevDependencies": 0, + "bowerSaveDependencies": 1, + "bowerSaveDevDependencies": 0, + "bowerUseExactVersion": 0, + "browserRefreshDelay": 0, + "buildFolderActive": 0, + "buildFolderName": "build", + "cleanBuild": 1, + "coffeeLintFlags2": { + "arrow_spacing": { + "active": 0, + "flagValue": -1 + }, + "camel_case_classes": { + "active": 1, + "flagValue": -1 + }, + "colon_assignment_spacing": { + "active": 0, + "flagValue": 1 + }, + "cyclomatic_complexity": { + "active": 0, + "flagValue": 10 + }, + "duplicate_key": { + "active": 1, + "flagValue": -1 + }, + "empty_constructor_needs_parens": { + "active": 0, + "flagValue": -1 + }, + "ensure_comprehensions": { + "active": 1, + "flagValue": -1 + }, + "indentation": { + "active": 1, + "flagValue": 2 + }, + "line_endings": { + "active": 0, + "flagValue": 0 + }, + "max_line_length": { + "active": 0, + "flagValue": 150 + }, + "missing_fat_arrows": { + "active": 0, + "flagValue": -1 + }, + "newlines_after_classes": { + "active": 0, + "flagValue": 3 + }, + "no_backticks": { + "active": 1, + "flagValue": -1 + }, + "no_debugger": { + "active": 1, + "flagValue": -1 + }, + "no_empty_functions": { + "active": 0, + "flagValue": -1 + }, + "no_empty_param_list": { + "active": 0, + "flagValue": -1 + }, + "no_implicit_braces": { + "active": 1, + "flagValue": -1 + }, + "no_implicit_parens": { + "active": 0, + "flagValue": -1 + }, + "no_interpolation_in_single_quotes": { + "active": 0, + "flagValue": -1 + }, + "no_nested_string_interpolation": { + "active": 1, + "flagValue": -1 + }, + "no_plusplus": { + "active": 0, + "flagValue": -1 + }, + "no_private_function_fat_arrows": { + "active": 1, + "flagValue": -1 + }, + "no_stand_alone_at": { + "active": 1, + "flagValue": -1 + }, + "no_tabs": { + "active": 1, + "flagValue": -1 + }, + "no_this": { + "active": 0, + "flagValue": -1 + }, + "no_throwing_strings": { + "active": 1, + "flagValue": -1 + }, + "no_trailing_semicolons": { + "active": 1, + "flagValue": -1 + }, + "no_trailing_whitespace": { + "active": 1, + "flagValue": -1 + }, + "no_unnecessary_double_quotes": { + "active": 0, + "flagValue": -1 + }, + "no_unnecessary_fat_arrows": { + "active": 1, + "flagValue": -1 + }, + "non_empty_constructor_needs_parens": { + "active": 0, + "flagValue": -1 + }, + "prefer_english_operator": { + "active": 0, + "flagValue": -1 + }, + "space_operators": { + "active": 0, + "flagValue": -1 + }, + "spacing_after_comma": { + "active": 1, + "flagValue": -1 + } + }, + "esLintConfigFileHandlingType": 0, + "esLintECMAVersion": 7, + "esLintEnvironmentsMask": 1, + "esLintRules": { + "accessor-pairs": { + "active": 0, + "optionString": "{'setWithoutGet': true, 'getWithoutSet': false}" + }, + "array-bracket-newline": { + "active": 0, + "optionString": "{'multiline': true, 'minItems': null}" + }, + "array-bracket-spacing": { + "active": 0, + "optionString": "'never', {'singleValue': false, 'objectsInArrays': false, 'arraysInArrays': false}" + }, + "array-callback-return": { + "active": 0, + "optionString": "" + }, + "array-element-newline": { + "active": 0, + "optionString": "'always'" + }, + "arrow-body-style": { + "active": 0, + "optionString": "'as-needed', {'requireReturnForObjectLiteral': false}" + }, + "arrow-parens": { + "active": 0, + "optionString": "'always'" + }, + "arrow-spacing": { + "active": 0, + "optionString": "{'before': true, 'after': true}" + }, + "block-scoped-var": { + "active": 0, + "optionString": "" + }, + "block-spacing": { + "active": 0, + "optionString": "'always'" + }, + "brace-style": { + "active": 0, + "optionString": "'1tbs', {'allowSingleLine': true}" + }, + "callback-return": { + "active": 0, + "optionString": "['callback', 'cb', 'next']" + }, + "camelcase": { + "active": 0, + "optionString": "{'properties': 'always'}" + }, + "capitalized-comments": { + "active": 0, + "optionString": "'always', {'ignoreInlineComments': false, 'ignoreConsecutiveComments': false}" + }, + "class-methods-use-this": { + "active": 0, + "optionString": "{'exceptMethods': []}" + }, + "comma-dangle": { + "active": 1, + "optionString": "'never'" + }, + "comma-spacing": { + "active": 0, + "optionString": "{'before': false, 'after': true}" + }, + "comma-style": { + "active": 0, + "optionString": "'last'" + }, + "complexity": { + "active": 0, + "optionString": "20" + }, + "computed-property-spacing": { + "active": 0, + "optionString": "'never'" + }, + "consistent-return": { + "active": 0, + "optionString": "{'treatUndefinedAsUnspecified': false}" + }, + "consistent-this": { + "active": 0, + "optionString": "'that'" + }, + "constructor-super": { + "active": 1, + "optionString": "" + }, + "curly": { + "active": 0, + "optionString": "'all'" + }, + "default-case": { + "active": 0, + "optionString": "" + }, + "dot-location": { + "active": 0, + "optionString": "'object'" + }, + "dot-notation": { + "active": 0, + "optionString": "{'allowKeywords': false}" + }, + "eol-last": { + "active": 0, + "optionString": "'always'" + }, + "eqeqeq": { + "active": 0, + "optionString": "'always', {'null': 'always'}" + }, + "for-direction": { + "active": 0, + "optionString": "" + }, + "func-call-spacing": { + "active": 0, + "optionString": "'never'" + }, + "func-name-matching": { + "active": 0, + "optionString": "'always', {'includeCommonJSModuleExports': false}" + }, + "func-names": { + "active": 0, + "optionString": "'always'" + }, + "func-style": { + "active": 0, + "optionString": "'expression'" + }, + "function-paren-newline": { + "active": 0, + "optionString": "'multiline'" + }, + "generator-star-spacing": { + "active": 0, + "optionString": "{'before': true, 'after': false}" + }, + "getter-return": { + "active": 0, + "optionString": "{'allowImplicit': false}" + }, + "global-require": { + "active": 0, + "optionString": "" + }, + "guard-for-in": { + "active": 0, + "optionString": "" + }, + "handle-callback-err": { + "active": 0, + "optionString": "'err'" + }, + "id-blacklist": { + "active": 0, + "optionString": "'data', 'err', 'e', 'cb', 'callback'" + }, + "id-length": { + "active": 0, + "optionString": "{'min': 2, 'max': 1000, 'properties': 'always', 'exceptions': ['x', 'i', 'y']}" + }, + "id-match": { + "active": 0, + "optionString": "'^[a-z]+([A-Z][a-z]+)*$', {'properties': false, 'onlyDeclarations': true}" + }, + "implicit-arrow-linebreak": { + "active": 0, + "optionString": "'beside'" + }, + "indent": { + "active": 0, + "optionString": "4, {'SwitchCase': 0, 'VariableDeclarator': 1, 'outerIIFEBody': 1, }" + }, + "init-declarations": { + "active": 0, + "optionString": "'always', {'ignoreForLoopInit': true}" + }, + "jsx-quotes": { + "active": 0, + "optionString": "'prefer-double'" + }, + "key-spacing": { + "active": 0, + "optionString": "{'singleLine': {'beforeColon': false, 'afterColon': true, 'mode':'strict'}, 'multiLine': {'beforeColon': false, 'afterColon': true, 'align': 'value', 'mode':'minimum'}}" + }, + "keyword-spacing": { + "active": 0, + "optionString": "{'before': true, 'after': true, 'overrides': {}}" + }, + "line-comment-position": { + "active": 0, + "optionString": "{'position': 'above'}" + }, + "linebreak-style": { + "active": 0, + "optionString": "'unix'" + }, + "lines-around-comment": { + "active": 0, + "optionString": "{'beforeBlockComment': true}" + }, + "lines-between-class-members": { + "active": 0, + "optionString": "'always', {exceptAfterSingleLine: false}" + }, + "max-depth": { + "active": 0, + "optionString": "{'max': 4}" + }, + "max-len": { + "active": 0, + "optionString": "{'code': 80, 'comments': 80, 'tabWidth': 4, 'ignoreUrls': true, 'ignoreStrings': true, 'ignoreTemplateLiterals': true, 'ignoreRegExpLiterals': true}" + }, + "max-lines": { + "active": 0, + "optionString": "{'max': 300, 'skipBlankLines': true, 'skipComments': true}" + }, + "max-nested-callbacks": { + "active": 0, + "optionString": "{'max': 10}" + }, + "max-params": { + "active": 0, + "optionString": "{'max': 4}" + }, + "max-statements": { + "active": 0, + "optionString": "{'max': 10}, {'ignoreTopLevelFunctions': true}" + }, + "max-statements-per-line": { + "active": 0, + "optionString": "{'max': 1}" + }, + "multiline-comment-style": { + "active": 0, + "optionString": "'starred-block'" + }, + "multiline-ternary": { + "active": 0, + "optionString": "'always'" + }, + "new-cap": { + "active": 0, + "optionString": "{'newIsCap': true, 'capIsNew': true, 'newIsCapExceptions': [], 'capIsNewExceptions': ['Array', 'Boolean', 'Date', 'Error', 'Function', 'Number', 'Object', 'RegExp', 'String', 'Symbol'], 'properties': true}" + }, + "new-parens": { + "active": 0, + "optionString": "" + }, + "newline-per-chained-call": { + "active": 0, + "optionString": "{'ignoreChainWithDepth': 2}" + }, + "no-alert": { + "active": 0, + "optionString": "" + }, + "no-array-constructor": { + "active": 0, + "optionString": "" + }, + "no-await-in-loop": { + "active": 0, + "optionString": "" + }, + "no-bitwise": { + "active": 0, + "optionString": "{'allow': ['~'], 'int32Hint': true}" + }, + "no-buffer-constructor": { + "active": 0, + "optionString": "" + }, + "no-caller": { + "active": 0, + "optionString": "" + }, + "no-case-declarations": { + "active": 1, + "optionString": "" + }, + "no-catch-shadow": { + "active": 0, + "optionString": "" + }, + "no-class-assign": { + "active": 1, + "optionString": "" + }, + "no-compare-neg-zero": { + "active": 0, + "optionString": "" + }, + "no-cond-assign": { + "active": 1, + "optionString": "'except-parens'" + }, + "no-confusing-arrow": { + "active": 0, + "optionString": "{'allowParens': false}" + }, + "no-console": { + "active": 1, + "optionString": "{'allow': ['warn', 'error']}" + }, + "no-const-assign": { + "active": 1, + "optionString": "" + }, + "no-constant-condition": { + "active": 1, + "optionString": "{'checkLoops': true}" + }, + "no-continue": { + "active": 0, + "optionString": "" + }, + "no-control-regex": { + "active": 1, + "optionString": "" + }, + "no-debugger": { + "active": 1, + "optionString": "" + }, + "no-delete-var": { + "active": 1, + "optionString": "" + }, + "no-div-regex": { + "active": 0, + "optionString": "" + }, + "no-dupe-args": { + "active": 1, + "optionString": "" + }, + "no-dupe-class-members": { + "active": 1, + "optionString": "" + }, + "no-dupe-keys": { + "active": 1, + "optionString": "" + }, + "no-duplicate-imports": { + "active": 0, + "optionString": "{'includeExports': false}" + }, + "no-else-return": { + "active": 0, + "optionString": "" + }, + "no-empty": { + "active": 1, + "optionString": "{'allowEmptyCatch': false}" + }, + "no-empty-character-class": { + "active": 1, + "optionString": "" + }, + "no-empty-function": { + "active": 0, + "optionString": "{'allow': []}" + }, + "no-empty-pattern": { + "active": 1, + "optionString": "" + }, + "no-eq-null": { + "active": 0, + "optionString": "" + }, + "no-eval": { + "active": 0, + "optionString": "{'allowIndirect': false}" + }, + "no-ex-assign": { + "active": 1, + "optionString": "" + }, + "no-extend-native": { + "active": 0, + "optionString": "{'exceptions': []}" + }, + "no-extra-bind": { + "active": 0, + "optionString": "" + }, + "no-extra-boolean-cast": { + "active": 1, + "optionString": "" + }, + "no-extra-labels": { + "active": 0, + "optionString": "" + }, + "no-extra-parens": { + "active": 0, + "optionString": "'all', {'conditionalAssign': false, 'returnAssign': false, 'nestedBinaryExpressions': false, 'ignoreJSX': 'none', 'enforceForArrowConditionals': false}" + }, + "no-extra-semi": { + "active": 1, + "optionString": "" + }, + "no-fallthrough": { + "active": 1, + "optionString": "" + }, + "no-floating-decimal": { + "active": 0, + "optionString": "" + }, + "no-func-assign": { + "active": 1, + "optionString": "" + }, + "no-global-assign": { + "active": 1, + "optionString": "{'exceptions': []}" + }, + "no-implicit-coercion": { + "active": 0, + "optionString": "{'boolean': true, 'number': true, 'string': true, 'allow': []}" + }, + "no-implicit-globals": { + "active": 0, + "optionString": "" + }, + "no-implied-eval": { + "active": 0, + "optionString": "" + }, + "no-inline-comments": { + "active": 0, + "optionString": "" + }, + "no-inner-declarations": { + "active": 1, + "optionString": "'functions'" + }, + "no-invalid-regexp": { + "active": 1, + "optionString": "{'allowConstructorFlags': ['u', 'y']}" + }, + "no-invalid-this": { + "active": 0, + "optionString": "" + }, + "no-irregular-whitespace": { + "active": 1, + "optionString": "{'skipStrings': true, 'skipComments': false, 'skipRegExps': true, 'skipTemplates': true}" + }, + "no-iterator": { + "active": 0, + "optionString": "" + }, + "no-label-var": { + "active": 0, + "optionString": "" + }, + "no-labels": { + "active": 0, + "optionString": "{'allowLoop': false, 'allowSwitch': false}" + }, + "no-lone-blocks": { + "active": 0, + "optionString": "" + }, + "no-lonely-if": { + "active": 0, + "optionString": "" + }, + "no-loop-func": { + "active": 0, + "optionString": "" + }, + "no-magic-numbers": { + "active": 0, + "optionString": "{'ignore': [], 'ignoreArrayIndexes': true, 'enforceConst': false, 'detectObjects': false}" + }, + "no-mixed-operators": { + "active": 0, + "optionString": "{'groups': [['+', '-', '*', '\/', '%', '**'], ['&', '|', '^', '~', '<<', '>>', '>>>'], ['==', '!=', '===', '!==', '>', '>=', '<', '<='], ['&&', '||'], ['in', 'instanceof']], 'allowSamePrecedence': true}" + }, + "no-mixed-requires": { + "active": 0, + "optionString": "{'grouping': false, 'allowCall': false }" + }, + "no-mixed-spaces-and-tabs": { + "active": 0, + "optionString": "" + }, + "no-multi-assign": { + "active": 0, + "optionString": "" + }, + "no-multi-spaces": { + "active": 0, + "optionString": "{'exceptions': {'Property': true, 'BinaryExpression': false, 'VariableDeclarator': false, 'ImportDeclaration': false}}" + }, + "no-multi-str": { + "active": 0, + "optionString": "" + }, + "no-multiple-empty-lines": { + "active": 0, + "optionString": "{'max': 2, 'maxBOF': 2, 'maxEOF': 2}" + }, + "no-negated-condition": { + "active": 0, + "optionString": "" + }, + "no-nested-ternary": { + "active": 0, + "optionString": "" + }, + "no-new": { + "active": 0, + "optionString": "" + }, + "no-new-func": { + "active": 0, + "optionString": "" + }, + "no-new-object": { + "active": 0, + "optionString": "" + }, + "no-new-require": { + "active": 0, + "optionString": "" + }, + "no-new-symbol": { + "active": 1, + "optionString": "" + }, + "no-new-wrappers": { + "active": 0, + "optionString": "" + }, + "no-obj-calls": { + "active": 1, + "optionString": "" + }, + "no-octal": { + "active": 1, + "optionString": "" + }, + "no-octal-escape": { + "active": 0, + "optionString": "" + }, + "no-param-reassign": { + "active": 0, + "optionString": "{'props': false}" + }, + "no-path-concat": { + "active": 0, + "optionString": "" + }, + "no-plusplus": { + "active": 0, + "optionString": "{'allowForLoopAfterthoughts': false}" + }, + "no-process-env": { + "active": 0, + "optionString": "" + }, + "no-process-exit": { + "active": 0, + "optionString": "" + }, + "no-proto": { + "active": 0, + "optionString": "" + }, + "no-prototype-builtins": { + "active": 0, + "optionString": "" + }, + "no-redeclare": { + "active": 1, + "optionString": "{'builtinGlobals': false}" + }, + "no-regex-spaces": { + "active": 1, + "optionString": "" + }, + "no-restricted-globals": { + "active": 0, + "optionString": "'event', 'fdescribe'" + }, + "no-restricted-imports": { + "active": 0, + "optionString": "" + }, + "no-restricted-modules": { + "active": 0, + "optionString": "" + }, + "no-restricted-properties": { + "active": 0, + "optionString": "[{'object': 'disallowedObjectName', 'property': 'disallowedPropertyName'}, {'object': 'disallowedObjectName', 'property': 'anotherDisallowedPropertyName', 'message': 'Please use allowedObjectName.allowedPropertyName.'}]" + }, + "no-restricted-syntax": { + "active": 0, + "optionString": "'FunctionExpression', 'WithStatement'" + }, + "no-return-assign": { + "active": 0, + "optionString": "'except-parens'" + }, + "no-return-await": { + "active": 0, + "optionString": "" + }, + "no-script-url": { + "active": 0, + "optionString": "" + }, + "no-self-assign": { + "active": 1, + "optionString": "{'props': false}" + }, + "no-self-compare": { + "active": 0, + "optionString": "" + }, + "no-sequences": { + "active": 0, + "optionString": "" + }, + "no-shadow": { + "active": 0, + "optionString": "{'builtinGlobals': false, 'hoist': 'functions', 'allow': []}" + }, + "no-shadow-restricted-names": { + "active": 0, + "optionString": "" + }, + "no-sparse-arrays": { + "active": 1, + "optionString": "" + }, + "no-sync": { + "active": 0, + "optionString": "{'allowAtRootLevel': false}" + }, + "no-tabs": { + "active": 0, + "optionString": "" + }, + "no-template-curly-in-string": { + "active": 0, + "optionString": "" + }, + "no-ternary": { + "active": 0, + "optionString": "" + }, + "no-this-before-super": { + "active": 1, + "optionString": "" + }, + "no-throw-literal": { + "active": 0, + "optionString": "" + }, + "no-trailing-spaces": { + "active": 0, + "optionString": "{'skipBlankLines': false, 'ignoreComments': false}" + }, + "no-undef": { + "active": 1, + "optionString": "{'typeof': false}" + }, + "no-undef-init": { + "active": 0, + "optionString": "" + }, + "no-undefined": { + "active": 0, + "optionString": "" + }, + "no-underscore-dangle": { + "active": 0, + "optionString": "{'allow': [], 'allowAfterThis': false, 'allowAfterSuper': false, 'enforceInMethodNames': false}" + }, + "no-unexpected-multiline": { + "active": 1, + "optionString": "" + }, + "no-unmodified-loop-condition": { + "active": 0, + "optionString": "" + }, + "no-unneeded-ternary": { + "active": 0, + "optionString": "{'defaultAssignment': true}" + }, + "no-unreachable": { + "active": 1, + "optionString": "" + }, + "no-unsafe-finally": { + "active": 1, + "optionString": "" + }, + "no-unsafe-negation": { + "active": 1, + "optionString": "" + }, + "no-unused-expressions": { + "active": 0, + "optionString": "{'allowShortCircuit': false, 'allowTernary': false, 'allowTaggedTemplates': false}" + }, + "no-unused-labels": { + "active": 1, + "optionString": "" + }, + "no-unused-vars": { + "active": 1, + "optionString": "{'vars': 'all', 'args': 'after-used', 'caughtErrors': 'none', 'ignoreRestSiblings': false}" + }, + "no-use-before-define": { + "active": 0, + "optionString": "{'functions': true, 'classes': true, 'variables': true}" + }, + "no-useless-call": { + "active": 0, + "optionString": "" + }, + "no-useless-computed-key": { + "active": 0, + "optionString": "" + }, + "no-useless-concat": { + "active": 0, + "optionString": "" + }, + "no-useless-constructor": { + "active": 0, + "optionString": "" + }, + "no-useless-escape": { + "active": 0, + "optionString": "" + }, + "no-useless-rename": { + "active": 0, + "optionString": "{'ignoreDestructuring': false, 'ignoreImport': false, 'ignoreExport': false}" + }, + "no-useless-return": { + "active": 0, + "optionString": "" + }, + "no-var": { + "active": 0, + "optionString": "" + }, + "no-void": { + "active": 0, + "optionString": "" + }, + "no-warning-comments": { + "active": 0, + "optionString": "{'terms': ['todo', 'fixme', 'xxx'], 'location': 'start'}" + }, + "no-whitespace-before-property": { + "active": 0, + "optionString": "" + }, + "no-with": { + "active": 0, + "optionString": "" + }, + "nonblock-statement-body-position": { + "active": 0, + "optionString": "'beside'" + }, + "object-curly-newline": { + "active": 0, + "optionString": "{'ObjectExpression': {'multiline': true}, 'ObjectPattern': {'multiline': true}}" + }, + "object-curly-spacing": { + "active": 0, + "optionString": "'never'" + }, + "object-property-newline": { + "active": 0, + "optionString": "{'allowMultiplePropertiesPerLine': true}" + }, + "object-shorthand": { + "active": 0, + "optionString": "'always', {'avoidQuotes': false, 'ignoreConstructors': false}" + }, + "one-var": { + "active": 0, + "optionString": "'always'" + }, + "one-var-declaration-per-line": { + "active": 0, + "optionString": "'always'" + }, + "operator-assignment": { + "active": 0, + "optionString": "'always'" + }, + "operator-linebreak": { + "active": 0, + "optionString": "'after', {'overrides': {'?': 'after', '+=': 'none'}}" + }, + "padded-blocks": { + "active": 0, + "optionString": "{'blocks': 'always', 'switches': 'always', 'classes': 'always'}" + }, + "padding-line-between-statements": { + "active": 0, + "optionString": "{blankLine: 'always', prev:'*', next:'return'}" + }, + "prefer-arrow-callback": { + "active": 0, + "optionString": "" + }, + "prefer-const": { + "active": 0, + "optionString": "{'destructuring': 'any', 'ignoreReadBeforeAssign': false}" + }, + "prefer-destructuring": { + "active": 0, + "optionString": "{'array': true, 'object': true}, {'enforceForRenamedProperties': false}" + }, + "prefer-numeric-literals": { + "active": 0, + "optionString": "" + }, + "prefer-promise-reject-errors": { + "active": 0, + "optionString": "{'allowEmptyReject': false}" + }, + "prefer-rest-params": { + "active": 0, + "optionString": "" + }, + "prefer-spread": { + "active": 0, + "optionString": "" + }, + "prefer-template": { + "active": 0, + "optionString": "" + }, + "quote-props": { + "active": 0, + "optionString": "'always'" + }, + "quotes": { + "active": 0, + "optionString": "'double', {'avoidEscape': true, 'allowTemplateLiterals': true}" + }, + "radix": { + "active": 0, + "optionString": "'always'" + }, + "require-await": { + "active": 0, + "optionString": "" + }, + "require-jsdoc": { + "active": 0, + "optionString": "{'require': {'FunctionDeclaration': true, 'MethodDefinition': false, 'ClassDeclaration': false, 'ArrowFunctionExpression': false}}" + }, + "require-yield": { + "active": 1, + "optionString": "" + }, + "rest-spread-spacing": { + "active": 0, + "optionString": "'never'" + }, + "semi": { + "active": 0, + "optionString": "'always', {'omitLastInOneLineBlock': false}" + }, + "semi-spacing": { + "active": 0, + "optionString": "{'before': false, 'after': true}" + }, + "semi-style": { + "active": 0, + "optionString": "'last'" + }, + "sort-imports": { + "active": 0, + "optionString": "{'ignoreCase': false, 'ignoreMemberSort': true, 'memberSyntaxSortOrder': ['none', 'all', 'multiple', 'single']}" + }, + "sort-keys": { + "active": 0, + "optionString": "'asc', {'caseSensitive': true, 'natural': false}" + }, + "sort-vars": { + "active": 0, + "optionString": "{'ignoreCase': false}" + }, + "space-before-blocks": { + "active": 0, + "optionString": "{'functions': 'always', 'keywords': 'always', 'classes': 'always'}" + }, + "space-before-function-paren": { + "active": 0, + "optionString": "{'anonymous': 'always', 'named': 'never'}" + }, + "space-in-parens": { + "active": 0, + "optionString": "'never', {'exceptions': []}" + }, + "space-infix-ops": { + "active": 0, + "optionString": "{'int32Hint': false}" + }, + "space-unary-ops": { + "active": 0, + "optionString": "{'words': true, 'nonwords': false, 'overrides': {}}" + }, + "spaced-comment": { + "active": 0, + "optionString": "'always', {'line': {'markers': ['\/'], 'exceptions': ['-', '+']}, 'block': {'markers': ['!'], 'exceptions': ['*'], 'balanced': false}}" + }, + "strict": { + "active": 0, + "optionString": "'safe'" + }, + "switch-colon-spacing": { + "active": 0, + "optionString": "{'after': true, 'before': false}" + }, + "symbol-description": { + "active": 0, + "optionString": "" + }, + "template-curly-spacing": { + "active": 0, + "optionString": "'never'" + }, + "template-tag-spacing": { + "active": 0, + "optionString": "'never'" + }, + "unicode-bom": { + "active": 0, + "optionString": "'never'" + }, + "use-isnan": { + "active": 1, + "optionString": "" + }, + "valid-jsdoc": { + "active": 0, + "optionString": "{'prefer': {'return': 'returns'}, 'requireReturn': true, 'requireReturnDescription': true, 'requireReturnType': true, 'requireParamDescription': true}" + }, + "valid-typeof": { + "active": 1, + "optionString": "{'requireStringLiterals': true}" + }, + "vars-on-top": { + "active": 0, + "optionString": "" + }, + "wrap-iife": { + "active": 0, + "optionString": "'outside'" + }, + "wrap-regex": { + "active": 0, + "optionString": "" + }, + "yield-star-spacing": { + "active": 0, + "optionString": "{'before': false, 'after': true}" + }, + "yoda": { + "active": 0, + "optionString": "'never', {'exceptRange': false, 'onlyEquality': false}" + } + }, + "esLintSourceType": 0, + "externalServerAddress": "http:\/\/localhost:8888", + "gitIgnoreBuildFolder": 1, + "hideConfigFile": 0, + "jsCheckerReservedNamesString": "", + "jsHintFlags2": { + "asi": { + "active": 0, + "flagValue": -1 + }, + "bitwise": { + "active": 1, + "flagValue": -1 + }, + "boss": { + "active": 0, + "flagValue": -1 + }, + "browser": { + "active": 1, + "flagValue": -1 + }, + "browserify": { + "active": 0, + "flagValue": -1 + }, + "camelcase": { + "active": 0, + "flagValue": -1 + }, + "couch": { + "active": 0, + "flagValue": -1 + }, + "curly": { + "active": 1, + "flagValue": -1 + }, + "debug": { + "active": 0, + "flagValue": -1 + }, + "devel": { + "active": 0, + "flagValue": -1 + }, + "dojo": { + "active": 0, + "flagValue": -1 + }, + "elision": { + "active": 1, + "flagValue": -1 + }, + "eqeqeq": { + "active": 1, + "flagValue": -1 + }, + "eqnull": { + "active": 0, + "flagValue": -1 + }, + "es3": { + "active": 0, + "flagValue": -1 + }, + "esnext": { + "active": 0, + "flagValue": -1 + }, + "evil": { + "active": 0, + "flagValue": -1 + }, + "expr": { + "active": 0, + "flagValue": -1 + }, + "forin": { + "active": 0, + "flagValue": -1 + }, + "freeze": { + "active": 1, + "flagValue": -1 + }, + "funcscope": { + "active": 0, + "flagValue": -1 + }, + "futurehostile": { + "active": 0, + "flagValue": -1 + }, + "globalstrict": { + "active": 0, + "flagValue": -1 + }, + "immed": { + "active": 0, + "flagValue": -1 + }, + "indent": { + "active": 0, + "flagValue": 4 + }, + "iterator": { + "active": 0, + "flagValue": -1 + }, + "jasmine": { + "active": 0, + "flagValue": -1 + }, + "jquery": { + "active": 1, + "flagValue": -1 + }, + "lastsemic": { + "active": 0, + "flagValue": -1 + }, + "latedef": { + "active": 1, + "flagValue": -1 + }, + "laxbreak": { + "active": 0, + "flagValue": -1 + }, + "laxcomma": { + "active": 0, + "flagValue": -1 + }, + "loopfunc": { + "active": 0, + "flagValue": -1 + }, + "maxcomplexity": { + "active": 0, + "flagValue": 10 + }, + "maxdepth": { + "active": 0, + "flagValue": 3 + }, + "maxlen": { + "active": 0, + "flagValue": 150 + }, + "maxparams": { + "active": 0, + "flagValue": 3 + }, + "maxstatements": { + "active": 0, + "flagValue": 4 + }, + "mocha": { + "active": 0, + "flagValue": -1 + }, + "mootools": { + "active": 0, + "flagValue": -1 + }, + "moz": { + "active": 0, + "flagValue": -1 + }, + "multistr": { + "active": 0, + "flagValue": -1 + }, + "newcap": { + "active": 1, + "flagValue": -1 + }, + "noarg": { + "active": 1, + "flagValue": -1 + }, + "nocomma": { + "active": 0, + "flagValue": -1 + }, + "node": { + "active": 0, + "flagValue": -1 + }, + "noempty": { + "active": 0, + "flagValue": -1 + }, + "nonbsp": { + "active": 0, + "flagValue": -1 + }, + "nonew": { + "active": 1, + "flagValue": -1 + }, + "nonstandard": { + "active": 0, + "flagValue": -1 + }, + "notypeof": { + "active": 1, + "flagValue": -1 + }, + "noyield": { + "active": 0, + "flagValue": -1 + }, + "onecase": { + "active": 0, + "flagValue": -1 + }, + "phantom": { + "active": 0, + "flagValue": -1 + }, + "plusplus": { + "active": 0, + "flagValue": -1 + }, + "proto": { + "active": 0, + "flagValue": -1 + }, + "prototypejs": { + "active": 0, + "flagValue": -1 + }, + "qunit": { + "active": 0, + "flagValue": -1 + }, + "regexp": { + "active": 1, + "flagValue": -1 + }, + "rhino": { + "active": 0, + "flagValue": -1 + }, + "scripturl": { + "active": 0, + "flagValue": -1 + }, + "shadow": { + "active": 0, + "flagValue": -1 + }, + "shelljs": { + "active": 0, + "flagValue": -1 + }, + "singleGroups": { + "active": 0, + "flagValue": -1 + }, + "strict": { + "active": 0, + "flagValue": -1 + }, + "sub": { + "active": 0, + "flagValue": -1 + }, + "supernew": { + "active": 0, + "flagValue": -1 + }, + "typed": { + "active": 0, + "flagValue": -1 + }, + "undef": { + "active": 1, + "flagValue": -1 + }, + "unused": { + "active": 1, + "flagValue": -1 + }, + "varstmt": { + "active": 0, + "flagValue": -1 + }, + "withstmt": { + "active": 0, + "flagValue": -1 + }, + "worker": { + "active": 0, + "flagValue": -1 + }, + "wsh": { + "active": 0, + "flagValue": -1 + }, + "yui": { + "active": 0, + "flagValue": -1 + } + }, + "jsLintFlags2": { + "bitwise": { + "active": 0, + "flagValue": -1 + }, + "browser": { + "active": 1, + "flagValue": -1 + }, + "couch": { + "active": 0, + "flagValue": -1 + }, + "devel": { + "active": 0, + "flagValue": -1 + }, + "es6": { + "active": 0, + "flagValue": -1 + }, + "eval": { + "active": 0, + "flagValue": -1 + }, + "for": { + "active": 0, + "flagValue": -1 + }, + "maxlen": { + "active": 0, + "flagValue": 150 + }, + "node": { + "active": 0, + "flagValue": -1 + }, + "this": { + "active": 0, + "flagValue": -1 + }, + "white": { + "active": 0, + "flagValue": -1 + } + }, + "languageDefaultsCOFFEE": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.js", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "createSourceMap": 0, + "minifyOutput": 1, + "outputStyle": 0, + "syntaxCheckerStyle": 1, + "transpilerStyle": 1 + }, + "languageDefaultsCSS": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*-min.css", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "createSourceMap": 0, + "outputStyle": 3, + "shouldRunAutoprefixer": 1, + "shouldRunBless": 0 + }, + "languageDefaultsGIF": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.gif", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0 + }, + "languageDefaultsHAML": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.html", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "escapeHTMLCharacters": 0, + "noEscapeInAttributes": 0, + "outputFormat": 2, + "outputStyle": 0, + "shouldRunCacheBuster": 0, + "useCDATA": 0, + "useDoubleQuotes": 0, + "useUnixNewlines": 0 + }, + "languageDefaultsJPG": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.jpg", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "quality": 100 + }, + "languageDefaultsJS": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.js", + "autoOutputPathRelativePath": "..\/..\/dist\/js", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 2, + "createSourceMap": 1, + "minifyOutput": 1, + "syntaxCheckerStyle": 0, + "transpilerStyle": 0 + }, + "languageDefaultsJSON": { + "autoOutputAction": 1, + "autoOutputPathFilenamePattern": "*-min.json", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "orderOutput": 0, + "outputStyle": 1 + }, + "languageDefaultsKIT": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.html", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "kit", + "autoOutputPathReplace2": "html", + "autoOutputPathStyle": 0, + "shouldRunCacheBuster": 0 + }, + "languageDefaultsLESS": { + "allowInsecureImports": 0, + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.css", + "autoOutputPathRelativePath": "..\/css", + "autoOutputPathReplace1": "less", + "autoOutputPathReplace2": "css", + "autoOutputPathStyle": 0, + "createSourceMap": 0, + "disableJavascript": 0, + "ieCompatibility": 1, + "outputStyle": 1, + "relativeURLS": 0, + "shouldRunAutoprefixer": 1, + "shouldRunBless": 0, + "strictImports": 0, + "strictMath": 0, + "strictUnits": 0 + }, + "languageDefaultsMARKDOWN": { + "autoOutputAction": 1, + "autoOutputPathFilenamePattern": "*.html", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "criticStyle": 0, + "enableFootnotes": 1, + "enableLabels": 1, + "enableSmartQuotes": 1, + "maskEmailAddresses": 1, + "outputFormat": 0, + "outputStyle": 0, + "parseMetadata": 1, + "processHTML": 0, + "randomFootnoteNumbers": 0, + "shouldRunCacheBuster": 0, + "useCompatibilityMode": 0 + }, + "languageDefaultsOTHER": { + "autoOutputAction": 2, + "autoOutputPathFilenamePattern": "*.*", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "shouldRunCacheBuster": 0 + }, + "languageDefaultsPNG": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.png", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "optimizerType": 1, + "quality": 100 + }, + "languageDefaultsPUG": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.html", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "compileDebug": 1, + "outputStyle": 0, + "shouldRunCacheBuster": 0 + }, + "languageDefaultsSASS": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.css", + "autoOutputPathRelativePath": "..\/..\/dist\/css", + "autoOutputPathReplace1": "sass", + "autoOutputPathReplace2": "css", + "autoOutputPathStyle": 2, + "createSourceMap": 0, + "debugStyle": 0, + "decimalPrecision": 10, + "outputStyle": 3, + "shouldRunAutoprefixer": 1, + "shouldRunBless": 0, + "useLibsass": 1 + }, + "languageDefaultsSLIM": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.html", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "compileOnly": 0, + "logicless": 0, + "outputFormat": 0, + "outputStyle": 1, + "railsCompatible": 0, + "shouldRunCacheBuster": 0 + }, + "languageDefaultsSTYLUS": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.css", + "autoOutputPathRelativePath": "..\/css", + "autoOutputPathReplace1": "stylus", + "autoOutputPathReplace2": "css", + "autoOutputPathStyle": 0, + "createSourceMap": 0, + "debugStyle": 0, + "importCSS": 0, + "outputStyle": 0, + "resolveRelativeURLS": 0, + "shouldRunAutoprefixer": 0, + "shouldRunBless": 0 + }, + "languageDefaultsSVG": { + "autoOutputAction": 2, + "autoOutputPathFilenamePattern": "*.svg", + "autoOutputPathRelativePath": "", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "pluginMask": 3758088159 + }, + "languageDefaultsTS": { + "autoOutputAction": 0, + "autoOutputPathFilenamePattern": "*.js", + "autoOutputPathRelativePath": "\/js", + "autoOutputPathReplace1": "", + "autoOutputPathReplace2": "", + "autoOutputPathStyle": 0, + "createDeclarationFile": 0, + "createSourceMap": 0, + "jsxMode": 0, + "minifyOutput": 0, + "moduleResolutionType": 0, + "moduleType": 2, + "noImplicitAny": 0, + "preserveConstEnums": 0, + "removeComments": 0, + "suppressImplicitAnyIndexErrors": 0, + "targetECMAVersion": 0 + }, + "languageDefaultsUserDefined": [ + ], + "overrideExternalServerCSS": 0, + "previewPathAddition": "", + "skippedFoldersString": "log, _logs, logs, _cache, cache, \/storage\/framework\/sessions, node_modules, \/src\/models, \/src\/tasks, \/src\/elements, \/src\/helpers, \/src\/migrations, \/src\/data, \/src\/templates, \/src\/records, \/src\/controllers, \/src\/assetbundles, \/src\/base, \/src\/fields, \/src\/services, \/src\/variables", + "sourceFolderName": "source", + "susyVersion": 3, + "uglifyDefinesString": "", + "uglifyFlags2": { + "ascii-only": { + "active": 0, + "flagValue": -1 + }, + "bare-returns": { + "active": 0, + "flagValue": -1 + }, + "booleans": { + "active": 1, + "flagValue": -1 + }, + "bracketize": { + "active": 0, + "flagValue": -1 + }, + "cascade": { + "active": 1, + "flagValue": -1 + }, + "comments": { + "active": 1, + "flagValue": -1 + }, + "comparisons": { + "active": 1, + "flagValue": -1 + }, + "compress": { + "active": 1, + "flagValue": -1 + }, + "conditionals": { + "active": 1, + "flagValue": -1 + }, + "dead_code": { + "active": 0, + "flagValue": -1 + }, + "drop_console": { + "active": 0, + "flagValue": -1 + }, + "drop_debugger": { + "active": 1, + "flagValue": -1 + }, + "eval": { + "active": 0, + "flagValue": -1 + }, + "evaluate": { + "active": 1, + "flagValue": -1 + }, + "hoist_funs": { + "active": 1, + "flagValue": -1 + }, + "hoist_vars": { + "active": 0, + "flagValue": -1 + }, + "if_return": { + "active": 1, + "flagValue": -1 + }, + "indent-level": { + "active": 0, + "flagValue": 4 + }, + "indent-start": { + "active": 0, + "flagValue": 0 + }, + "inline-script": { + "active": 0, + "flagValue": -1 + }, + "join_vars": { + "active": 1, + "flagValue": -1 + }, + "keep_fargs": { + "active": 0, + "flagValue": -1 + }, + "keep_fnames": { + "active": 0, + "flagValue": -1 + }, + "loops": { + "active": 1, + "flagValue": -1 + }, + "mangle": { + "active": 1, + "flagValue": -1 + }, + "max-line-len": { + "active": 1, + "flagValue": 32000 + }, + "negate_iife": { + "active": 1, + "flagValue": -1 + }, + "properties": { + "active": 1, + "flagValue": -1 + }, + "pure_getters": { + "active": 0, + "flagValue": -1 + }, + "quote-keys": { + "active": 0, + "flagValue": -1 + }, + "screw-ie8": { + "active": 1, + "flagValue": -1 + }, + "semicolons": { + "active": 1, + "flagValue": -1 + }, + "sequences": { + "active": 1, + "flagValue": -1 + }, + "sort": { + "active": 0, + "flagValue": -1 + }, + "space-colon": { + "active": 1, + "flagValue": -1 + }, + "support-ie8": { + "active": 0, + "flagValue": -1 + }, + "toplevel": { + "active": 0, + "flagValue": -1 + }, + "unsafe": { + "active": 0, + "flagValue": -1 + }, + "unused": { + "active": 0, + "flagValue": -1 + }, + "warnings": { + "active": 0, + "flagValue": -1 + }, + "width": { + "active": 1, + "flagValue": 80 + } + }, + "uglifyReservedNamesString": "$", + "websiteRelativeRoot": "" + }, +"settingsFileVersion": "3" +} \ No newline at end of file diff --git a/imageresizer/ImageResizerPlugin.php b/imageresizer/ImageResizerPlugin.php deleted file mode 100644 index 1b3696b..0000000 --- a/imageresizer/ImageResizerPlugin.php +++ /dev/null @@ -1,192 +0,0 @@ - array('action' => 'imageResizer/logs/logs'), - 'imageresizer/logs' => array('action' => 'imageResizer/logs/logs'), - 'imageresizer/settings' => array('action' => 'imageResizer/settings'), - ); - } - - protected function defineSettings() - { - return array( - 'enabled' => array( AttributeType::Bool, 'default' => true ), - 'imageWidth' => array( AttributeType::Number, 'default' => '2048' ), - 'imageHeight' => array( AttributeType::Number, 'default' => '2048' ), - 'imageQuality' => array( AttributeType::Number, 'default' => '100' ), - 'assetSources' => array( AttributeType::Mixed, 'default' => '*' ), // Deprecated - 'assetSourceSettings' => array( AttributeType::Mixed ), - 'skipLarger' => array( AttributeType::Bool, 'default' => true ), - 'nonDestructiveResize' => array( AttributeType::Bool, 'default' => false ), - 'nonDestructiveCrop' => array( AttributeType::Bool, 'default' => false ), - - // Cropping - 'croppingRatios' => array( AttributeType::Mixed, 'default' => array( - array( - 'name' => Craft::t('Free'), - 'width' => 'none', - 'height' => 'none', - ), - array( - 'name' => Craft::t('Square'), - 'width' => 1, - 'height' => 1, - ), - array( - 'name' => Craft::t('Constrain'), - 'width' => 'relative', - 'height' => 'relative', - ), - array( - 'name' => '4:3', - 'width' => 4, - 'height' => 3, - ), - ) ), - ); - } - - public function onBeforeInstall() - { - $version = craft()->getVersion(); - - // Craft 2.6.2951 deprecated `craft()->getBuild()`, so get the version number consistently - if (version_compare(craft()->getVersion(), '2.6.2951', '<')) { - $version = craft()->getVersion() . '.' . craft()->getBuild(); - } - - // While Craft 2.5 switched imgAreaSelect for Jcrop - if (version_compare($version, '2.5', '<')) { - throw new Exception($this->getName() . ' requires Craft CMS 2.5+ in order to run.'); - } - } - - - // ========================================================================= - // HOOKS - // ========================================================================= - - public function init() - { - if (craft()->request->isCpRequest()) { - craft()->templates->includeTranslations( - // Resizing Modal - 'all images in', - 'image', - 'Resize Images', - 'You are about to resize {desc} to be a maximum of {width}px wide and {height}px high. Alternatively, set the width and height limits below for on-demand resizing.', - 'width', - 'height', - 'Caution', - 'This operation permanently alters your images.', - 'No images to resize!', - 'Resizing complete!', - - // Cropping Modal - 'Aspect Ratio', - 'Free', - 'Cancel', - 'Save', - 'Image cropped successfully.' - ); - } - - craft()->on('assets.onBeforeUploadAsset', function(Event $event) { - $path = $event->params['path']; - $folder = $event->params['folder']; - $filename = $event->params['filename']; - - // If we've triggered this from our cropping action, don't resize too - if (craft()->httpSession->get('ImageResizer_CropElementAction')) { - craft()->httpSession->remove('ImageResizer_CropElementAction'); - return true; - } - - // Should we be modifying images in this source? - if (!craft()->imageResizer->getSettingForAssetSource($folder->source->id, 'enabled')) { - craft()->imageResizer_logs->resizeLog(null, 'skipped-source-disabled', $filename); - return true; - } - - // Resize the image - craft()->imageResizer_resize->resize($folder, $filename, $path, null, null); - }); - } - - public function addAssetActions() - { - $actions = array(); - - if (craft()->userSession->checkPermission('imageResizer-cropImage')) { - $actions[] = 'ImageResizer_CropImage'; - } - - if (craft()->userSession->checkPermission('imageResizer-resizeImage')) { - $actions[] = 'ImageResizer_ResizeImage'; - } - - return $actions; - } - - public function registerUserPermissions() - { - return array( - 'imageResizer-cropImage' => array('label' => Craft::t('Crop images')), - 'imageResizer-resizeImage' => array('label' => Craft::t('Resize images')), - ); - } -} diff --git a/imageresizer/controllers/ImageResizerController.php b/imageresizer/controllers/ImageResizerController.php deleted file mode 100644 index fb59167..0000000 --- a/imageresizer/controllers/ImageResizerController.php +++ /dev/null @@ -1,151 +0,0 @@ -imageResizer->getSettings(); - - $sourceOptions = array(); - $folderOptions = array(); - foreach (craft()->assetSources->getAllSources() as $source) { - $sourceOptions[] = array('label' => $source->name, 'value' => $source->id); - } - - $assetTree = craft()->assets->getFolderTreeBySourceIds(craft()->assetSources->getAllSourceIds()); - craft()->imageResizer->getAssetFolders($assetTree, $folderOptions); - - $this->renderTemplate('imageresizer/settings', array( - 'settings' => $settings, - 'folderOptions' => $folderOptions, - 'sourceOptions' => $sourceOptions, - )); - } - - public function actionResizeElementAction() - { - $this->requirePostRequest(); - $this->requireAjaxRequest(); - - $assetIds = craft()->request->getPost('assetIds'); - $imageWidth = craft()->request->getPost('imageWidth'); - $imageHeight = craft()->request->getPost('imageHeight'); - $bulkResize = craft()->request->getPost('bulkResize'); - $assetFolderId = craft()->request->getPost('assetFolderId'); - $taskId = craft()->request->getPost('taskId'); - - if ($bulkResize) { - $criteria = craft()->elements->getCriteria(ElementType::Asset); - $criteria->limit = null; - $criteria->folderId = $assetFolderId; - $assetIds = $criteria->ids(); - } - - craft()->tasks->createTask('ImageResizer', 'Resizing images', array( - 'taskId' => $taskId, - 'assets' => $assetIds, - 'imageWidth' => $imageWidth, - 'imageHeight' => $imageHeight, - )); - - $this->returnJson(array('success' => true)); - } - - public function actionCropElementAction() - { - $this->requireAjaxRequest(); - - $assetId = craft()->request->getRequiredPost('assetId'); - - $asset = craft()->assets->getFileById($assetId); - - $constraint = 500; - - if ($asset) { - // Never scale up the images, so make the scaling factor always <= 1 - $factor = min($constraint / $asset->width, $constraint / $asset->height, 1); - $imageUrl = $asset->url . '?' . uniqid(); - $width = round($asset->width * $factor); - $height = round($asset->height * $factor); - $fileName = $asset->title; - - $html = ''; - - $this->returnJson(array('html' => $html)); - } - } - - public function actionCropSaveAction() - { - $this->requireAjaxRequest(); - - try { - $x1 = craft()->request->getRequiredPost('x1'); - $x2 = craft()->request->getRequiredPost('x2'); - $y1 = craft()->request->getRequiredPost('y1'); - $y2 = craft()->request->getRequiredPost('y2'); - $source = craft()->request->getRequiredPost('source'); - $assetId = craft()->request->getPost('assetId'); - - // We're editing an existing image - if ($assetId) { - $asset = craft()->assets->getFileById($assetId); - - $result = craft()->imageResizer_crop->crop($asset, $x1, $x2, $y1, $y2); - - if ($result) { - $this->returnJson(array('success' => true)); - } else { - $this->returnErrorJson(Craft::t('Could not crop the image.')); - } - } - - } catch (Exception $exception) { - $this->returnErrorJson($exception->getMessage()); - } - - $this->returnErrorJson(Craft::t('Something went wrong when processing the image.')); - } - - public function actionClearTasks() - { - // Function to clear (delete) all stuck tasks. - craft()->db->createCommand()->delete('tasks'); - - $this->redirect(craft()->request->getUrlReferrer()); - } - - public function actionGetTaskSummary() - { - $this->requirePostRequest(); - $this->requireAjaxRequest(); - - $taskId = craft()->request->getPost('taskId'); - - $result = craft()->imageResizer_logs->getLogsForTaskId($taskId); - - $summary = array( - 'success' => 0, - 'skipped' => 0, - 'error' => 0, - ); - - // Split the logs for this task into success/skipped/error - foreach ($result as $entry) { - $summary[$entry->result] = $summary[$entry->result] + 1; - } - - $this->returnJson(array('summary' => $summary)); - } - -} \ No newline at end of file diff --git a/imageresizer/controllers/ImageResizer_LogsController.php b/imageresizer/controllers/ImageResizer_LogsController.php deleted file mode 100644 index 574246d..0000000 --- a/imageresizer/controllers/ImageResizer_LogsController.php +++ /dev/null @@ -1,24 +0,0 @@ -imageResizer_logs->getLogEntries(); - - $this->renderTemplate('imageresizer/logs', array( - 'logEntries' => $logEntries, - )); - } - - public function actionClear() - { - craft()->imageResizer_logs->clear(); - - craft()->request->redirect(craft()->request->urlReferrer); - } -} diff --git a/imageresizer/elementactions/ImageResizer_CropImageElementAction.php b/imageresizer/elementactions/ImageResizer_CropImageElementAction.php deleted file mode 100644 index 466438d..0000000 --- a/imageresizer/elementactions/ImageResizer_CropImageElementAction.php +++ /dev/null @@ -1,30 +0,0 @@ -templates->includeJsResource('lib/jcrop/jquery.Jcrop.min.js'); - craft()->templates->includeCssResource('lib/jcrop/jquery.Jcrop.min.css'); - - craft()->templates->includeJsResource('imageresizer/lib/imagesloaded.pkgd.min.js'); - - $croppingRatios = craft()->imageResizer->getSettings()->croppingRatios; - - // Convert to reguar array for JS - otherwise keeps original ordering - $croppingRatios = array_values($croppingRatios); - - craft()->templates->includeCssResource('imageresizer/css/CropElementAction.css'); - craft()->templates->includeJsResource('imageresizer/js/CropElementAction.js'); - - craft()->templates->includeJs('new Craft.CropElementAction(' . - ''.json_encode($croppingRatios).'' . - ');'); - } -} \ No newline at end of file diff --git a/imageresizer/elementactions/ImageResizer_ResizeImageElementAction.php b/imageresizer/elementactions/ImageResizer_ResizeImageElementAction.php deleted file mode 100644 index 0d9cd93..0000000 --- a/imageresizer/elementactions/ImageResizer_ResizeImageElementAction.php +++ /dev/null @@ -1,24 +0,0 @@ -imageResizer->getSettings()->imageWidth; - $imageHeight = craft()->imageResizer->getSettings()->imageHeight; - - craft()->templates->includeCssResource('imageresizer/css/ResizeElementAction.css'); - craft()->templates->includeJsResource('imageresizer/js/ResizeElementAction.js'); - - craft()->templates->includeJs('new Craft.ResizeElementAction(' . - '"'.$imageWidth.'", ' . - '"'.$imageHeight.'"' . - ');'); - } -} \ No newline at end of file diff --git a/imageresizer/models/ImageResizer_LogModel.php b/imageresizer/models/ImageResizer_LogModel.php deleted file mode 100644 index bad1b96..0000000 --- a/imageresizer/models/ImageResizer_LogModel.php +++ /dev/null @@ -1,61 +0,0 @@ -handle); - - if (isset($parts[0])) { - return $parts[0]; - } else { - return 'error'; - } - } - - public function getDescription() - { - switch ($this->handle) { - case 'success': - return Craft::t('Resized successfully.'); - case 'skipped-larger-result': - return Craft::t('Resizing would result in a larger file.'); - case 'skipped-non-image': - return Craft::t('Image cannot be resized (not manipulatable).'); - case 'skipped-under-limits': - return Craft::t('Image already under maximum width/height.'); - case 'skipped-no-source': - return Craft::t('Source not found.'); - case 'skipped-no-source-type': - return Craft::t('Source type not found.'); - case 'skipped-source-disabled': - return Craft::t('Source not enabled to auto-resize on upload.'); - case 'skipped-remote-source': - return Craft::t('Resize for remote sources not supported.'); - case 'error': - return Craft::t('Error.'); - default: - return $this->message; - } - } - - - // Protected Methods - // ========================================================================= - - protected function defineAttributes() - { - return array( - 'dateTime' => AttributeType::DateTime, - 'taskId' => AttributeType::String, - 'handle' => AttributeType::String, - 'filename' => AttributeType::String, - 'data' => AttributeType::Mixed, - 'message' => AttributeType::String, - ); - } -} diff --git a/imageresizer/resources/css/CropElementAction.css b/imageresizer/resources/css/CropElementAction.css deleted file mode 100644 index d109e06..0000000 --- a/imageresizer/resources/css/CropElementAction.css +++ /dev/null @@ -1,37 +0,0 @@ - -.image-resizer-crop-modal .crop-image { - position: relative; - height: 100%; -} - -.image-resizer-crop-modal { - padding-bottom: 58px; -} - -.image-resizer-crop-modal .spinner.big { - position: absolute; - top: 50%; - margin: -24px; - z-index: 1000; -} - -.image-resizer-crop-modal .footer { - position: absolute; - bottom: 0; - left: 0; - width: 100%; - height: 59px; - margin: 0; -} - -.image-resizer-crop-modal .footer .spinner { - position: absolute; -} - -body.ltr .buttons.leftalign { - float: left; -} - -body.ltr .buttons.rightalign { - float: right; -} \ No newline at end of file diff --git a/imageresizer/resources/js/CropElementAction.js b/imageresizer/resources/js/CropElementAction.js deleted file mode 100644 index 18c22d7..0000000 --- a/imageresizer/resources/js/CropElementAction.js +++ /dev/null @@ -1,269 +0,0 @@ -(function() { -Craft.CropElementAction = Garnish.Base.extend({ - - init: function(croppingRatios) { - var cropTrigger = new Craft.ElementActionTrigger({ - handle: 'ImageResizer_CropImage', - batch: false, - validateSelection: function($selectedItems) { - var documents = $selectedItems.find('.element.hasicon').length; - return (documents > 0) ? false : true; - }, - activate: function($selectedItems) { - new Craft.CropImageModal($selectedItems.find('.element'), $selectedItems, { croppingRatios: croppingRatios }); - } - }); - }, - -}); - -Craft.CropImageModal = Garnish.Modal.extend( -{ - $element: null, - $selectedItems: null, - settings: null, - - $container: null, - $body: null, - $footerSpinner: null, - $buttonsLeft: null, - $buttonsRight: null, - $cancelBtn: null, - $saveBtn: null, - $aspectRatioSelect: null, - - areaSelect: null, - - init: function($element, $selectedItems, settings) { - this.$element = $element; - this.$selectedItems = $selectedItems; - this.settings = settings; - - this.desiredWidth = 400; - this.desiredHeight = 280; - this.initialAspectRatio = settings.croppingRatios[0]; - - // Build the modal - var $container = $('').appendTo(Garnish.$bod), - $footer = $('