From 8f4da4ea838c52d857a12398967da2a99967a14e Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Tue, 2 Jul 2019 19:59:59 -0700 Subject: Sample gradle npm test --- app/src/main/play/en-US/whatsnew | 3 +- app/src/main/res/xml/frost_changelog.xml | 2 +- buildSrc/build.gradle.kts | 27 +++++++++- buildSrc/src/main/kotlin/FrostPlugin.kt | 38 +++++++++++++++ buildSrc/src/main/kotlin/Versions.kt | 2 + buildSrc/src/main/kotlin/WebGenInstallTask.groovy | 55 +++++++++++++++++++++ docs/Changelog.md | 1 + settings.gradle.kts | 2 +- web-gen/build.gradle | 16 ++++++ .../frost/gradle/WebGenInstallTask.groovy | 57 ++++++++++++++++++++++ .../pitchedapps/frost/gradle/WebGenPlugin.groovy | 49 +++++++++++++++++++ .../com.pitchedapps.frost.gradle.properties | 1 + 12 files changed, 248 insertions(+), 5 deletions(-) create mode 100644 buildSrc/src/main/kotlin/FrostPlugin.kt create mode 100644 buildSrc/src/main/kotlin/WebGenInstallTask.groovy create mode 100644 web-gen/build.gradle create mode 100644 web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenInstallTask.groovy create mode 100644 web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenPlugin.groovy create mode 100644 web-gen/src/main/resources/META-INF/gradle-plugins/com.pitchedapps.frost.gradle.properties diff --git a/app/src/main/play/en-US/whatsnew b/app/src/main/play/en-US/whatsnew index 9ae7372d..ec5e33e9 100644 --- a/app/src/main/play/en-US/whatsnew +++ b/app/src/main/play/en-US/whatsnew @@ -2,4 +2,5 @@ v2.3.1 * Hide all story panels if enabled * Prevent swipe to refresh if not at the very top -* Add vertical swipe to dismiss when viewing images \ No newline at end of file +* Add vertical swipe to dismiss when viewing images +* Add horizontal scroll support for webviews \ No newline at end of file diff --git a/app/src/main/res/xml/frost_changelog.xml b/app/src/main/res/xml/frost_changelog.xml index 32fc108b..3562c5c9 100644 --- a/app/src/main/res/xml/frost_changelog.xml +++ b/app/src/main/res/xml/frost_changelog.xml @@ -10,7 +10,7 @@ - + diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 0c518118..aded2979 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -1,5 +1,9 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + plugins { `kotlin-dsl` + groovy + idea } group = "com.pitchedapps" @@ -12,13 +16,32 @@ repositories { // Currently can't read properties from root project // Reading it manually since it's simple val rootProps = - File(project.rootDir.let { if (it.name == "buildSrc") it.parent else it.absolutePath }, "gradle.properties") + File( + project.rootDir.let { if (it.name == "buildSrc") it.parent else it.absolutePath }, + "gradle.properties" + ) val kau = rootProps.useLines { it.first { s -> s.startsWith("KAU=") } }.substring(4).trim() println("Using kau $kau") +sourceSets { + main { + withConvention(GroovySourceSet::class) { + groovy.srcDir("src/main/groovy") + } + } +} + dependencies { implementation("ca.allanwang.kau:gradle-plugin:$kau") -} \ No newline at end of file + implementation("com.moowork.gradle:gradle-node-plugin:1.3.1") +} + +val compileGroovy = tasks.withType().first() +val compileKotlin = tasks.withType().first() + +compileGroovy.dependsOn.remove(compileKotlin) +compileKotlin.dependsOn(compileGroovy) +compileKotlin.classpath += files(compileGroovy.destinationDir) diff --git a/buildSrc/src/main/kotlin/FrostPlugin.kt b/buildSrc/src/main/kotlin/FrostPlugin.kt new file mode 100644 index 00000000..8e640f04 --- /dev/null +++ b/buildSrc/src/main/kotlin/FrostPlugin.kt @@ -0,0 +1,38 @@ +import com.moowork.gradle.node.NodeExtension +import com.moowork.gradle.node.NodePlugin +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.kotlin.dsl.apply +import org.gradle.kotlin.dsl.create + +class FrostPlugin : Plugin { + + companion object { + private const val NODE_VERSION = "12.4.0" + } + + override fun apply(project: Project) { + project.plugins.withId("java-base") { + project.applyWebGenPlugin() + } + project.gradle.taskGraph.whenReady { + if (!project.plugins.hasPlugin("java-base")) { + throw IllegalArgumentException( + "Frost plugin can't be applied without Android or Java or Kotlin plugin." + ) + } + } + } + + private fun Project.applyWebGenPlugin() { + setupNode() +// tasks.create(WebGenInstallTask.NAME, WebGenInstallTask::class) + } + + private fun Project.setupNode() { + plugins.apply(NodePlugin::class) + val nodeConfig = extensions.findByName("node") as NodeExtension + nodeConfig.download = true + nodeConfig.version = NODE_VERSION + } +} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 7eaa9a4a..5d93dbfa 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -34,4 +34,6 @@ object Versions { const val scaleImageView = "3.10.0" // https://github.com/umano/AndroidSlidingUpPanel#importing-the-library const val slidingPanel = "3.4.0" + // https://github.com/srs/gradle-node-plugin/releases + const val nodeGradle = "1.3.1" } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/WebGenInstallTask.groovy b/buildSrc/src/main/kotlin/WebGenInstallTask.groovy new file mode 100644 index 00000000..a70effee --- /dev/null +++ b/buildSrc/src/main/kotlin/WebGenInstallTask.groovy @@ -0,0 +1,55 @@ +import com.moowork.gradle.node.npm.NpmTask +import org.gradle.api.file.DirectoryProperty +import org.gradle.api.file.RegularFileProperty +import org.gradle.api.model.ObjectFactory +import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.tasks.OutputFile + +/** + * Based on https://github.com/apollographql/apollo-android/blob/master/apollo-gradle-plugin/src/main/groovy/com/apollographql/apollo/gradle/ApolloCodegenInstallTask.groovy + */ +class WebGenInstallTask extends NpmTask { + + static final String TAG = "frost-web-gen" + public static final String NAME = "installWebGen" + static final String INSTALLATION_PATH = TAG + File.separator + "node_modules" + static final String PACKAGE_FILE_PATH = TAG + File.separator + "package.json" + + static final String TYPESCRIPT_VERSION = "3.3.1" + static final String SASS_VERSION = "1.19.0" + + @OutputDirectory + final DirectoryProperty installDir = ObjectFactory.directoryProperty() + @OutputFile + final RegularFileProperty packageFile = ObjectFactory.fileProperty() + + WebGenInstallTask() { + setGroup("frost") + setDescription("Runs npm install for $TAG") + installDir.set(project.file(new File(project.buildDir, INSTALLATION_PATH))) + packageFile.set(project.file(new File(project.buildDir, PACKAGE_FILE_PATH))) + } + + @Override + void exec() { + installDir.get().getAsFile().deleteDir() + writePackageFile(packageFile.get().getAsFile()) + + setArgs(Lists.newArrayList("install", "typescript@" + TYPESCRIPT_VERSION, "sass@" + SASS_VERSION, "--save", "--save-exact")) + getLogging().captureStandardOutput(LogLevel.INFO) + + super.exec() + } + + /** + * Generates a dummy package.json file to silence npm warnings + */ + private static void writePackageFile(File apolloPackageFile) { + apolloPackageFile.write( + '''{ + "name": "frost-web-gen" +} +''' + ) + } +} \ No newline at end of file diff --git a/docs/Changelog.md b/docs/Changelog.md index bfcfaf47..4ebca7e8 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -4,6 +4,7 @@ * Hide all story panels if enabled * Prevent swipe to refresh if not at the very top * Add vertical swipe to dismiss when viewing images +* Add horizontal scroll support for webviews ## v2.3.0 * Converted internals of Facebook data storage; auto migration will only work from 2.2.x to 2.3.x diff --git a/settings.gradle.kts b/settings.gradle.kts index 270f7597..291a3447 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,3 +1,3 @@ -include(":app", ":gradle-plugin") +include(":app", ":gradle-plugin", ":web-gen") project(":gradle-plugin").projectDir = file("buildSrc") \ No newline at end of file diff --git a/web-gen/build.gradle b/web-gen/build.gradle new file mode 100644 index 00000000..3f23b8b9 --- /dev/null +++ b/web-gen/build.gradle @@ -0,0 +1,16 @@ +apply plugin: 'groovy' +apply plugin: 'idea' +apply plugin: 'java-gradle-plugin' + +sourceSets.main.java.srcDirs = [] +sourceSets.main.groovy.srcDirs = ["src/main/java", "src/main/groovy"] + +repositories { + jcenter() +} + +dependencies { + compileOnly gradleApi() + implementation localGroovy() + implementation "com.moowork.gradle:gradle-node-plugin:${Versions.nodeGradle}" +} diff --git a/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenInstallTask.groovy b/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenInstallTask.groovy new file mode 100644 index 00000000..55b8aab8 --- /dev/null +++ b/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenInstallTask.groovy @@ -0,0 +1,57 @@ +package com.pitchedapps.frost.gradle + +import com.moowork.gradle.node.npm.NpmTask +import org.gradle.api.file.DirectoryProperty +import org.gradle.api.file.RegularFileProperty +import org.gradle.api.model.ObjectFactory +import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.tasks.OutputFile + +/** + * Based on https://github.com/apollographql/apollo-android/blob/master/apollo-gradle-plugin/src/main/groovy/com/apollographql/apollo/gradle/ApolloCodegenInstallTask.groovy + */ +class WebGenInstallTask extends NpmTask { + + static final String TAG = "frost-web-gen" + static final String NAME = "installWebGen" + static final String INSTALLATION_PATH = TAG + File.separator + "node_modules" + static final String PACKAGE_FILE_PATH = TAG + File.separator + "package.json" + + static final String TYPESCRIPT_VERSION = "3.3.1" + static final String SASS_VERSION = "1.19.0" + + @OutputDirectory + final DirectoryProperty installDir = ObjectFactory.directoryProperty() + @OutputFile + final RegularFileProperty packageFile = ObjectFactory.fileProperty() + + WebGenInstallTask() { + setGroup("frost") + setDescription("Runs npm install for $TAG") + installDir.set(project.file(new File(project.buildDir, INSTALLATION_PATH))) + packageFile.set(project.file(new File(project.buildDir, PACKAGE_FILE_PATH))) + } + + @Override + void exec() { + installDir.get().getAsFile().deleteDir() + writePackageFile(packageFile.get().getAsFile()) + + setArgs(Lists.newArrayList("install", "typescript@" + TYPESCRIPT_VERSION, "sass@" + SASS_VERSION, "--save", "--save-exact")) + getLogging().captureStandardOutput(LogLevel.INFO) + + super.exec() + } + + /** + * Generates a dummy package.json file to silence npm warnings + */ + private static void writePackageFile(File apolloPackageFile) { + apolloPackageFile.write( + '''{ + "name": "frost-web-gen" +} +''' + ) + } +} \ No newline at end of file diff --git a/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenPlugin.groovy b/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenPlugin.groovy new file mode 100644 index 00000000..90609607 --- /dev/null +++ b/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenPlugin.groovy @@ -0,0 +1,49 @@ +import com.moowork.gradle.node.NodeExtension +import com.pitchedapps.frost.gradle.WebGenInstallTask +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.internal.file.FileResolver + +import javax.inject.Inject + +class WebGenPlugin implements Plugin { + + private static final String NODE_VERSION = "12.4.0" + private Project project + private final FileResolver fileResolver + + @Inject + WebGenPlugin(FileResolver fileResolver) { + this.fileResolver = fileResolver + } + + /** + * Based on https://github.com/apollographql/apollo-android/blob/master/apollo-gradle-plugin/src/main/groovy/com/apollographql/apollo/gradle/ApolloPlugin.groovy + * @param target + */ + @Override + void apply(Project target) { + this.project = project + project.plugins.withId("java-base") { + applyWebGenPlugin() + } + project.gradle.getTaskGraph().whenReady { + if (!project.plugins.hasPlugin("java-base")) { + throw new IllegalArgumentException( + "Frost Web Gen plugin can't be applied without Android or Java or Kotlin plugin.") + } + } + } + + private void applyWebGenPlugin() { + setupNode() + project.tasks.create(WebGenInstallTask.NAME, WebGenInstallTask.class) + } + + private void setupNode() { + project.plugins.apply NodePlugin + NodeExtension nodeConfig = project.extensions.findByName("node") as NodeExtension + nodeConfig.download = true + nodeConfig.version = NODE_VERSION + } +} \ No newline at end of file diff --git a/web-gen/src/main/resources/META-INF/gradle-plugins/com.pitchedapps.frost.gradle.properties b/web-gen/src/main/resources/META-INF/gradle-plugins/com.pitchedapps.frost.gradle.properties new file mode 100644 index 00000000..b6435604 --- /dev/null +++ b/web-gen/src/main/resources/META-INF/gradle-plugins/com.pitchedapps.frost.gradle.properties @@ -0,0 +1 @@ +implementation-class=com.pitchedapps.frost.gradle.WebGenPlugin -- cgit v1.2.3 From 648a89d79fd26e717cde0ea58dff8a1a90d89475 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Tue, 2 Jul 2019 23:09:09 -0700 Subject: Delete web gen folder --- settings.gradle.kts | 2 +- web-gen/build.gradle | 16 ------ .../frost/gradle/WebGenInstallTask.groovy | 57 ---------------------- .../pitchedapps/frost/gradle/WebGenPlugin.groovy | 49 ------------------- .../com.pitchedapps.frost.gradle.properties | 1 - 5 files changed, 1 insertion(+), 124 deletions(-) delete mode 100644 web-gen/build.gradle delete mode 100644 web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenInstallTask.groovy delete mode 100644 web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenPlugin.groovy delete mode 100644 web-gen/src/main/resources/META-INF/gradle-plugins/com.pitchedapps.frost.gradle.properties diff --git a/settings.gradle.kts b/settings.gradle.kts index 291a3447..270f7597 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,3 +1,3 @@ -include(":app", ":gradle-plugin", ":web-gen") +include(":app", ":gradle-plugin") project(":gradle-plugin").projectDir = file("buildSrc") \ No newline at end of file diff --git a/web-gen/build.gradle b/web-gen/build.gradle deleted file mode 100644 index 3f23b8b9..00000000 --- a/web-gen/build.gradle +++ /dev/null @@ -1,16 +0,0 @@ -apply plugin: 'groovy' -apply plugin: 'idea' -apply plugin: 'java-gradle-plugin' - -sourceSets.main.java.srcDirs = [] -sourceSets.main.groovy.srcDirs = ["src/main/java", "src/main/groovy"] - -repositories { - jcenter() -} - -dependencies { - compileOnly gradleApi() - implementation localGroovy() - implementation "com.moowork.gradle:gradle-node-plugin:${Versions.nodeGradle}" -} diff --git a/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenInstallTask.groovy b/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenInstallTask.groovy deleted file mode 100644 index 55b8aab8..00000000 --- a/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenInstallTask.groovy +++ /dev/null @@ -1,57 +0,0 @@ -package com.pitchedapps.frost.gradle - -import com.moowork.gradle.node.npm.NpmTask -import org.gradle.api.file.DirectoryProperty -import org.gradle.api.file.RegularFileProperty -import org.gradle.api.model.ObjectFactory -import org.gradle.api.tasks.OutputDirectory -import org.gradle.api.tasks.OutputFile - -/** - * Based on https://github.com/apollographql/apollo-android/blob/master/apollo-gradle-plugin/src/main/groovy/com/apollographql/apollo/gradle/ApolloCodegenInstallTask.groovy - */ -class WebGenInstallTask extends NpmTask { - - static final String TAG = "frost-web-gen" - static final String NAME = "installWebGen" - static final String INSTALLATION_PATH = TAG + File.separator + "node_modules" - static final String PACKAGE_FILE_PATH = TAG + File.separator + "package.json" - - static final String TYPESCRIPT_VERSION = "3.3.1" - static final String SASS_VERSION = "1.19.0" - - @OutputDirectory - final DirectoryProperty installDir = ObjectFactory.directoryProperty() - @OutputFile - final RegularFileProperty packageFile = ObjectFactory.fileProperty() - - WebGenInstallTask() { - setGroup("frost") - setDescription("Runs npm install for $TAG") - installDir.set(project.file(new File(project.buildDir, INSTALLATION_PATH))) - packageFile.set(project.file(new File(project.buildDir, PACKAGE_FILE_PATH))) - } - - @Override - void exec() { - installDir.get().getAsFile().deleteDir() - writePackageFile(packageFile.get().getAsFile()) - - setArgs(Lists.newArrayList("install", "typescript@" + TYPESCRIPT_VERSION, "sass@" + SASS_VERSION, "--save", "--save-exact")) - getLogging().captureStandardOutput(LogLevel.INFO) - - super.exec() - } - - /** - * Generates a dummy package.json file to silence npm warnings - */ - private static void writePackageFile(File apolloPackageFile) { - apolloPackageFile.write( - '''{ - "name": "frost-web-gen" -} -''' - ) - } -} \ No newline at end of file diff --git a/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenPlugin.groovy b/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenPlugin.groovy deleted file mode 100644 index 90609607..00000000 --- a/web-gen/src/main/groovy/com/pitchedapps/frost/gradle/WebGenPlugin.groovy +++ /dev/null @@ -1,49 +0,0 @@ -import com.moowork.gradle.node.NodeExtension -import com.pitchedapps.frost.gradle.WebGenInstallTask -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.api.internal.file.FileResolver - -import javax.inject.Inject - -class WebGenPlugin implements Plugin { - - private static final String NODE_VERSION = "12.4.0" - private Project project - private final FileResolver fileResolver - - @Inject - WebGenPlugin(FileResolver fileResolver) { - this.fileResolver = fileResolver - } - - /** - * Based on https://github.com/apollographql/apollo-android/blob/master/apollo-gradle-plugin/src/main/groovy/com/apollographql/apollo/gradle/ApolloPlugin.groovy - * @param target - */ - @Override - void apply(Project target) { - this.project = project - project.plugins.withId("java-base") { - applyWebGenPlugin() - } - project.gradle.getTaskGraph().whenReady { - if (!project.plugins.hasPlugin("java-base")) { - throw new IllegalArgumentException( - "Frost Web Gen plugin can't be applied without Android or Java or Kotlin plugin.") - } - } - } - - private void applyWebGenPlugin() { - setupNode() - project.tasks.create(WebGenInstallTask.NAME, WebGenInstallTask.class) - } - - private void setupNode() { - project.plugins.apply NodePlugin - NodeExtension nodeConfig = project.extensions.findByName("node") as NodeExtension - nodeConfig.download = true - nodeConfig.version = NODE_VERSION - } -} \ No newline at end of file diff --git a/web-gen/src/main/resources/META-INF/gradle-plugins/com.pitchedapps.frost.gradle.properties b/web-gen/src/main/resources/META-INF/gradle-plugins/com.pitchedapps.frost.gradle.properties deleted file mode 100644 index b6435604..00000000 --- a/web-gen/src/main/resources/META-INF/gradle-plugins/com.pitchedapps.frost.gradle.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=com.pitchedapps.frost.gradle.WebGenPlugin -- cgit v1.2.3 From 5a107bcb768fa1e7fb110ba65e22e49b3b004eed Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Tue, 2 Jul 2019 23:22:11 -0700 Subject: Convert install task to kotlin using delegation --- buildSrc/build.gradle.kts | 30 +++++----- buildSrc/src/main/kotlin/FrostPlugin.kt | 6 +- buildSrc/src/main/kotlin/WebGenInstallTask.groovy | 55 ------------------ buildSrc/src/main/kotlin/WebGenInstallTask.kt | 68 +++++++++++++++++++++++ 4 files changed, 85 insertions(+), 74 deletions(-) delete mode 100644 buildSrc/src/main/kotlin/WebGenInstallTask.groovy create mode 100644 buildSrc/src/main/kotlin/WebGenInstallTask.kt diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index aded2979..efb7a7dd 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -2,8 +2,8 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `kotlin-dsl` - groovy - idea +// groovy +// idea } group = "com.pitchedapps" @@ -26,22 +26,22 @@ val kau = rootProps.useLines { println("Using kau $kau") -sourceSets { - main { - withConvention(GroovySourceSet::class) { - groovy.srcDir("src/main/groovy") - } - } -} +//sourceSets { +// main { +// withConvention(GroovySourceSet::class) { +// groovy.srcDir("src/main/groovy") +// } +// } +//} dependencies { implementation("ca.allanwang.kau:gradle-plugin:$kau") implementation("com.moowork.gradle:gradle-node-plugin:1.3.1") } -val compileGroovy = tasks.withType().first() -val compileKotlin = tasks.withType().first() - -compileGroovy.dependsOn.remove(compileKotlin) -compileKotlin.dependsOn(compileGroovy) -compileKotlin.classpath += files(compileGroovy.destinationDir) +//val compileGroovy = tasks.withType().first() +//val compileKotlin = tasks.withType().first() +// +//compileGroovy.dependsOn.remove(compileKotlin) +//compileKotlin.dependsOn(compileGroovy) +//compileKotlin.classpath += files(compileGroovy.destinationDir) diff --git a/buildSrc/src/main/kotlin/FrostPlugin.kt b/buildSrc/src/main/kotlin/FrostPlugin.kt index 8e640f04..0fd4ea9d 100644 --- a/buildSrc/src/main/kotlin/FrostPlugin.kt +++ b/buildSrc/src/main/kotlin/FrostPlugin.kt @@ -17,16 +17,14 @@ class FrostPlugin : Plugin { } project.gradle.taskGraph.whenReady { if (!project.plugins.hasPlugin("java-base")) { - throw IllegalArgumentException( - "Frost plugin can't be applied without Android or Java or Kotlin plugin." - ) + throw IllegalArgumentException("Frost plugin can't be applied without Android or Java or Kotlin plugin.") } } } private fun Project.applyWebGenPlugin() { setupNode() -// tasks.create(WebGenInstallTask.NAME, WebGenInstallTask::class) + tasks.create(WebGenInstallTask.NAME, WebGenInstallTask::class) } private fun Project.setupNode() { diff --git a/buildSrc/src/main/kotlin/WebGenInstallTask.groovy b/buildSrc/src/main/kotlin/WebGenInstallTask.groovy deleted file mode 100644 index a70effee..00000000 --- a/buildSrc/src/main/kotlin/WebGenInstallTask.groovy +++ /dev/null @@ -1,55 +0,0 @@ -import com.moowork.gradle.node.npm.NpmTask -import org.gradle.api.file.DirectoryProperty -import org.gradle.api.file.RegularFileProperty -import org.gradle.api.model.ObjectFactory -import org.gradle.api.tasks.OutputDirectory -import org.gradle.api.tasks.OutputFile - -/** - * Based on https://github.com/apollographql/apollo-android/blob/master/apollo-gradle-plugin/src/main/groovy/com/apollographql/apollo/gradle/ApolloCodegenInstallTask.groovy - */ -class WebGenInstallTask extends NpmTask { - - static final String TAG = "frost-web-gen" - public static final String NAME = "installWebGen" - static final String INSTALLATION_PATH = TAG + File.separator + "node_modules" - static final String PACKAGE_FILE_PATH = TAG + File.separator + "package.json" - - static final String TYPESCRIPT_VERSION = "3.3.1" - static final String SASS_VERSION = "1.19.0" - - @OutputDirectory - final DirectoryProperty installDir = ObjectFactory.directoryProperty() - @OutputFile - final RegularFileProperty packageFile = ObjectFactory.fileProperty() - - WebGenInstallTask() { - setGroup("frost") - setDescription("Runs npm install for $TAG") - installDir.set(project.file(new File(project.buildDir, INSTALLATION_PATH))) - packageFile.set(project.file(new File(project.buildDir, PACKAGE_FILE_PATH))) - } - - @Override - void exec() { - installDir.get().getAsFile().deleteDir() - writePackageFile(packageFile.get().getAsFile()) - - setArgs(Lists.newArrayList("install", "typescript@" + TYPESCRIPT_VERSION, "sass@" + SASS_VERSION, "--save", "--save-exact")) - getLogging().captureStandardOutput(LogLevel.INFO) - - super.exec() - } - - /** - * Generates a dummy package.json file to silence npm warnings - */ - private static void writePackageFile(File apolloPackageFile) { - apolloPackageFile.write( - '''{ - "name": "frost-web-gen" -} -''' - ) - } -} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/WebGenInstallTask.kt b/buildSrc/src/main/kotlin/WebGenInstallTask.kt new file mode 100644 index 00000000..2076ee84 --- /dev/null +++ b/buildSrc/src/main/kotlin/WebGenInstallTask.kt @@ -0,0 +1,68 @@ +import com.moowork.gradle.node.npm.NpmTask +import org.gradle.api.DefaultTask +import org.gradle.api.logging.LogLevel +import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.tasks.OutputFile +import org.gradle.api.tasks.TaskAction +import java.io.File + +/** + * Based on https://github.com/apollographql/apollo-android/blob/master/apollo-gradle-plugin/src/main/groovy/com/apollographql/apollo/gradle/ApolloCodegenInstallTask.groovy + */ +class WebGenInstallTask : DefaultTask() { + + companion object { + const val TAG = "frost-web-gen" + const val NAME = "installWebGen" + val INSTALLATION_PATH = TAG + File.separator + "node_modules" + val PACKAGE_FILE_PATH = TAG + File.separator + "package.json" + + const val TYPESCRIPT_VERSION = "3.3.1" + const val SASS_VERSION = "1.19.0" + } + + @OutputDirectory + val installDir = project.layout.directoryProperty() + @OutputFile + val packageFile = project.layout.fileProperty() + + val npmTask = NpmTask() + + init { + group = "frost" + description = "Runs npm install for $TAG" + + installDir.set(project.file(File(project.buildDir, INSTALLATION_PATH))) + packageFile.set(project.file(File(project.buildDir, PACKAGE_FILE_PATH))) + + npmTask.setWorkingDir(File(project.buildDir, TAG)) + } + + @TaskAction + fun exec() { + installDir.get().asFile.takeIf { it.isDirectory }?.deleteRecursively() + writePackageFile(packageFile.get().asFile) + npmTask.setArgs( + listOf( + "install", + "typescript@$TYPESCRIPT_VERSION", + "sass@$SASS_VERSION", + "--save", + "--save-exact" + ) + ) + npmTask.logging.captureStandardOutput(LogLevel.INFO) + npmTask.exec() + } + + private fun writePackageFile(packageFile: File) { + packageFile.writeText( + """ + { + "name": "$TAG", + "version": "1.0" + } + """.trimIndent() + ) + } +} \ No newline at end of file -- cgit v1.2.3 From 16e575ee54575b8c3e89465609221b62ab5f0eca Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Tue, 2 Jul 2019 23:24:22 -0700 Subject: Remove groovy stuff from build gradle --- buildSrc/build.gradle.kts | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index efb7a7dd..4397bae9 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -1,9 +1,5 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - plugins { `kotlin-dsl` -// groovy -// idea } group = "com.pitchedapps" @@ -26,22 +22,7 @@ val kau = rootProps.useLines { println("Using kau $kau") -//sourceSets { -// main { -// withConvention(GroovySourceSet::class) { -// groovy.srcDir("src/main/groovy") -// } -// } -//} - dependencies { implementation("ca.allanwang.kau:gradle-plugin:$kau") implementation("com.moowork.gradle:gradle-node-plugin:1.3.1") -} - -//val compileGroovy = tasks.withType().first() -//val compileKotlin = tasks.withType().first() -// -//compileGroovy.dependsOn.remove(compileKotlin) -//compileKotlin.dependsOn(compileGroovy) -//compileKotlin.classpath += files(compileGroovy.destinationDir) +} \ No newline at end of file -- cgit v1.2.3 From 93d2d28af68c932e1bdd931fcb4a62943c45e14d Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Tue, 2 Jul 2019 23:43:05 -0700 Subject: Test install task --- app/build.gradle | 1 + buildSrc/build.gradle.kts | 9 +++++++++ buildSrc/src/main/kotlin/FrostPlugin.kt | 1 + buildSrc/src/main/kotlin/WebGenInstallTask.kt | 5 +++-- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4efd7930..0f5188b7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,6 +5,7 @@ apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'com.getkeepsafe.dexcount' apply plugin: 'com.gladed.androidgitversion' +apply plugin: FrostPlugin apply from: '../spotless.gradle' group = APP_GROUP diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 4397bae9..d9ff7951 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -22,6 +22,15 @@ val kau = rootProps.useLines { println("Using kau $kau") +gradlePlugin { + plugins { + register("frost-web-gen") { + id = "frost" + implementationClass = "FrostPlugin" + } + } +} + dependencies { implementation("ca.allanwang.kau:gradle-plugin:$kau") implementation("com.moowork.gradle:gradle-node-plugin:1.3.1") diff --git a/buildSrc/src/main/kotlin/FrostPlugin.kt b/buildSrc/src/main/kotlin/FrostPlugin.kt index 0fd4ea9d..7b5075f8 100644 --- a/buildSrc/src/main/kotlin/FrostPlugin.kt +++ b/buildSrc/src/main/kotlin/FrostPlugin.kt @@ -12,6 +12,7 @@ class FrostPlugin : Plugin { } override fun apply(project: Project) { + println("Applying Frost Plugin") project.plugins.withId("java-base") { project.applyWebGenPlugin() } diff --git a/buildSrc/src/main/kotlin/WebGenInstallTask.kt b/buildSrc/src/main/kotlin/WebGenInstallTask.kt index 2076ee84..a185a7f0 100644 --- a/buildSrc/src/main/kotlin/WebGenInstallTask.kt +++ b/buildSrc/src/main/kotlin/WebGenInstallTask.kt @@ -1,6 +1,7 @@ import com.moowork.gradle.node.npm.NpmTask import org.gradle.api.DefaultTask import org.gradle.api.logging.LogLevel +import org.gradle.api.tasks.CacheableTask import org.gradle.api.tasks.OutputDirectory import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.TaskAction @@ -9,7 +10,8 @@ import java.io.File /** * Based on https://github.com/apollographql/apollo-android/blob/master/apollo-gradle-plugin/src/main/groovy/com/apollographql/apollo/gradle/ApolloCodegenInstallTask.groovy */ -class WebGenInstallTask : DefaultTask() { +@CacheableTask +open class WebGenInstallTask : DefaultTask() { companion object { const val TAG = "frost-web-gen" @@ -34,7 +36,6 @@ class WebGenInstallTask : DefaultTask() { installDir.set(project.file(File(project.buildDir, INSTALLATION_PATH))) packageFile.set(project.file(File(project.buildDir, PACKAGE_FILE_PATH))) - npmTask.setWorkingDir(File(project.buildDir, TAG)) } -- cgit v1.2.3 From 33274faf9bb68eb95cb3e2e095cd0cef84aa6fd7 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 00:06:02 -0700 Subject: Remove custom extensions and use plugin as is --- app/build.gradle | 22 ++++++++- app/src/web/package-lock.json | 41 +++++----------- app/src/web/package.json | 4 ++ buildSrc/build.gradle.kts | 1 - buildSrc/src/main/kotlin/FrostPlugin.kt | 37 -------------- buildSrc/src/main/kotlin/WebGenInstallTask.kt | 69 --------------------------- 6 files changed, 36 insertions(+), 138 deletions(-) delete mode 100644 buildSrc/src/main/kotlin/FrostPlugin.kt delete mode 100644 buildSrc/src/main/kotlin/WebGenInstallTask.kt diff --git a/app/build.gradle b/app/build.gradle index 0f5188b7..b286a754 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,7 +5,18 @@ apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'com.getkeepsafe.dexcount' apply plugin: 'com.gladed.androidgitversion' -apply plugin: FrostPlugin + + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath "com.moowork.gradle:gradle-node-plugin:${Versions.nodeGradle}" + } +} + +apply plugin: com.moowork.gradle.node.NodePlugin apply from: '../spotless.gradle' group = APP_GROUP @@ -168,6 +179,15 @@ android { } +node { + download = true + nodeModulesDir = file("${project.projectDir}/src/web") +} + +task frostWebGen(type: NpmTask) { + args = ['run', 'compile'] +} + repositories { google() jcenter() diff --git a/app/src/web/package-lock.json b/app/src/web/package-lock.json index 8c7e9b78..1c7a7931 100644 --- a/app/src/web/package-lock.json +++ b/app/src/web/package-lock.json @@ -429,8 +429,7 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "optional": true + "bundled": true }, "aproba": { "version": "1.2.0", @@ -448,13 +447,11 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, - "optional": true + "bundled": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -467,18 +464,15 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "concat-map": { "version": "0.0.1", - "bundled": true, - "optional": true + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "core-util-is": { "version": "1.0.2", @@ -581,8 +575,7 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, - "optional": true + "bundled": true }, "ini": { "version": "1.3.5", @@ -592,7 +585,6 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -605,20 +597,17 @@ "minimatch": { "version": "3.0.4", "bundled": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true, - "optional": true + "bundled": true }, "minipass": { "version": "2.3.5", "bundled": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -635,7 +624,6 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -708,8 +696,7 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, - "optional": true + "bundled": true }, "object-assign": { "version": "4.1.1", @@ -719,7 +706,6 @@ "once": { "version": "1.4.0", "bundled": true, - "optional": true, "requires": { "wrappy": "1" } @@ -795,8 +781,7 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, - "optional": true + "bundled": true }, "safer-buffer": { "version": "2.1.2", @@ -826,7 +811,6 @@ "string-width": { "version": "1.0.2", "bundled": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -844,7 +828,6 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -883,13 +866,11 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, - "optional": true + "bundled": true }, "yallist": { "version": "3.0.3", - "bundled": true, - "optional": true + "bundled": true } } }, diff --git a/app/src/web/package.json b/app/src/web/package.json index fbdc2442..ef323afb 100644 --- a/app/src/web/package.json +++ b/app/src/web/package.json @@ -2,6 +2,10 @@ "scripts": { "compile": "tsc -p tsconfig.json && sass --no-source-map --style compressed --update scss:assets/css" }, + "license": "GPL-3.0", + "repository": { + "url": "https://github.com/AllanWang/Frost-for-Facebook" + }, "dependencies": { "typescript": "^3.3.1", "sass": "^1.19.0" diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index d9ff7951..3afa0486 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -33,5 +33,4 @@ gradlePlugin { dependencies { implementation("ca.allanwang.kau:gradle-plugin:$kau") - implementation("com.moowork.gradle:gradle-node-plugin:1.3.1") } \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/FrostPlugin.kt b/buildSrc/src/main/kotlin/FrostPlugin.kt deleted file mode 100644 index 7b5075f8..00000000 --- a/buildSrc/src/main/kotlin/FrostPlugin.kt +++ /dev/null @@ -1,37 +0,0 @@ -import com.moowork.gradle.node.NodeExtension -import com.moowork.gradle.node.NodePlugin -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.kotlin.dsl.apply -import org.gradle.kotlin.dsl.create - -class FrostPlugin : Plugin { - - companion object { - private const val NODE_VERSION = "12.4.0" - } - - override fun apply(project: Project) { - println("Applying Frost Plugin") - project.plugins.withId("java-base") { - project.applyWebGenPlugin() - } - project.gradle.taskGraph.whenReady { - if (!project.plugins.hasPlugin("java-base")) { - throw IllegalArgumentException("Frost plugin can't be applied without Android or Java or Kotlin plugin.") - } - } - } - - private fun Project.applyWebGenPlugin() { - setupNode() - tasks.create(WebGenInstallTask.NAME, WebGenInstallTask::class) - } - - private fun Project.setupNode() { - plugins.apply(NodePlugin::class) - val nodeConfig = extensions.findByName("node") as NodeExtension - nodeConfig.download = true - nodeConfig.version = NODE_VERSION - } -} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/WebGenInstallTask.kt b/buildSrc/src/main/kotlin/WebGenInstallTask.kt deleted file mode 100644 index a185a7f0..00000000 --- a/buildSrc/src/main/kotlin/WebGenInstallTask.kt +++ /dev/null @@ -1,69 +0,0 @@ -import com.moowork.gradle.node.npm.NpmTask -import org.gradle.api.DefaultTask -import org.gradle.api.logging.LogLevel -import org.gradle.api.tasks.CacheableTask -import org.gradle.api.tasks.OutputDirectory -import org.gradle.api.tasks.OutputFile -import org.gradle.api.tasks.TaskAction -import java.io.File - -/** - * Based on https://github.com/apollographql/apollo-android/blob/master/apollo-gradle-plugin/src/main/groovy/com/apollographql/apollo/gradle/ApolloCodegenInstallTask.groovy - */ -@CacheableTask -open class WebGenInstallTask : DefaultTask() { - - companion object { - const val TAG = "frost-web-gen" - const val NAME = "installWebGen" - val INSTALLATION_PATH = TAG + File.separator + "node_modules" - val PACKAGE_FILE_PATH = TAG + File.separator + "package.json" - - const val TYPESCRIPT_VERSION = "3.3.1" - const val SASS_VERSION = "1.19.0" - } - - @OutputDirectory - val installDir = project.layout.directoryProperty() - @OutputFile - val packageFile = project.layout.fileProperty() - - val npmTask = NpmTask() - - init { - group = "frost" - description = "Runs npm install for $TAG" - - installDir.set(project.file(File(project.buildDir, INSTALLATION_PATH))) - packageFile.set(project.file(File(project.buildDir, PACKAGE_FILE_PATH))) - npmTask.setWorkingDir(File(project.buildDir, TAG)) - } - - @TaskAction - fun exec() { - installDir.get().asFile.takeIf { it.isDirectory }?.deleteRecursively() - writePackageFile(packageFile.get().asFile) - npmTask.setArgs( - listOf( - "install", - "typescript@$TYPESCRIPT_VERSION", - "sass@$SASS_VERSION", - "--save", - "--save-exact" - ) - ) - npmTask.logging.captureStandardOutput(LogLevel.INFO) - npmTask.exec() - } - - private fun writePackageFile(packageFile: File) { - packageFile.writeText( - """ - { - "name": "$TAG", - "version": "1.0" - } - """.trimIndent() - ) - } -} \ No newline at end of file -- cgit v1.2.3 From 2b734e36e7ba304333612aa7d1aea8722bbfc7f2 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 00:10:48 -0700 Subject: Revert travis to original android image --- .travis.yml | 68 +++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 39 insertions(+), 29 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8dcaaae2..1f68258e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,24 +1,37 @@ -language: java -services: -- docker +language: android +jdk: + - oraclejdk8 +env: + global: + - ANDROID_API=29 + - ANDROID_BUILD_TOOLS=29.0.0 + - secure: X3J97ccW+8K0bXPXhX608vPx7Pr/G4ju7quxydqMaYGgClHxoL/WpXOBAyyllde5P28PY4kioaqcI21BEhnAw0QUbmnzVLA1Qd5VS7aMPHpEnInKuOxGZ2d570OZd1f+ozFVt05vzG0VBJlBAkVhz2GWNxQdmIV1sO28MH526JMuYaEREuuywVSZmAeY7AAbW9MeCC2wvHvNmhk2nk6NLRQcsrDHcBsimy9fnnQ9lT/QsvToi1ZJd/MN7YkGDUULR+YmaotBzG546UJ1EiZQX91bFEJfP0oL43Pk7t5snzmHnKjLOr8Mt5QsIUXaiy/uzhUVmuDh1i0GEpZmhqM7nz/T6P7ogaLbbyJeauNmf15nu+e3hSvNiTzKyIwfSSflv8Do3g8/Eo3dKfIi3I8/OKF/uZ76kywh2LRqtZAqxRDiAMDZVwsRgD4aztoWm5AWa3tSoGy1J7i1eoqX6bNqokRbjgheTqcjN13kCdSZi3pZX7UBYm2Vumhn4izhTume19Rh9SqTmRgQ8jM7ynxHh7vVsJPPJG0HbQ623xz+d9mtXGy1fAb0dcUJMXdOhFN3m6AnKuHiF7cmsqje7Euk/TOZyqZmu0xEhTkugMbNKwGrklJiwRr3IoLtPdhLE38u3/auloUqBQ4K/iA9ZdhAreTSHEaI9d3J4N6kqCj3U30= +android: + components: + - tools + - platform-tools + - build-tools-$ANDROID_BUILD_TOOLS + - android-$ANDROID_API + - extra-android-support + - extra-android-m2repository + - extra-google-m2repository + licenses: + - ".+" git: depth: 500 before_install: -- openssl aes-256-cbc -K $encrypted_0454d0cf846c_key -iv $encrypted_0454d0cf846c_iv - -in files/frost.tar.enc -out files/frost.tar -d -- tar xvf files/frost.tar -- docker build -q -t frost . -- docker volume create -o device=$HOME/.gradle/caches/ -o o=bind gradle_caches -- docker volume create -o device=$HOME/.gradle/wrapper/ -o o=bind gradle_wrapper -install: true + - openssl aes-256-cbc -K $encrypted_0454d0cf846c_key -iv $encrypted_0454d0cf846c_iv + -in files/frost.tar.enc -out files/frost.tar -d + - tar xvf files/frost.tar + - yes | sdkmanager "platforms;android-$ANDROID_API" after_success: -- "./generate-apk-release.sh" + - "./generate-apk-release.sh" script: -- cd $TRAVIS_BUILD_DIR -- docker run --name frost_container -v gradle_caches:/root/.gradle/caches/ -v gradle_wrapper:/root/.gradle/wrapper/ - frost -- mkdir $HOME/Frost -- docker cp frost_container:/frost/app/build/outputs/apk/releaseTest/. $HOME/Frost + - cd $TRAVIS_BUILD_DIR/ + - printf "Starting script\n" + - chmod +x gradlew + - "./gradlew --quiet androidGitVersion" + - "./gradlew lintReleaseTest testReleaseUnitTest assembleReleaseTest" notifications: email: false slack: @@ -27,23 +40,20 @@ notifications: on_success: always on_failure: always template: - - Frost Build <%{build_url}|#%{build_number}> (<%{compare_url}|%{commit}>) of - %{repository}@%{branch} %{result} in %{duration} - - "%{commit_subject}" - - " (<%{compare_url}|%{commit}>) of + %{repository}@%{branch} %{result} in %{duration} + - "%{commit_subject}" + - "" sudo: false branches: except: - - master - - l10n_dev + - master + - l10n_dev before_cache: -- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock -- rm -rf $HOME/.gradle/caches/*/plugin-resolution/ + - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock + - rm -rf $HOME/.gradle/caches/*/plugin-resolution/ cache: directories: - - "$HOME/.gradle/caches/" - - "$HOME/.gradle/wrapper/" -env: - global: - - secure: X3J97ccW+8K0bXPXhX608vPx7Pr/G4ju7quxydqMaYGgClHxoL/WpXOBAyyllde5P28PY4kioaqcI21BEhnAw0QUbmnzVLA1Qd5VS7aMPHpEnInKuOxGZ2d570OZd1f+ozFVt05vzG0VBJlBAkVhz2GWNxQdmIV1sO28MH526JMuYaEREuuywVSZmAeY7AAbW9MeCC2wvHvNmhk2nk6NLRQcsrDHcBsimy9fnnQ9lT/QsvToi1ZJd/MN7YkGDUULR+YmaotBzG546UJ1EiZQX91bFEJfP0oL43Pk7t5snzmHnKjLOr8Mt5QsIUXaiy/uzhUVmuDh1i0GEpZmhqM7nz/T6P7ogaLbbyJeauNmf15nu+e3hSvNiTzKyIwfSSflv8Do3g8/Eo3dKfIi3I8/OKF/uZ76kywh2LRqtZAqxRDiAMDZVwsRgD4aztoWm5AWa3tSoGy1J7i1eoqX6bNqokRbjgheTqcjN13kCdSZi3pZX7UBYm2Vumhn4izhTume19Rh9SqTmRgQ8jM7ynxHh7vVsJPPJG0HbQ623xz+d9mtXGy1fAb0dcUJMXdOhFN3m6AnKuHiF7cmsqje7Euk/TOZyqZmu0xEhTkugMbNKwGrklJiwRr3IoLtPdhLE38u3/auloUqBQ4K/iA9ZdhAreTSHEaI9d3J4N6kqCj3U30= + - "$HOME/.gradle/caches/" + - "$HOME/.gradle/wrapper/" \ No newline at end of file -- cgit v1.2.3 From 3eaeedfb9c879b908d5b3a1fc60abb25e116c725 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 00:12:25 -0700 Subject: Add prebuild dependency --- app/build.gradle | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index b286a754..e6d1b92b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -188,6 +188,8 @@ task frostWebGen(type: NpmTask) { args = ['run', 'compile'] } +preBuild.dependsOn(frostWebGen) + repositories { google() jcenter() -- cgit v1.2.3 From 4db64e061fb37e4ed9a6fc6ebecded0191eb2c21 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 00:16:49 -0700 Subject: Remove gradle plugin declaration --- buildSrc/build.gradle.kts | 9 --------- 1 file changed, 9 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 3afa0486..38f9cd13 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -22,15 +22,6 @@ val kau = rootProps.useLines { println("Using kau $kau") -gradlePlugin { - plugins { - register("frost-web-gen") { - id = "frost" - implementationClass = "FrostPlugin" - } - } -} - dependencies { implementation("ca.allanwang.kau:gradle-plugin:$kau") } \ No newline at end of file -- cgit v1.2.3 From d04007715ceefee07a67b64957a95040e5d1bf8d Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 00:20:34 -0700 Subject: Shorten script calls --- .travis.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1f68258e..49c54d02 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,9 +27,6 @@ before_install: after_success: - "./generate-apk-release.sh" script: - - cd $TRAVIS_BUILD_DIR/ - - printf "Starting script\n" - - chmod +x gradlew - "./gradlew --quiet androidGitVersion" - "./gradlew lintReleaseTest testReleaseUnitTest assembleReleaseTest" notifications: -- cgit v1.2.3 From 23295a5376aaf297487a352a1f3ddfe17f73691c Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 00:23:24 -0700 Subject: Only print kau if is root --- buildSrc/build.gradle.kts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 38f9cd13..2f2f5d15 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -9,18 +9,28 @@ repositories { maven("https://jitpack.io") } +var isRoot = false // Currently can't read properties from root project // Reading it manually since it's simple val rootProps = File( - project.rootDir.let { if (it.name == "buildSrc") it.parent else it.absolutePath }, + project.rootDir.let { + if (it.name == "buildSrc") { + it.parent + } else { + isRoot = true + it.absolutePath + } + }, "gradle.properties" ) val kau = rootProps.useLines { it.first { s -> s.startsWith("KAU=") } }.substring(4).trim() -println("Using kau $kau") +if (isRoot) { + println("Using kau $kau") +} dependencies { implementation("ca.allanwang.kau:gradle-plugin:$kau") -- cgit v1.2.3 From 9f04892c20bfd9bee0fae785eb4aec096dce0b50 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 00:32:12 -0700 Subject: Specify node versions --- app/build.gradle | 2 ++ app/src/web/package-lock.json | 41 ++++++++++++++++++++++++++++++----------- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e6d1b92b..32040004 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -180,6 +180,8 @@ android { } node { + version = '12.4.0' + npmVersion = '6.9.0' download = true nodeModulesDir = file("${project.projectDir}/src/web") } diff --git a/app/src/web/package-lock.json b/app/src/web/package-lock.json index 1c7a7931..8c7e9b78 100644 --- a/app/src/web/package-lock.json +++ b/app/src/web/package-lock.json @@ -429,7 +429,8 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "bundled": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -447,11 +448,13 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true + "bundled": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -464,15 +467,18 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true + "bundled": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -575,7 +581,8 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "bundled": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -585,6 +592,7 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -597,17 +605,20 @@ "minimatch": { "version": "3.0.4", "bundled": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true + "bundled": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -624,6 +635,7 @@ "mkdirp": { "version": "0.5.1", "bundled": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -696,7 +708,8 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "bundled": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -706,6 +719,7 @@ "once": { "version": "1.4.0", "bundled": true, + "optional": true, "requires": { "wrappy": "1" } @@ -781,7 +795,8 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true + "bundled": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -811,6 +826,7 @@ "string-width": { "version": "1.0.2", "bundled": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -828,6 +844,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -866,11 +883,13 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true + "bundled": true, + "optional": true }, "yallist": { "version": "3.0.3", - "bundled": true + "bundled": true, + "optional": true } } }, -- cgit v1.2.3 From d40fdaaa1ef08096f0d798087eb998302a775564 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 00:36:18 -0700 Subject: Remove app gradle where node and npm are cached --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 49c54d02..605a44e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,6 +50,7 @@ branches: before_cache: - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock - rm -rf $HOME/.gradle/caches/*/plugin-resolution/ + - rm -rf app/.gradle cache: directories: - "$HOME/.gradle/caches/" -- cgit v1.2.3 From 280133164608be9a627559db9372445ef123a630 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 00:42:10 -0700 Subject: Ensure ignore has reason --- .../test/kotlin/com/pitchedapps/frost/debugger/OfflineWebsiteTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/test/kotlin/com/pitchedapps/frost/debugger/OfflineWebsiteTest.kt b/app/src/test/kotlin/com/pitchedapps/frost/debugger/OfflineWebsiteTest.kt index 0ad60126..b832cda5 100644 --- a/app/src/test/kotlin/com/pitchedapps/frost/debugger/OfflineWebsiteTest.kt +++ b/app/src/test/kotlin/com/pitchedapps/frost/debugger/OfflineWebsiteTest.kt @@ -79,7 +79,7 @@ class OfflineWebsiteTest { ) } - @Ignore + @Ignore("Not really a test") @Test fun fbOffline() { // Not really a test. Skip in CI -- cgit v1.2.3 From c1efcbf653927ee5b5a90ac773210826cd4ed4c1 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 00:55:33 -0700 Subject: Depend on npm install --- app/build.gradle | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index 32040004..6683a85f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -187,6 +187,9 @@ node { } task frostWebGen(type: NpmTask) { + dependsOn npmInstall + group 'build' + description 'Generate Frost web assets' args = ['run', 'compile'] } -- cgit v1.2.3 From 98053b6d3d84c44ee06b3b77cabd54fb3b9002c0 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 00:59:15 -0700 Subject: Use npm ci Declare tsc path explicitly Use tsc inline Revert explicit path --- app/build.gradle | 7 +- app/src/web/package-lock.json | 1636 +++-------------------------------------- app/src/web/package.json | 6 +- 3 files changed, 101 insertions(+), 1548 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6683a85f..b21162f9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -186,8 +186,13 @@ node { nodeModulesDir = file("${project.projectDir}/src/web") } +task npmCi(type: NpmTask) { + dependsOn npmSetup + npmCommand = ["ci"] +} + task frostWebGen(type: NpmTask) { - dependsOn npmInstall + dependsOn npmCi group 'build' description 'Generate Frost web assets' args = ['run', 'compile'] diff --git a/app/src/web/package-lock.json b/app/src/web/package-lock.json index 8c7e9b78..d27e49ef 100644 --- a/app/src/web/package-lock.json +++ b/app/src/web/package-lock.json @@ -3,1030 +3,102 @@ "lockfileVersion": 1, "dependencies": { "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.0.2.tgz", + "integrity": "sha512-rUe9SxpRQlVg4EM8It7JMNWWYHAirTPpbTuvaSKybb5IejNgWB3PGBBX9rrPKDx2pM/p3Wh+7+ASaWRyyAbxmQ==", "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, "async-each": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "fill-range": "^7.0.1" } }, "chokidar": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz", - "integrity": "sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.0.1.tgz", + "integrity": "sha512-2ww34sJWehnbpV0Q4k4V5Hh7juo7po6z7LUWkcIQnSGN1lHOL8GGtLtfwabKvLFQw/hbSUQ0u6V7OgGYgBzlkQ==", + "requires": { + "anymatch": "^3.0.1", + "async-each": "^1.0.3", + "braces": "^3.0.2", + "fsevents": "^2.0.6", + "glob-parent": "^5.0.0", + "is-binary-path": "^2.1.0", + "is-glob": "^4.0.1", "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } + "readdirp": "^3.0.2" } }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } + "compile": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/compile/-/compile-0.0.2.tgz", + "integrity": "sha1-CSYk3yKFI0/NOegCaTRK/U22+VI=" }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" + "to-regex-range": "^5.0.1" } }, "fsevents": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.8.tgz", - "integrity": "sha512-tPvHgPGB7m40CZ68xqFGkKuzN+RnpGmSV+hgeKxhRpbxdqKXUFJGC3yonBOLzQBcJyGpdZFDfCsdOC2KFsXzeA==", - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "bundled": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "bundled": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true, - "optional": true - }, - "needle": { - "version": "2.3.0", - "bundled": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "bundled": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "bundled": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "bundled": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "optional": true - }, - "semver": { - "version": "5.7.0", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "optional": true - } - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz", + "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==", + "optional": true }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", + "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } + "is-glob": "^4.0.1" } }, "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } + "binary-extensions": "^2.0.0" } }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -1041,130 +113,16 @@ } }, "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "nan": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", - "optional": true + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "brace-expansion": "^1.1.7" } }, "normalize-path": { @@ -1172,459 +130,47 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } + "picomatch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==" }, "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.0.2.tgz", + "integrity": "sha512-LbyJYv48eywrhOlScq16H/VkCiGKGPC2TpOdZCJ7QXnYEjn3NN/Oblh8QEU3vqfSRBB7OGvh5x45NKiVeNujIQ==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "picomatch": "^2.0.4" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "run": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/run/-/run-1.4.0.tgz", + "integrity": "sha1-4X2ekEOrL+F3dsspnhI3848LT/o=", "requires": { - "ret": "~0.1.10" + "minimatch": "*" } }, "sass": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.19.0.tgz", - "integrity": "sha512-8kzKCgxCzh8/zEn3AuRwzLWVSSFj8omkiGwqdJdeOufjM+I88dXxu9LYJ/Gw4rRTHXesN0r1AixBuqM6yLQUJw==", - "requires": { - "chokidar": "^2.0.0" - } - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.22.2.tgz", + "integrity": "sha512-enuQuy/CbfrZLA2vOy9tB7CK7pP5bZllnMbr5nPGWCFelwt0EMUVGC11gsv9rybkWc8pp/NKVY/c5+AKyjbnXg==", "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "chokidar": ">=2.0.0 <4.0.0" } }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, "typescript": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.1.tgz", - "integrity": "sha512-cTmIDFW7O0IHbn1DPYjkiebHxwtCMU+eTy30ZtJNBPF9j2O1ITu5XH2YnBeVRKWHqF+3JQwWJv0Q0aUgX8W7IA==" - }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "upath": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==" - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.2.tgz", + "integrity": "sha512-7KxJovlYhTX5RaRbUdkAXN1KUZ8PwWlTzQdHV6xNqvuFOs7+WBo10TQUqT19Q/Jz2hk5v9TQDIhyLhhJY4p5AA==" } } } diff --git a/app/src/web/package.json b/app/src/web/package.json index ef323afb..7b97934d 100644 --- a/app/src/web/package.json +++ b/app/src/web/package.json @@ -7,7 +7,9 @@ "url": "https://github.com/AllanWang/Frost-for-Facebook" }, "dependencies": { - "typescript": "^3.3.1", - "sass": "^1.19.0" + "compile": "0.0.2", + "run": "^1.4.0", + "sass": "^1.19.0", + "typescript": "^3.3.1" } } -- cgit v1.2.3 From 13f0ce90241d3687eadc103255c8cb5e50d05783 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 01:05:26 -0700 Subject: Remove docker components --- Dockerfile | 49 ------------------------------------------------- docker_build.sh | 12 ------------ 2 files changed, 61 deletions(-) delete mode 100644 Dockerfile delete mode 100755 docker_build.sh diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index a8fc1e07..00000000 --- a/Dockerfile +++ /dev/null @@ -1,49 +0,0 @@ -FROM openjdk:8 - -# Android SDK - -ENV ANDROID_HOME /opt/android-sdk-linux - -# Download Android SDK into $ANDROID_HOME -# You can find URL to the current version at: https://developer.android.com/studio/index.html -# Or https://github.com/Homebrew/homebrew-cask/blob/master/Casks/android-sdk.rb - -RUN mkdir -p ${ANDROID_HOME} && \ - cd ${ANDROID_HOME} && \ - wget -q https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip -O android_tools.zip && \ - unzip android_tools.zip && \ - rm android_tools.zip - -ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools - -# Accept Android SDK licenses && install other elements -# For full list; see sdkmanager --list --verbose -RUN yes | sdkmanager --licenses && \ - sdkmanager 'platform-tools' && \ - sdkmanager 'extras;google;m2repository' && \ - sdkmanager 'extras;android;m2repository' - -# SDK Specific - -RUN sdkmanager 'platforms;android-28' && \ - sdkmanager 'build-tools;28.0.3' - -# Install Node.js - -ENV NODEJS_VERSION=11.12.0 \ - PATH=$PATH:/opt/node/bin - -WORKDIR "/opt/node" - -RUN apt-get update && apt-get install -y curl git ca-certificates --no-install-recommends && \ - curl -sL https://nodejs.org/dist/v${NODEJS_VERSION}/node-v${NODEJS_VERSION}-linux-x64.tar.gz | tar xz --strip-components=1 && \ - rm -rf /var/lib/apt/lists/* && \ - apt-get clean - -RUN mkdir -p /frost/ - -WORKDIR /frost/ - -COPY . /frost/ - -CMD ["./docker_build.sh"] \ No newline at end of file diff --git a/docker_build.sh b/docker_build.sh deleted file mode 100755 index 37945b35..00000000 --- a/docker_build.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -printf "Starting docker build\n" - -npm -v -./gradlew -v - -npm install --prefix app/src/web -npm run --prefix app/src/web compile - -./gradlew --quiet androidGitVersion -./gradlew lintReleaseTest testReleaseUnitTest assembleReleaseTest \ No newline at end of file -- cgit v1.2.3 From 25d84867731a2995f8cc9cdf1734e1cd3e474323 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Wed, 3 Jul 2019 01:07:25 -0700 Subject: Remove unnecessary cache folder deletion --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 605a44e3..49c54d02 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,7 +50,6 @@ branches: before_cache: - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock - rm -rf $HOME/.gradle/caches/*/plugin-resolution/ - - rm -rf app/.gradle cache: directories: - "$HOME/.gradle/caches/" -- cgit v1.2.3