├── .DS_Store ├── static ├── favicon.ico └── README.md ├── assets ├── css │ └── tailwind.css └── README.md ├── components ├── Logo.vue ├── README.md ├── Header.vue ├── Footer.vue ├── Revenue.vue └── Downloader.vue ├── .editorconfig ├── layouts ├── README.md └── default.vue ├── pages ├── README.md └── index.vue ├── plugins ├── README.md └── ga.js ├── store └── README.md ├── README.md ├── package.json ├── tailwind.config.js ├── nuxt.config.js ├── data └── versions.json └── .gitignore /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/montoulieu/ableton-live-downloader/HEAD/.DS_Store -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/montoulieu/ableton-live-downloader/HEAD/static/favicon.ico -------------------------------------------------------------------------------- /assets/css/tailwind.css: -------------------------------------------------------------------------------- 1 | @import 'tailwindcss/base'; 2 | @import 'tailwindcss/components'; 3 | @import 'tailwindcss/utilities'; 4 | -------------------------------------------------------------------------------- /components/Logo.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 15 | -------------------------------------------------------------------------------- /components/README.md: -------------------------------------------------------------------------------- 1 | # COMPONENTS 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | The components directory contains your Vue.js Components. 6 | 7 | _Nuxt.js doesn't supercharge these components._ 8 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /layouts/README.md: -------------------------------------------------------------------------------- 1 | # LAYOUTS 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains your Application Layouts. 6 | 7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts). 8 | -------------------------------------------------------------------------------- /components/Header.vue: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /pages/README.md: -------------------------------------------------------------------------------- 1 | # PAGES 2 | 3 | This directory contains your Application Views and Routes. 4 | The framework reads all the `*.vue` files inside this directory and creates the router of your application. 5 | 6 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing). 7 | -------------------------------------------------------------------------------- /assets/README.md: -------------------------------------------------------------------------------- 1 | # ASSETS 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains your un-compiled assets such as LESS, SASS, or JavaScript. 6 | 7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked). 8 | -------------------------------------------------------------------------------- /layouts/default.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 16 | -------------------------------------------------------------------------------- /plugins/README.md: -------------------------------------------------------------------------------- 1 | # PLUGINS 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains Javascript plugins that you want to run before mounting the root Vue.js application. 6 | 7 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins). 8 | -------------------------------------------------------------------------------- /static/README.md: -------------------------------------------------------------------------------- 1 | # STATIC 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains your static files. 6 | Each file inside this directory is mapped to `/`. 7 | 8 | Example: `/static/robots.txt` is mapped as `/robots.txt`. 9 | 10 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static). 11 | -------------------------------------------------------------------------------- /store/README.md: -------------------------------------------------------------------------------- 1 | # STORE 2 | 3 | **This directory is not required, you can delete it if you don't want to use it.** 4 | 5 | This directory contains your Vuex Store files. 6 | Vuex Store option is implemented in the Nuxt.js framework. 7 | 8 | Creating a file in this directory automatically activates the option in the framework. 9 | 10 | More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store). 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ableton-live-downloader 2 | 3 | > Downloader utility for Ableton Live installer 4 | 5 | ## Build Setup 6 | 7 | ``` bash 8 | # install dependencies 9 | $ npm install 10 | 11 | # serve with hot reload at localhost:3000 12 | $ npm run dev 13 | 14 | # build for production and launch server 15 | $ npm run build 16 | $ npm start 17 | 18 | # generate static project 19 | $ npm run generate 20 | ``` 21 | 22 | For detailed explanation on how things work, checkout [Nuxt.js docs](https://nuxtjs.org). 23 | -------------------------------------------------------------------------------- /components/Footer.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ableton-live-downloader", 3 | "version": "2.1.0", 4 | "description": "Downloads the desired 64-bit installer from Ableton Live servers", 5 | "author": "Pieter Montoulieu", 6 | "private": true, 7 | "scripts": { 8 | "dev": "nuxt", 9 | "build": "nuxt build", 10 | "start": "nuxt start", 11 | "generate": "nuxt build && nuxt export" 12 | }, 13 | "dependencies": { 14 | "compare-versions": "^5.0.1", 15 | "nuxt": "^2.15.8" 16 | }, 17 | "devDependencies": { 18 | "@nuxtjs/tailwindcss": "^2.1.1" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /components/Revenue.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | ** TailwindCSS Configuration File 3 | ** 4 | ** Docs: https://tailwindcss.com/docs/configuration 5 | ** Default: https://github.com/tailwindcss/tailwindcss/blob/master/stubs/defaultConfig.stub.js 6 | */ 7 | module.exports = { 8 | theme: {}, 9 | variants: {}, 10 | plugins: [], 11 | purge: { 12 | // Learn more on https://tailwindcss.com/docs/controlling-file-size/#removing-unused-css 13 | enabled: process.env.NODE_ENV === 'production', 14 | content: [ 15 | 'components/**/*.vue', 16 | 'layouts/**/*.vue', 17 | 'pages/**/*.vue', 18 | 'plugins/**/*.js', 19 | 'nuxt.config.js' 20 | ] 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /plugins/ga.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | 3 | export default ({ app }) => { 4 | /* 5 | ** Only run on client-side and only in production mode 6 | */ 7 | if (process.env.NODE_ENV !== 'production') return 8 | /* 9 | ** Include Google Analytics Script 10 | */ 11 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 12 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 13 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 14 | })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 15 | /* 16 | ** Set the current page 17 | */ 18 | ga('create', 'UA-127894545-2', 'auto') 19 | /* 20 | ** Every time the route changes (fired on initialization too) 21 | */ 22 | app.router.afterEach((to, from) => { 23 | /* 24 | ** We tell Google Analytics to add a `pageview` 25 | */ 26 | ga('set', 'page', to.fullPath) 27 | ga('send', 'pageview') 28 | }) 29 | } 30 | -------------------------------------------------------------------------------- /nuxt.config.js: -------------------------------------------------------------------------------- 1 | const pkg = require("./package"); 2 | 3 | module.exports = { 4 | target: "static", 5 | 6 | /* 7 | ** Headers of the page 8 | */ 9 | head: { 10 | title: "Ableton Live Installer Download Utility", 11 | meta: [ 12 | { charset: "utf-8" }, 13 | { name: "viewport", content: "width=device-width, initial-scale=1" }, 14 | { hid: "description", name: "description", content: pkg.description }, 15 | ], 16 | link: [{ rel: "icon", type: "image/x-icon", href: "/favicon.ico" }], 17 | }, 18 | 19 | router: { 20 | // base: '/ableton-live-downloader/' 21 | }, 22 | 23 | /* 24 | ** Customize the progress-bar color 25 | */ 26 | loading: { color: "#fff" }, 27 | 28 | /* 29 | ** Global CSS 30 | */ 31 | css: [], 32 | 33 | /* 34 | ** Plugins to load before mounting the App 35 | */ 36 | plugins: [{ src: "~plugins/ga.js", ssr: false }], 37 | 38 | /* 39 | ** Nuxt.js modules 40 | */ 41 | buildModules: ["@nuxtjs/tailwindcss"], 42 | 43 | /* 44 | ** Build configuration 45 | */ 46 | build: { 47 | /* 48 | ** You can extend webpack config here 49 | */ 50 | extend(config, ctx) {}, 51 | }, 52 | }; 53 | -------------------------------------------------------------------------------- /pages/index.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 29 | 30 | 56 | -------------------------------------------------------------------------------- /data/versions.json: -------------------------------------------------------------------------------- 1 | [ 2 | "11.3.20", 3 | "11.3.13", 4 | "11.3.12", 5 | "11.3.11", 6 | "11.3.10", 7 | "11.3.4", 8 | "11.3.3", 9 | "11.3.2", 10 | "11.2.11", 11 | "11.2.10", 12 | "11.2.7", 13 | "11.2.6", 14 | "11.2.5", 15 | "11.2", 16 | "11.1.5", 17 | "11.1.1", 18 | "11.1", 19 | "11.0.12", 20 | "11.0.11", 21 | "11.0.10", 22 | "11.0.6", 23 | "11.0.5", 24 | "11.0.2", 25 | "11.0.1", 26 | "11.0", 27 | "10.1.30", 28 | "10.1.25", 29 | "10.1.18", 30 | "10.1.17", 31 | "10.1.15", 32 | "10.1.14", 33 | "10.1.13", 34 | "10.1.9", 35 | "10.1.7", 36 | "10.1.6", 37 | "10.1.5", 38 | "10.1.4", 39 | "10.1.3", 40 | "10.1.2", 41 | "10.1.1", 42 | "10.1", 43 | "10.0.6", 44 | "10.0.5", 45 | "10.0.4", 46 | "10.0.3", 47 | "10.0.2", 48 | "10.0.1", 49 | "10.0", 50 | "9.7.7", 51 | "9.7.6", 52 | "9.7.5", 53 | "9.7.4", 54 | "9.7.3", 55 | "9.7.2", 56 | "9.7.1", 57 | "9.7", 58 | "9.6.2", 59 | "9.6.1", 60 | "9.6", 61 | "9.5", 62 | "9.2.3", 63 | "9.2.2", 64 | "9.2.1", 65 | "9.2", 66 | "9.1.10", 67 | "9.1.9", 68 | "9.1.8", 69 | "9.1.7", 70 | "9.1.6", 71 | "9.1.5", 72 | "9.1.4", 73 | "9.1.3", 74 | "9.1.2", 75 | "9.1", 76 | "9.0.6", 77 | "9.0.5", 78 | "9.0.4", 79 | "9.0.3", 80 | "9.0.2", 81 | "9.0.1" 82 | ] 83 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### Node template 3 | # Logs 4 | logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | 10 | # Runtime data 11 | pids 12 | *.pid 13 | *.seed 14 | *.pid.lock 15 | 16 | # Directory for instrumented libs generated by jscoverage/JSCover 17 | lib-cov 18 | 19 | # Coverage directory used by tools like istanbul 20 | coverage 21 | 22 | # nyc test coverage 23 | .nyc_output 24 | 25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 26 | .grunt 27 | 28 | # Bower dependency directory (https://bower.io/) 29 | bower_components 30 | 31 | # node-waf configuration 32 | .lock-wscript 33 | 34 | # Compiled binary addons (https://nodejs.org/api/addons.html) 35 | build/Release 36 | 37 | # Dependency directories 38 | node_modules/ 39 | jspm_packages/ 40 | 41 | # TypeScript v1 declaration files 42 | typings/ 43 | 44 | # Optional npm cache directory 45 | .npm 46 | 47 | # Optional eslint cache 48 | .eslintcache 49 | 50 | # Optional REPL history 51 | .node_repl_history 52 | 53 | # Output of 'npm pack' 54 | *.tgz 55 | 56 | # Yarn Integrity file 57 | .yarn-integrity 58 | 59 | # dotenv environment variables file 60 | .env 61 | 62 | # parcel-bundler cache (https://parceljs.org/) 63 | .cache 64 | 65 | # next.js build output 66 | .next 67 | 68 | # nuxt.js build output 69 | .nuxt 70 | 71 | # Nuxt generate 72 | dist 73 | 74 | # vuepress build output 75 | .vuepress/dist 76 | 77 | # Serverless directories 78 | .serverless 79 | 80 | # IDE 81 | .idea 82 | 83 | # Service worker 84 | sw.* 85 | -------------------------------------------------------------------------------- /components/Downloader.vue: -------------------------------------------------------------------------------- 1 | 58 | 59 | 111 | 112 | 183 | --------------------------------------------------------------------------------