{"_id":"spotgen","_rev":"29-d811338f2fb013d0e235409201f6bd8a","name":"spotgen","description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","dist-tags":{"latest":"1.0.28"},"versions":{"1.0.0":{"name":"spotgen","version":"1.0.0","author":{"name":"Vegard Øye"},"license":"MIT","main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","csv-stringify":"^1.0.4","eol":"^0.8.1","http-server":"^0.10.0","jquery":"^3.1.1","jsdoc":"^3.4.3","jsdom":"^9.4.1","jshint":"^2.9.4","mocha":"^3.2.0","promise":"^7.1.1","request":"^2.79.0","standard":"^8.6.0","string-similarity":"^1.1.0","uglify-js":"^2.7.5","urijs":"^1.18.10"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","dist":"npm run build && npm run minify && cp -r doc web && cp -r test web","lint":"jshint index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js web/web.js test/test.js && standard index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js web/web.js test/test.js","test":"mocha test/test.js","tests":"npm run lint && npm run test","server":"http-server -p 9000 web","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify web/web.js -o web/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs web/bundle.js -o web/bundle.js","open":"open web/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"a4aade3db24b5524662888ce96bb3a906c59bba1","description":"[Spotify Playlist Generator](https://epsil.github.io/spotify/) ==============================================================","bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen#readme","_id":"spotgen@1.0.0","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-5wcAeyolZaHKGjL2mhavwVMRccKQJl57oDK9/L5/o6jcoeuC76eE/obGXWl7p3a+/zzAQBJc9lQcX0F9loBAZg==","shasum":"0cd40e90ff6e054e6b3600fb0bdc6c8a2ae149e8","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdH8NXzNrgWGQAh7YkAoLf6RccWSWQXpXpTtPxkiUVuwIgU69ozCdSS7CFCPN2VVKnA25igSsb9IMz3AOmSwH7QZU="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.0.tgz_1501328536522_0.6734600868076086"},"directories":{}},"1.0.1":{"name":"spotgen","version":"1.0.1","author":{"name":"Vegard Øye"},"license":"MIT","main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","csv-stringify":"^1.0.4","eol":"^0.8.1","http-server":"^0.10.0","jquery":"^3.1.1","jsdoc":"^3.4.3","jsdom":"^9.4.1","jshint":"^2.9.4","mocha":"^3.2.0","promise":"^7.1.1","request":"^2.79.0","standard":"^8.6.0","string-similarity":"^1.1.0","uglify-js":"^2.7.5","urijs":"^1.18.10"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","dist":"npm run build && npm run minify && cp -r doc web && cp -r test web","lint":"jshint index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js web/web.js test/test.js && standard index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js web/web.js test/test.js","test":"mocha test/test.js","tests":"npm run lint && npm run test","server":"http-server -p 9000 web","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify web/web.js -o web/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs web/bundle.js -o web/bundle.js","open":"open web/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"0850e390503516739334f1f62f17ebf6a983f3f4","description":"> A tool for converting, processing and generating [Spotify](http://www.spotify.com/) playlists, scraping information off of websites, and leveraging [Last.fm](http://last.fm/) user data.","bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen#readme","_id":"spotgen@1.0.1","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-1ue6wycO8t6BVbksjE7ZPXuYtxHtMMdiSVc/bpEeBq0IVsl+STZcbZFg0yiyk2j47cUyqyRVP5RP5rKQi7FiAA==","shasum":"69b1349b4494518eff1281fd540295efc122d21c","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE9kZntTPlPczKRW90mO24b8EOK5zDNrb9B6I6krlk/JAiA5InGref11M7Z5EQik7PmTeM3crARfIm04L31n52ve1g=="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.1.tgz_1501336661967_0.0672623929567635"},"directories":{}},"1.0.3":{"name":"spotgen","version":"1.0.3","description":"A tool for converting, processing and generating Spotify playlists, scraping information off of websites, and leveraging Last.fm user data.","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"license":"MIT","main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"keywords":["spotify","playlist","generator"],"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","csv-stringify":"^1.0.4","eol":"^0.8.1","http-server":"^0.10.0","jquery":"^3.1.1","jsdoc":"^3.4.3","jsdom":"^9.4.1","jshint":"^2.9.4","mocha":"^3.2.0","promise":"^7.1.1","request":"^2.79.0","standard":"^8.6.0","string-similarity":"^1.1.0","uglify-js":"^2.7.5","urijs":"^1.18.10"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","dist":"npm run build && npm run minify && cp -r doc web && cp -r test web","lint":"jshint index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js web/web.js test/test.js && standard index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js web/web.js test/test.js","test":"mocha test/test.js","tests":"npm run lint && npm run test","server":"http-server -p 9000 web","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify web/web.js -o web/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs web/bundle.js -o web/bundle.js","open":"open web/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"cf2cd6d84726d2193dd3d702039ffcb9f06ad85c","bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen#readme","_id":"spotgen@1.0.3","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-hOEaLAXSaySFUSUrloOD2Mk4PH0IXDK4uo4xHXSIvCgjl5qM3NrqBMyqRoYFpy+2X0R1UPRCvvdO7BfLT82GuQ==","shasum":"470ae9cd6cb8aa3be6de51c8be0ade29ee6e1a31","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMohVyETcptfw/ZXEP9AEFq7TvumD8llYDyH5CZksi7QIhAOyY7UdX6QDNcZyeh3fMqAXo3QYWOjjEBklVAR5pA6pa"}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.3.tgz_1501338147500_0.10025075334124267"},"directories":{}},"1.0.4":{"name":"spotgen","version":"1.0.4","description":"A tool for converting, processing and generating Spotify playlists, scraping information off of websites, and leveraging Last.fm user data.","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"license":"MIT","main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"keywords":["spotify","playlist","generator"],"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","csv-stringify":"^1.0.4","eol":"^0.8.1","http-server":"^0.10.0","jquery":"^3.1.1","jsdoc":"^3.4.3","jsdom":"^9.4.1","jshint":"^2.9.4","mocha":"^3.2.0","promise":"^7.1.1","request":"^2.79.0","standard":"^8.6.0","string-similarity":"^1.1.0","uglify-js":"^2.7.5","urijs":"^1.18.10"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","dist":"npm run build && npm run minify && cp -r doc web && cp -r test web","lint":"jshint index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js web/web.js test/test.js && standard index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js web/web.js test/test.js","test":"mocha test/test.js","tests":"npm run lint && npm run test","server":"http-server -p 9000 web","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify web/web.js -o web/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs web/bundle.js -o web/bundle.js","open":"open web/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"02ccc7fc68e3806ae1f920fadec66eb2a18b15e2","bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen#readme","_id":"spotgen@1.0.4","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-QgIwNahtOq0DgELHoJlWuTpCbWS6oMpR7hKNBuscS8AldG/dKjbB77Q68kxYfoH0GaN71r+r8G26E2sEcivUsw==","shasum":"8d06f20efeb6c12343416949685b1e37d8fae412","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICDYgwyc7A4quK7uhc61XkMVAFUlV7+r2e7DrHQoglEKAiEA+pDNMrPPTkA3kx1y/AIv5ACyqzxMP1nbKZHjd2eFlEo="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.4.tgz_1501340607757_0.463392915436998"},"directories":{}},"1.0.5":{"name":"spotgen","version":"1.0.5","description":"A tool for converting, processing and generating Spotify playlists, scraping information off of websites, and leveraging Last.fm user data.","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"license":"MIT","main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"keywords":["spotify","playlist","generator"],"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","csv-stringify":"^1.0.4","eol":"^0.8.1","jquery":"^3.1.1","jsdom":"^9.4.1","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","dist":"npm run build && npm run minify && cp -r doc web && cp -r test web","lint":"jshint index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js web/web.js test/test.js && standard index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js web/web.js test/test.js","test":"mocha test/test.js","tests":"npm run lint && npm run test","server":"http-server -p 9000 web","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify web/web.js -o web/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs web/bundle.js -o web/bundle.js","open":"open web/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js src/album.js src/artist.js src/auth.js src/csv.js src/generator.js src/http.js src/lastfm.js src/playlist.js src/parser.js src/queue.js src/scraper.js src/similar.js src/sort.js src/spotify.js src/top.js src/track.js src/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"5c4088e5921adf339a5b0b67dee813a39d72ebb7","bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen#readme","_id":"spotgen@1.0.5","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-wXYPAUfhQ8d4SsssJivBWckN629CfWPPxlk+bVRPRTTC/ecSBT77qLOryVZg1mHc9fIlOa8iEb/KecQz9HCTqA==","shasum":"07d36aaf3c8bcb1098c76c8d4bd1704b0d70b653","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBrnN3dSygKLNRE3AXM7/4XRrD2qkS7w/eMzRDT7v07bAiBtab501a7xaL1BEDCFYOqT4S7Zur0Wg8Jjw3PYsdlwsw=="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.5.tgz_1501346026947_0.8410806979518384"},"directories":{}},"1.0.6":{"name":"spotgen","version":"1.0.6","description":"A tool for converting, processing and generating Spotify playlists, scraping information off of websites, and leveraging Last.fm user data.","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"license":"MIT","main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"keywords":["spotify","playlist","generator"],"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","csv-stringify":"^1.0.4","eol":"^0.8.1","jquery":"^3.1.1","jsdom":"^9.4.1","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","dist":"npm run build && npm run minify && cp -r doc web && cp -r test web","lint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js web/web.js test/test.js && standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js web/web.js test/test.js","test":"mocha test/test.js","tests":"npm run lint && npm run test","server":"http-server -p 9000 web","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify web/web.js -o web/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs web/bundle.js -o web/bundle.js","open":"open web/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"65cb2ee31115bbc2bb8a2e75ce296df6898e51ae","bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen#readme","_id":"spotgen@1.0.6","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-J9aYPP7WJE3txkp2b9uTFt9QdyBp43YobU/f5KCha7poI/CRatDHOmDeyeUeFwZ/LYcHrDrDEHkRJ17cfPEPSA==","shasum":"f9408dde13d860e22a466944af8898abf1d043ad","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDI6/GcAyIoBf7rZRUncvgE7w4k0rY/THqBcawqXnVtxwIhAKR7XVhIWW6HbgowT/6DbpVHwDKPxjbTGPg4KZlCiXUA"}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.6.tgz_1501367710902_0.5197432111017406"},"directories":{}},"1.0.7":{"name":"spotgen","version":"1.0.7","description":"A tool for converting, processing and generating Spotify playlists, scraping information off of websites, and leveraging Last.fm user data.","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"license":"MIT","main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"keywords":["spotify","playlist","generator"],"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","csv-stringify":"^1.0.4","eol":"^0.8.1","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js && standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","test":"mocha test/test.js","tests":"npm run lint && npm run test","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -o dist/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"712a265e999baf767f6cb020bda10c0d19603a4a","bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen#readme","_id":"spotgen@1.0.7","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-NyJnxLtlSgcqKUu7pU1AeTNndXfualM63WD3j6kUZK7qQw/fJbtrJ7p0qLLhH4QuptEjHXD0ykLg7tnlXL7sxA==","shasum":"2ebc71e7c387da169a8062cefa94340ee8729f1e","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQauZGCRDraFi2ZkELdWaExSjTdcszJZWva2vQA1KhqQIgYapAiPu4cnfCXC+GXwv+J6T5qom36Kj+Wo1whk/7l+Y="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.7.tgz_1501412842989_0.3288686901796609"},"directories":{}},"1.0.8":{"name":"spotgen","version":"1.0.8","description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ algorithms to order the tracks.","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"license":"MIT","main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"keywords":["spotify","playlist","generator"],"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","csv-stringify":"^1.0.4","eol":"^0.8.1","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js && standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -o dist/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"af166f0bdf0b33190066c95db58d237d04b31e5d","bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen#readme","_id":"spotgen@1.0.8","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-Rki9jSUlKAshVL8t4LzuGNc94mHkIhuQuXW72CcqMoSaqFnlJuc1zQWRAvRHeSHWt7l0UaQ9WKKdYtU1lS3c2Q==","shasum":"fa252d7c2506bbf86eec234d38a1f020929b19a9","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmRBPb7oavSTngb2e0GmFV/oMLQMzZICjY6N3BDKuv+wIhAPyUoagwamP5f4g6pnTy6s9Dn8gtJfBFrtzSxLbx4qlP"}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.8.tgz_1501434573241_0.12270143488422036"},"directories":{}},"1.0.9":{"name":"spotgen","version":"1.0.9","description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ algorithms to order the tracks.","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"license":"MIT","main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"keywords":["spotify","playlist","generator"],"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","csv-stringify":"^1.0.4","eol":"^0.8.1","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js dist/web.js test/test.js && standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js dist/web.js test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -o dist/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"ae6b7372961d5b10a0f26624a19353f3cf328738","bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen#readme","_id":"spotgen@1.0.9","_shasum":"73012eb51fecf7035cca9c270c8f4a1dbc0c0478","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"shasum":"73012eb51fecf7035cca9c270c8f4a1dbc0c0478","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.9.tgz","integrity":"sha512-YSOzkd28E/cF2t9xjSwovfjU7FEicyCBs3wpA3lkrsH+N19EYXFwEHdg9XpVsxrwkNgwUMfu8J/EWkW8boTSow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHG/4GLvY2P9KCafXOZJQhcCh2fwEpmq3Ku8Ud+38RzQAiEAgeLTYyzA3njsh23AYbo4XI1B5V4c0vwVVb4x4Olib54="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.9.tgz_1501502438601_0.4209538495633751"},"directories":{}},"1.0.10":{"name":"spotgen","version":"1.0.10","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","csv-stringify":"^1.0.4","eol":"^0.8.1","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -o dist/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"dc3df7e9d0ad48896267563e86a1a59fc570c5b1","_id":"spotgen@1.0.10","_shasum":"f9315fe64a6ea95910031ba07de9a7663dd2cc29","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"shasum":"f9315fe64a6ea95910031ba07de9a7663dd2cc29","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.10.tgz","integrity":"sha512-msA7HVPKqsn12NZGP3mNhbcKAp99Lr3l2oNKQvM/UVDugmbBL6w98t3FGSWzAFb9bSNJpw/jz7r6iMnDKuOj4g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBSnT2T/u1FSJWkwU82dnS3e4NoENSG7mO/mOo1E5oNWAiAIJPjEF2JlksTkE+WpOgvUb0xsAUrvS3KI5WuoUcHNkw=="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.10.tgz_1501575068951_0.8148478150833398"},"directories":{}},"1.0.11":{"name":"spotgen","version":"1.0.11","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.3","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -o dist/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"91c5c366bfe88ea37c6e3df282f9b112971ad5c3","_id":"spotgen@1.0.11","_shasum":"4a7a025ad7bae392d348dad59e7904eb4c67e4eb","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"shasum":"4a7a025ad7bae392d348dad59e7904eb4c67e4eb","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.11.tgz","integrity":"sha512-Xe/qL0mPspDW7X9LvaZAgzvg3/nxY1DCSUdUXl9V5VhPe1YB5MYnO9MFYuEfSVbS4I/rSMmfIjpggHuWz3t3XA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDKepGOf4eIEeBE6Wa9mYDI1QxyqmcXuF/DKIBbUGfFUAiEAp4qXF6cl5GmpzYO2coV7VSkYmsU/DQUx1/qIb7mKfx4="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.11.tgz_1501767821232_0.4965747715905309"},"directories":{}},"1.0.12":{"name":"spotgen","version":"1.0.12","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.3","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -o dist/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push && git push --tags","push!":"git --no-pager status && git push --force && git push --tags","pull":"git --no-pager status && git pull --rebase","patch":"npm version patch && npm run push && npm publish","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"1d2721b8e51546864688dafd4b64c91032d34090","_id":"spotgen@1.0.12","_shasum":"e80382b14e40912327f803c23ce227d41e611cc1","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"shasum":"e80382b14e40912327f803c23ce227d41e611cc1","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.12.tgz","integrity":"sha512-bNlsAF0lo18BxIVyaiVq1XwuieK76vkte+6/lHfI5KEQextZOyRkVCH+fNBMEi5pg5Xan8s1y+O1wiPV2M8pcA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFAO7hKwjMurL5c/LCYQGOvLxMgW0PofE7v2XRrpkp/HAiB5DIo9kP0IaPLmQ+XPlIYlPkvPfvCxKY4XY+gUZ0UROw=="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.12.tgz_1501770083509_0.6414975905790925"},"directories":{}},"1.0.13":{"name":"spotgen","version":"1.0.13","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.3","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -o dist/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push && git push --tags","push!":"git --no-pager status && git push --force && git push --tags","pull":"git --no-pager status && git pull --rebase","patch":"npm version patch && npm run push && npm publish","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"249d48dd07398059af9d16ebf02196d272e54055","_id":"spotgen@1.0.13","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-i+9cTMb6aM/kN78sm8lCl3B+WH7lcdS+ckPkCQmLK4BiV0xzL+1Ep0tIKVVCy5k+5QT0ERHU5OCbX97b+ix31w==","shasum":"2bb6d558dfe25546aab88c337815f0a8676d2b26","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.13.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCn874j5mRw8MyGF1ocGqFyltVHsPmD9Ao9VdGDxvHhAIhAKRYxMg3X8GwBy7WK8pwYZfN4FL8LlKi0rIJks03yRZn"}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.13.tgz_1501918193103_0.4279607106000185"},"directories":{}},"1.0.14":{"name":"spotgen","version":"1.0.14","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.3","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^2.0.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -o dist/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push && git push --tags","push!":"git --no-pager status && git push --force && git push --tags","pull":"git --no-pager status && git pull --rebase","patch":"npm version patch && npm run push && npm publish","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"83433e3fa6c78353073246a07a2b364848f09e3c","_id":"spotgen@1.0.14","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-MmSxRvz4vlWxUsaRcKu70HlNStzmAddFmxe0VkkDz98GPo2TwXGnX9MO/Fa0ruEQc+lJ8kBhYo2qQHazTO//VA==","shasum":"36b4a52e9ec07cccab936263fd05bf92764ab751","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.14.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvYGi5sNUySZL8dCPwbv9AXO+by7bYK+pwiQlBdkKHTwIgKlDnQcJ9CS9o0yG9B1JIDdi812G5ldPeByQ1lZthrrs="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.14.tgz_1501919737520_0.9133405180182308"},"directories":{}},"1.0.15":{"name":"spotgen","version":"1.0.15","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.3","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -o dist/bundle.js && browserify test/test.js -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push && git push --tags","push!":"git --no-pager status && git push --force && git push --tags","pull":"git --no-pager status && git pull --rebase","patch":"npm version patch && npm run push && npm publish","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"9d8638846ee23eadaeb26e74272262d7d9c61b81","_id":"spotgen@1.0.15","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-BEjTix8ADh+KNIVACa02Es7bzJ6BqZV50g3pda3F3kPWJoNeFA3yZ4zVSQh0/wf8bB4/7FQNkaWiArK3BRjOuw==","shasum":"bc506cf19a67310af263e0993cd792da780a9766","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.15.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDkqKYgL3mRi2sM/LxrQzcd4RwYPMvUAYjKvSPJWXlz7wIhAPydP8EBYAV4vP66JwQKqXkTCC1ZsZPp6jN4AqhzHvga"}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.15.tgz_1501937083606_0.11916575091890991"},"directories":{}},"1.0.16":{"name":"spotgen","version":"1.0.16","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.3","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -i xregexp -o dist/bundle.js&& browserify test/test.js -i xregexp -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push && git push --tags","push!":"git --no-pager status && git push --force && git push --tags","pull":"git --no-pager status && git pull --rebase","patch":"npm version patch && npm run push && npm publish","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"34b6672e2e43c3caa55f647465b251f56adfe26c","_id":"spotgen@1.0.16","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-jSJsMmNI1sABD88z+lIudkK8bq3tt//O3T+brCY9eCVcJKD6aCJ+OOABiKLxVempS7COT2jJdYD0WgBqgDaLpw==","shasum":"ff5e1fa1d89c03395cdd43c6d592b65091125824","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.16.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcLrikexJrle1OYnhKiL5Lyi+kxnM7eoKPrm7KaUXmxwIhAIIyND+ES8IRQwpaQVNSsF4Yo8OcOSHRJQARTtaMI6jN"}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.16.tgz_1501946194290_0.012120951199904084"},"directories":{}},"1.0.18":{"name":"spotgen","version":"1.0.18","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.3","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -i xregexp -o dist/bundle.js&& browserify test/test.js -i xregexp -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","tags":"git push --tags","publish":"npm run push && npm run tags && npm publish","patch":"npm version patch && npm run publish","minor":"npm version minor && npm run publish","major":"npm version major && npm run publish","release":"npm run patch","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"0c04a7b0def80fd627acda618f20102ada18d55c","_id":"spotgen@1.0.18","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-DiZatsAHchWgzchEPjjOYz2WDX2NeXs2vMuy34RbubHKgOp9GIVwUfT8s2KPcIXzjcKE3zzxXJBOu6IT3O/TuA==","shasum":"3047f320f2f068cc93cc27a284b4011df6dfd41e","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.18.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGTHwNeAMFZuIKd+GbRdrn6fz9xyb4khP5oChYm4VR8lAiAGhqbUooHBQQ56YukW/d6r5m5FewZqXQzkv0syufl9Fg=="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.18.tgz_1501946753467_0.3291341564618051"},"directories":{}},"1.0.19":{"name":"spotgen","version":"1.0.19","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.3","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -i xregexp -o dist/bundle.js&& browserify test/test.js -i xregexp -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/csv.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","tags":"git push --tags","release":"npm run push && npm run tags && npm publish","patch":"npm version patch && npm run release","minor":"npm version minor && npm run release","major":"npm version major && npm run release","bump":"npm run patch","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"ca54245042249da683a7889c938f5adf5a5f3654","_id":"spotgen@1.0.19","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-sKfngeHPLXxlzbP64cAwHw3fO4/bpfMT1pS+pTika/4h5+BCcrHySfNohWoeKzjvHEJfQNXE0PH+ihePPAQbqA==","shasum":"c933c1a625ec566edc502205058eaacea2f73746","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.19.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFJlOOPQXsASo9keez5XzLobZvEcKuoeT7Juoljy5eE0AiEArt6NZ7Knke/7eFK0Q29y4YruSUgBUQGG7VOtKeRSVms="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.19.tgz_1501947114510_0.1369987258221954"},"directories":{}},"1.0.20":{"name":"spotgen","version":"1.0.20","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.3","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -i xregexp -o dist/bundle.js&& browserify test/test.js -i xregexp -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","tags":"git push --tags","release":"npm run push && npm run tags && npm publish","patch":"npm version patch && npm run release","minor":"npm version minor && npm run release","major":"npm version major && npm run release","bump":"npm run patch","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"c691f082d91ec32ccb47685f05f29083d7d6db59","_id":"spotgen@1.0.20","_shasum":"527436878f48d3105c04c26e392247d29787d465","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"shasum":"527436878f48d3105c04c26e392247d29787d465","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.20.tgz","integrity":"sha512-u7l1WPWwtvfYey332u4uh1HLGiaQgDestKMtu2+IRH2iVIikWeakNAeMbtm7YjWT8YG7g8kvA5LJjLU9mWRTLQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIACz0sRRgU0SWGk8rC6FxOIGxGN5ISAO+NXm8cu/D865AiEA9xeVbLgOFEYaKIzn4ZBOfr0n+htlUC7jDkaLwwO5doE="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.20.tgz_1502093927344_0.052376810694113374"},"directories":{}},"1.0.21":{"name":"spotgen","version":"1.0.21","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.4","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","retest":"npm run clean! && npm install && npm test","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -i express -i xregexp -o dist/bundle.js&& browserify test/test.js -i express -i xregexp -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","tags":"git push --tags","bump":"npm run push && npm run tags && npm publish","patch":"npm version patch && npm run bump","minor":"npm version minor && npm run bump","major":"npm version major && npm run bump","release":"npm run patch","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"72bb2223802e75f49db816dfe5b061be915cb63c","_id":"spotgen@1.0.21","_shasum":"6ab95bb2383e141d56f32ab37c9ef83b2f0c3211","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"shasum":"6ab95bb2383e141d56f32ab37c9ef83b2f0c3211","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.21.tgz","integrity":"sha512-klR6kKqbYmcGxhqHjBcmcSzFoWbGLo77xsGdO+C34Oune4QBEXBPc++Uj4Adq0sLjKK94+Uk5zGut85Avl1qYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRR/xSplYkRzHV2ijTZb/Kuq34+oz3zZum0u9Hsd42ogIhAJT2W/7Xa84OxN+OQwUlvTnbxShq8o9aXMhqkPdjJAiM"}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.21.tgz_1502182868998_0.6590543608181179"},"directories":{}},"1.0.22":{"name":"spotgen","version":"1.0.22","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.4","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","retest":"npm run clean! && npm install && npm test","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -i express -i xregexp -o dist/bundle.js&& browserify test/test.js -i express -i xregexp -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","tags":"git push --tags","bump":"npm run push && npm run tags && npm publish","patch":"npm version patch && npm run bump","minor":"npm version minor && npm run bump","major":"npm version major && npm run bump","release":"npm run patch","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"bfb114d44bfb44a092a3cc1ea78c4b9728123799","_id":"spotgen@1.0.22","_npmVersion":"5.3.0","_nodeVersion":"4.4.5","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-ryJ3LOxlyOtmjbHhvvL/3qpCAg72nDvCgUvMeJel9rgVZJflLfMmC4BdbGu0XX7/7ZDz4Oo2r0klk/BC6cUfnw==","shasum":"8fe2c83bd72d61b15fb74352994f27abfd6e8b65","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.22.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxV5Pz7SnQgJzYcl+2NibPq9zYn1EOQ/NLst7uikzvAgIhAJkQHAYjsNPUBGKuglYhfjg+Rv0/tTfge6df7n+s08Y5"}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.22.tgz_1502305434281_0.5124481155071408"},"directories":{}},"1.0.23":{"name":"spotgen","version":"1.0.23","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.4","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","preq":"^0.5.2","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","retest":"npm run clean! && npm install && npm test","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -i express -i preq -i xregexp -o dist/bundle.js && browserify test/test.js -i express -i preq -i xregexp -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","tags":"git push --tags","bump":"npm run push && npm run tags && npm publish","patch":"npm version patch && npm run bump","minor":"npm version minor && npm run bump","major":"npm version major && npm run bump","release":"npm run patch","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"d722f4baaaf4a1edae86fdb684d58f683b052215","_id":"spotgen@1.0.23","_shasum":"48bff188a7dcb54a42302256ca0ebe5fc56061d6","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"shasum":"48bff188a7dcb54a42302256ca0ebe5fc56061d6","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.23.tgz","integrity":"sha512-5lVR8diZ5wiG2G7T+aacODNu7dstYSGNSkrFnp7um8y89/P2qzvIS9hnje1XNeLiRN4aFBgEYY5GiYgVaKeYnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDB/niuLGndYxtLd17oNo16h9yIW+PmIL5Uyz6xjHBGjAiEAiNWgWA3+rSRwOKscbBtuUjEzQ4q+mhDXRQ0HlfTIjR8="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.23.tgz_1502714641809_0.6825550431385636"},"directories":{}},"1.0.24":{"name":"spotgen","version":"1.0.24","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","clipboardy":"^1.1.4","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.4","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","preq":"^0.5.2","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","retest":"npm run clean! && npm install && npm test","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -i express -i preq -i xregexp -o dist/bundle.js && browserify test/test.js -i express -i preq -i xregexp -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","tags":"git push --tags","bump":"npm run push && npm run tags && npm publish","patch":"npm version patch && npm run bump","minor":"npm version minor && npm run bump","major":"npm version major && npm run bump","release":"npm run patch","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"59e60761455c00867bb03bdb1aa50bf20d0e907d","_id":"spotgen@1.0.24","_shasum":"19ce4a3292eb5310f87f3a3e8ff3fc8b3b90619a","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"shasum":"19ce4a3292eb5310f87f3a3e8ff3fc8b3b90619a","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.24.tgz","integrity":"sha512-z8DYUHO8g8ff+x96dc0vOQWTaFQn6i9oEOh992ncHGLuZJ3PQPC/cJFjGSeWwv9dlYy0BMucBjDpWd+kjQ4gQg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGh/G0PtHolmFbsGgxjpEw4BM7wCTVlxfmPgrzwqHbiAAiEAk3FoF9uK6WccGJWL2ARAsM0u6PSEaMhZ7BtFtKcENwU="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.24.tgz_1503487509603_0.6535948221571743"},"directories":{}},"1.0.25":{"name":"spotgen","version":"1.0.25","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","clipboardy":"^1.1.4","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.4","git-rev":"^0.2.1","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","preq":"^0.5.2","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","retest":"npm run clean! && npm install && npm test","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -i express -i preq -i xregexp -o dist/bundle.js && browserify test/test.js -i express -i preq -i xregexp -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","tags":"git push --tags","bump":"npm run push && npm run tags && npm publish","patch":"npm version patch && npm run bump","minor":"npm version minor && npm run bump","major":"npm version major && npm run bump","release":"npm run patch","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"01531ee427dc62dbfc229be7c950510b1a0aa6e3","_id":"spotgen@1.0.25","_shasum":"8668f1f45824a2c58a85c206b743f8b9ee1ac9c3","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"shasum":"8668f1f45824a2c58a85c206b743f8b9ee1ac9c3","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.25.tgz","integrity":"sha512-ABRGlsvv8lPI3FQFm8HOULNzGpAKhnjPe7eIkJG9mfpHshNpTF3qfSXeIm6fsDEG+wFquUSEtS8dsUdATYBQZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBmJppTzRyzW3uEpPq+HdT5z9pbmVaGzcYj1hbHzOjLLAiEA+vTN7LEtfBXjbWK3YRY7hRerbNYRPF6TaMDkPLlI+KQ="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.25.tgz_1504608926757_0.6660376486834139"},"directories":{}},"1.0.26":{"name":"spotgen","version":"1.0.26","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","clipboardy":"^1.1.4","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.4","git-rev":"^0.2.1","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","preq":"^0.5.2","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","retest":"npm run clean! && npm install && npm test","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -i express -i preq -i xregexp -o dist/bundle.js && browserify test/test.js -i express -i preq -i xregexp -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","tags":"git push --tags","bump":"npm run push && npm run tags && npm publish","patch":"npm version patch && npm run bump","minor":"npm version minor && npm run bump","major":"npm version major && npm run bump","release":"npm run patch","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"28d243c188b251f890efee575959e6346765846c","_id":"spotgen@1.0.26","_npmVersion":"5.4.2","_nodeVersion":"8.8.1","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-zviHrC9BBoqMip0lvKgPCOtbbo0i6T7KVgynDs9OBPKnTBKkBAf4so+ExtXsCUWXQh0o7VSkb/Ow0zkEFBMyXg==","shasum":"8ce14ab4de6e55b38f82a3596483713163550c19","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.26.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLLDlFieMLklxfyx2z0nkQOXf4plaSW2ksoRA7RipfIQIhAMc8He0V/JuYGJHBmcGpbgzkK4SeJCOVaMtJBPzGG3ll"}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.26.tgz_1510131462701_0.7948530465364456"},"directories":{}},"1.0.27":{"name":"spotgen","version":"1.0.27","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","clipboardy":"^1.1.4","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.4","git-rev":"^0.2.1","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","preq":"^0.5.2","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","retest":"npm run clean! && npm install && npm test","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -i express -i preq -i xregexp -o dist/bundle.js && browserify test/test.js -i express -i preq -i xregexp -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","tags":"git push --tags","bump":"npm run push && npm run tags && npm publish","patch":"npm version patch && npm run bump","minor":"npm version minor && npm run bump","major":"npm version major && npm run bump","release":"npm run patch","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"8563264449f8a7290c7a039a0045ba1edef077a6","_id":"spotgen@1.0.27","_npmVersion":"5.4.2","_nodeVersion":"8.8.1","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"integrity":"sha512-bXhRMC3fyqCH5HJtpCyM2UdNXAsiF+Z+3ZNaxrJ0UoLD9vzubyvtPN89GMFMDknQP9ZGh0KAj56JtbI1QtTAgw==","shasum":"f36e43b07c9db0a189482b65bccac9b289b90c97","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.27.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMgSYciASgdeBg1GguMo7BnJiT1qrN5fm84AlLHeVCwgIgE1TiBpUzmaFcnZHJ1/iq6rE6JnItJLz9qrygFB+QC6M="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen-1.0.27.tgz_1510162681839_0.32512001460418105"},"directories":{}},"1.0.28":{"name":"spotgen","version":"1.0.28","author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"description":"A tool for generating Spotify playlists programmatically. Convert websites to Spotify playlists, incorporate Last.fm listener data, and employ smart algorithms to reorder the tracks.","license":"MIT","keywords":["spotify","playlist","generator"],"main":"index.js","bin":{"spotgen":"index.js"},"repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"homepage":"https://github.com/epsil/spotgen","engines":{"node":">=4.0.0"},"dependencies":{"base-64":"^0.1.0","bootstrap":"^3.3.7","cli-input":"^0.2.0","clipboardy":"^1.1.4","csv-stringify":"^1.0.4","eol":"^0.8.1","express":"^4.15.4","git-rev":"^0.2.1","jquery":"^3.1.1","jsdom":"^9.4.1","lodash":"^4.17.4","opn":"^5.1.0","preq":"^0.5.2","promise":"^7.1.1","request":"^2.79.0","string-similarity":"^1.1.0","urijs":"^1.18.10","xregexp":"^3.2.0"},"devDependencies":{"browserify":"^13.1.1","chai":"^3.5.0","chai-as-promised":"^6.0.0","http-server":"^0.10.0","jsdoc":"^3.4.3","jshint":"^2.9.4","markdownlint-cli":"^0.3.1","mocha":"^3.2.0","standard":"^8.6.0","uglify-js":"^2.7.5"},"scripts":{"clean":"git stash && git clean -d -f -f -x","clean!":"npm run reset && npm run clean","clean!!":"npm run reset! && npm run clean","ds_store":"find . -iname \"*.DS_Store\" -exec git rm {} \\;; find . -iname \"*er i konflikt*\" -exec git rm {} \\;; find . -iname \"*.DS_Store\" -exec rm {} \\;; find . -iname \"*.docx\" -exec rm {} \\;; find . -iname \"*.log\" -exec rm {} \\;","cli":"node index.js","gui":"git gui &","dump":"node index.js > output.txt && cat output.txt","build":"npm run browser && npm run jsdoc","rebuild":"npm run build && npm run http","retest":"npm run clean! && npm install && npm test","dist":"npm run build && npm run minify && cp -r doc dist && cp -r test dist","lint":"npm run jshint && npm run standard && npm run markdownlint","jshint":"jshint index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","standard":"standard index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js dist/web.js test/test.js","markdownlint":"markdownlint README.md Tips.md","nyan":"mocha --reporter nyan test/test.js","tests":"mocha test/test.js","test":"npm run lint && npm run tests","server":"http-server -p 9000 dist","start":"open http://localhost:9000/","http":"npm run start && npm run server","browser":"browserify dist/web.js -i express -i preq -i xregexp -o dist/bundle.js && browserify test/test.js -i express -i preq -i xregexp -o test/bundle.js","minify":"uglifyjs dist/bundle.js -o dist/bundle.js","open":"open dist/index.html","web":"npm run browser && npm run open","builddoc":"npm run jsdoc && npm run doc","jsdoc":"rm -rf doc && jsdoc -c .jsdocrc -d doc README.md index.js lib/album.js lib/artist.js lib/auth.js lib/collection.js lib/generator.js lib/http.js lib/lastfm.js lib/playlist.js lib/parser.js lib/queue.js lib/scraper.js lib/similar.js lib/sort.js lib/spotify.js lib/top.js lib/track.js lib/util.js","doc":"open doc/index.html","commit":"git --no-pager status && git --no-pager diff && git commit -a -m \"Updated `git status | sed -n '/modified:/ {s/^[[:space:]]*modified:[[:space:]]*//;s/\\.txt$//;s/\\.md$//;s/\\.html$//;s/\\/index$//;p;q;}'`\"","amend":"git --no-pager status && git --no-pager diff && git commit -a --amend --no-edit","reword":"git --no-pager status && git --no-pager diff && git commit -a --amend","reset":"git reset --hard","clear":"git stash clear","reset!":"npm run reset && npm run clear","push":"git --no-pager status && git pull --rebase && git push","push!":"git --no-pager status && git push --force","pull":"git --no-pager status && git pull --rebase","tags":"git push --tags","bump":"npm run push && npm run tags && npm publish","patch":"npm version patch && npm run bump","minor":"npm version minor && npm run bump","major":"npm version major && npm run bump","release":"npm run patch","compress":"git gc --prune=now","diff":"git diff","log":"git log -p","gitk":"gitk &","status":"git status"},"gitHead":"b34cabeb0cb34cdea74a27bdc5e2fb54101278b4","_id":"spotgen@1.0.28","_shasum":"f74a0f276a092cc88063fed49781f82bd063317e","_from":".","_npmVersion":"3.5.2","_nodeVersion":"6.11.4","_npmUser":{"name":"epsil","email":"vegard_oye@hotmail.com"},"dist":{"shasum":"f74a0f276a092cc88063fed49781f82bd063317e","tarball":"https://registry.npmjs.org/spotgen/-/spotgen-1.0.28.tgz","integrity":"sha512-yxMo1n+GTNxVtw/JM+sa5HBJH5gaQ4KoIoPa2glG98nbJUHVR2Ydiydt2Ji3cWsrUf62bM98ph8Zdb1H1eD4NQ==","fileCount":107,"unpackedSize":9390493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbbDRwCRA9TVsSAnZWagAAq9oP/jFGfXDB+rWHfooPO5FH\nuTLIsu+uu4xL4WpmiglRLoEzDEvA7ravnUI1CqriazuGsEwkWeRceOLpZJXJ\nqz/3/0PpUEZmdsrLyyd/79FZFW+Exos1xmJtWrcpZYEG+zSw8kyhDzYROomR\nnYFATnoNo8zM3LLYAkDDbHBlixnOGHL6NCRrfqz56dzdOITIWwDf1H6Hrdxn\n5f3Ca8pZD9hOXnFTIe0+9Pv30KObe9gIwgorF6Z5sXkr9grF1bvxTmLsMXZ2\npDcWsAk02qaJW8wwxS4/0wke8ogu6R82ZQLQ7XiJ49yocwJikHTGSb5T0rgM\n4m85YrqDWe9nM77zK8BY9vn4eReMPKLynhRoiPEF+G9FTlvWF4Wc9za+hR8m\ntWNkgM11SLN/ZGXwhbULGkwTxIcwqSX7sBF7BrtdJshscB4Vwo2pirRYis6r\nENKnbAVMC3GPxeiUqbaTBdR/MxkFKXBR8a1xlECE/G5ZE2xeNIukf+ki11rb\nt8kTCyiLs4ILDR21kHx+vT7pJephxihG9ffu8FsBhEQZm8wwSN6MBniBeVGM\nhRKB7jlxVWj8Dn9M1jQmLV26NNkTF283rKdckse6NMi2DotTP4Zh7nEDGXE1\nqBHeipG03xh8Y7Bi2vYfPrA/A/kADHafFz/ld4Hk2g12I+MYHFlcQjO/LmPE\n8T+O\r\n=gjm5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH5XyqFQ6KEW2FmqG+LvWcD0FdxhStL1qc1EmhVD4SbpAiEAqXEQwbbGYr8xYoxzq72uzxEN6hnIzeMEVDAOQiR/Mu0="}]},"maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spotgen_1.0.28_1533817967234_0.740472163493068"},"_hasShrinkwrap":false}},"readme":"spotgen\r\n=======\r\n\r\n[![nodei.co](https://nodei.co/npm/spotgen.png)](https://www.npmjs.com/package/spotgen)\r\n\r\n[![npm](https://img.shields.io/npm/v/spotgen.svg)](https://www.npmjs.com/package/spotgen)\r\n[![Build Status](https://travis-ci.org/epsil/spotgen.svg?branch=master)](https://travis-ci.org/epsil/spotgen)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\r\n\r\nA tool for generating [Spotify](http://www.spotify.com/) playlists programmatically. Convert websites to Spotify playlists, incorporate [Last.fm](http://last.fm/) listener data, and employ smart algorithms to reorder the tracks.\r\n\r\nWeb demo: <https://epsil.github.io/spotgen/>\r\n\r\nInstallation\r\n------------\r\n\r\nInstall [Node](http://nodejs.org/) and fetch the package with [`npm`](https://www.npmjs.com/package/spotgen):\r\n\r\n    npm install -g spotgen\r\n\r\nNote that on some systems, it might be necessary to prepend the `npm` command with [`sudo`](https://docs.npmjs.com/getting-started/installing-npm-packages-globally).\r\n\r\nThe generator can now be invoked from the command line as `spotgen` (see [usage](#command-line-version)).\r\n\r\nUsage\r\n-----\r\n\r\n### Web demo\r\n\r\nGo to <https://epsil.github.io/spotgen/>, enter a [generator string](#commands) in the text field and press *Create Playlist*.\r\n\r\n### Command-line version\r\n\r\n    spotgen input.txt [output.txt]\r\n\r\n`input.txt` is a text file containing a [generator string](#commands), invoking any of the *commands* described below. `output.txt` will contain the generator's output, a list of [Spotify URIs](#spotify-uris) which can be [imported into Spotify](#importing-the-playlist). If an output file is not specified, then the Spotify URIs are written to standard output, with an option to copy them to the clipboard.\r\n\r\nAlternatively, one can pass a generator string as a single argument:\r\n\r\n    spotgen \"#artist Bowery Electric\"\r\n    spotgen \"#similar Beach House\\n#similar Hooverphonic\"\r\n    spotgen http://www.last.fm/user/username/library\r\n\r\nMake sure to surround the string with quotes (`\"`) if it contains spaces or special characters. Line breaks can be expressed as `\\n`.\r\n\r\nOne can also run the generator with no arguments and enter commands interactively. This saves one the trouble of quoting strings and escaping newlines.\r\n\r\nFor more information, type `spotgen --help`.\r\n\r\n### Importing the playlist\r\n\r\nTo **import** the playlist into Spotify:\r\n\r\n1.  **Copy the output of the generator:** Choose *Edit -> Copy* (<kbd>Ctrl</kbd> + <kbd>C</kbd>).\r\n2.  **Create a new playlist in Spotify:** Choose *File -> New Playlist* (<kbd>Ctrl</kbd> + <kbd>N</kbd>).\r\n3.  **Paste into the playlist:** Select the playlist and choose *Edit -> Paste* (<kbd>Ctrl</kbd> + <kbd>V</kbd>).\r\n\r\nCommands\r\n--------\r\n\r\nThe generator effectively defines a \"mini-language\" for creating Spotify playlists. One can create a playlist in many ways: on the basis of [track titles](#tracks), [album titles](#albums), [artist names](#artists), [similar artists](#similar-artists), [top tracks](#top-tracks) or [webpages](#web-scraping).\r\n\r\nBelow follows a list of **generator commands**.\r\n\r\n### Web scraping\r\n\r\nThe generator can scrape data from web pages. (Note that this functionality is only available in the [command-line version](#command-line-version).)\r\n\r\n#### Last.fm\r\n\r\nThe generator can be instructed to fetch data from [Last.fm](http://last.fm/)'s webpages simply by supplying the page's address. For example, to create a playlist of artists similar to an artist, add the line:\r\n\r\n    http://www.last.fm/music/Artist+Name/+similar\r\n\r\nTo create a playlist of a user's recently played tracks:\r\n\r\n    http://www.last.fm/user/username/library\r\n\r\nTo fetch multiple pages in succession, add a number parameter:\r\n\r\n    5 http://www.last.fm/user/username/library\r\n\r\nThis is functionally identical to:\r\n\r\n    http://www.last.fm/user/username/library\r\n    http://www.last.fm/user/username/library?page=2\r\n    http://www.last.fm/user/username/library?page=3\r\n    http://www.last.fm/user/username/library?page=4\r\n    http://www.last.fm/user/username/library?page=5\r\n\r\nNote that Last.fm displays listening history in reverse chronological order. To create a chronological playlist, add the [`#reverse`](#reverse) command.\r\n\r\n[More on Last.fm scraping](Tips.md#lastfm).\r\n\r\n#### Pitchfork\r\n\r\nTo scrape a [Pitchfork](http://pitchfork.com/) list:\r\n\r\n    http://pitchfork.com/features/lists-and-guides/9980-the-50-best-albums-of-2016/\r\n\r\n#### Rate Your Music\r\n\r\nTo scrape a [Rate Your Music](http://rateyourmusic.com/) chart:\r\n\r\n    http://rateyourmusic.com/charts/top/album/2016\r\n\r\n#### Reddit\r\n\r\nTo scrape a [Reddit](http://www.reddit.com/) forum:\r\n\r\n    http://www.reddit.com/r/SoundsVintage/\r\n\r\nTo scrape a comments thread:\r\n\r\n    http://www.reddit.com/r/Music/comments/2zpfv7/whats_the_catchiest_song_you_know_that_just_makes/\r\n\r\nWhen scraping threads, it can be a good idea to add the [`#order by lastfm`](#order) command. This will order the results by [Last.fm](http://last.fm/) popularity, thereby filtering out noise.\r\n\r\n#### YouTube\r\n\r\nTo convert a [YouTube](http://www.youtube.com/) playlist:\r\n\r\n    http://www.youtube.com/watch?v=yWEK4v9AVKQ&list=PLChOO_ZAB22WuyDODJ3kjJiU0oQzWOTyb\r\n\r\n### Top tracks\r\n\r\nTo retrieve the top 10 tracks of an artist, pass the following to the generator:\r\n\r\n    #top Aphex Twin\r\n\r\nThe generator will output a playlist consisting of the ten most popular tracks of Aphex Twin, which can then be [imported](#usage) into Spotify.\r\n\r\nAll of the commands listed here can be used multiple times. For example:\r\n\r\n    #top Aphex Twin\r\n    #top Beach House\r\n\r\nThis will create a playlist consisting of the top tracks of Aphex Twin, followed by the top tracks of Beach House.\r\n\r\nTo retrieve only the top 5 tracks, use `#top5`.\r\n\r\nTo retrieve *all* tracks, use [`#artist`](#artists).\r\n\r\n### Similar artists\r\n\r\nTo find similar artists:\r\n\r\n    #similar Aphex Twin\r\n\r\nThis will generate a 100-track playlist consisting of the 5 most popular tracks from the 20 most similar artists to Aphex Twin.\r\n\r\nTo retrieve more tracks, use `#similar10`.\r\n\r\n### Albums\r\n\r\nTo add an album:\r\n\r\n    #album Biosphere - Substrata\r\n\r\nAlternatively, use the album's Spotify link or Spotify URI:\r\n\r\n    https://open.spotify.com/album/5QIf4hNIAksV1uMCXHVkAZ\r\n\r\n### Artists\r\n\r\nTo add all the albums of an artist:\r\n\r\n    #artist Beach House\r\n\r\nAlternatively, use the artist's Spotify link or Spotify URI:\r\n\r\n    https://open.spotify.com/artist/56ZTgzPBDge0OvCGgMO3OY\r\n\r\nNote that this command can be rather slow, as it attempts to retrieve every single track by the artist, including tracks from collaboration and compilation albums. A fast alternative is the [`#top`](#top-tracks) command.\r\n\r\n### Playlist\r\n\r\nTo add all the tracks of a playlist:\r\n\r\n    #playlist username:playlistid\r\n\r\nwhere `username` is the owner of the playlist and `playlistid` is the ID of the playlist.\r\n\r\nAlternatively, use the playlist's Spotify link or Spotify URI:\r\n\r\n    https://open.spotify.com/user/redditlistentothis/playlist/6TMNC59e1TuFFE48tJ9V2D\r\n\r\n### Tracks\r\n\r\nTo add a single track to the playlist, add a line on the form `ARTIST - TRACK`:\r\n\r\n    Beach House - Walk in the Park\r\n    Beach House - Irene\r\n    Beach House - Other People\r\n    Beach House - Troublemaker\r\n    Beach House - Wishes\r\n\r\nAlternatively, use the track's Spotify link or Spotify URI:\r\n\r\n    https://open.spotify.com/track/4oNXgGnumnu5oIXXyP8StH\r\n\r\n[More on single tracks](Tips.md#miscellaneous).\r\n\r\n### Duplicates\r\n\r\nBy default, the generator automatically removes duplicate tracks. To allow duplicates, add the line:\r\n\r\n    #duplicates\r\n\r\n### Reverse\r\n\r\nTo reverse the order of the tracks, add the line:\r\n\r\n    #reverse\r\n\r\n### Shuffle\r\n\r\nTo shuffle the order of the tracks, add the line:\r\n\r\n    #shuffle\r\n\r\n### Order\r\n\r\nOne can reorder the tracks with the `#order by` command. One can order on any track attribute, such as `name`, `artist`, `album`, etc. For example, to order the tracks by Spotify popularity, use `#order by popularity`:\r\n\r\n    #order by popularity\r\n    #artist Beach House\r\n\r\nOne can also leverage Spotify's analytic algorithms and order on the basis of [audio features](https://developer.spotify.com/web-api/get-audio-features/) such as `danceability`, `energy`, `instrumentalness`, `speechiness`, `tempo`, etc. For example, to screen for instrumental tracks:\r\n\r\n    #order by instrumentalness\r\n    #artist Beach House\r\n\r\nThis moves instrumental tracks towards the beginning of the playlist and vocal tracks towards the end. To do the opposite, add the [`#reverse`](#reverse) command:\r\n\r\n    #order by instrumentalness\r\n    #reverse\r\n    #artist Beach House\r\n\r\nThe generator also provides [Last.fm](http://last.fm/) support. To order by Last.fm playcount, add the line `#order by lastfm`:\r\n\r\n    #order by lastfm\r\n    #artist Beach House\r\n\r\nTo order by Last.fm user playcount, add the Last.fm username at the end:\r\n\r\n    #order by lastfm:username\r\n    #artist Beach House\r\n\r\n### Group\r\n\r\nTo sort the ordered tracks into groups, use `#group by`:\r\n\r\n    #order by lastfm\r\n    #group by artist\r\n    #similar Beach House\r\n\r\nThis will create a Last.fm-ordered playlist of artists similar to Beach House, where tracks from the same artists are grouped together.\r\n\r\n### Alternate\r\n\r\nTo group the tracks and then interleave them, use `#alternate by`:\r\n\r\n    #order by popularity\r\n    #alternate by artist\r\n    #similar Beach House\r\n    #similar Hooverphonic\r\n\r\nThis will create a Last.fm-ordered playlist of artists similar to Beach House and Hooverphonic, with each track having a different artist from the previous track.\r\n\r\nSupported formats\r\n-----------------\r\n\r\nThe generator can work with [Spotify links](#spotify-links), [Spotify URIs](#spotify-uris), [M3U playlists](#m3u-playlists) and [CSV files](#comma-separated-values). By default, the generator outputs a list of Spotify URIs.\r\n\r\n### Import existing Spotify playlists\r\n\r\nThe generator understands Spotify links and Spotify URIs. These are usually obtained by opening the item in Spotify and choosing *More* -> *Share* (click on the `...` symbol).\r\n\r\n#### Spotify links\r\n\r\nThe following example creates a new playlist out of an existing playlist, applying the [`#order`](#order) command in the process:\r\n\r\n    #order by popularity\r\n    https://open.spotify.com/user/redditlistentothis/playlist/6TMNC59e1TuFFE48tJ9V2D\r\n\r\nAnother method is to select the playlist's tracks in Spotify, copy them, and then paste them into a text file. This produces a list of Spotify track links:\r\n\r\n    https://open.spotify.com/track/4oNXgGnumnu5oIXXyP8StH\r\n    https://open.spotify.com/track/7rAjeWkQM6cLqbPjZtXxl2\r\n    https://open.spotify.com/track/2Nt4Uw91pQLXSJ28SttDdF\r\n    ...\r\n\r\n#### Spotify URIs\r\n\r\nSpotify URIs are the default output format of the generator. They look like this:\r\n\r\n    spotify:track:4oNXgGnumnu5oIXXyP8StH\r\n    spotify:track:7rAjeWkQM6cLqbPjZtXxl2\r\n    spotify:track:2Nt4Uw91pQLXSJ28SttDdF\r\n    ...\r\n\r\n### M3U playlists\r\n\r\nOne can also import [M3U](http://en.wikipedia.org/wiki/M3U) playlists (with the file extension `.m3u` or `.m3u8`), provided they contain `EXTM3U` metadata. That is, the playlist should be on the form:\r\n\r\n    #EXTM3U\r\n    #EXTINF:404,Desire Lines - Deerhunter\r\n    Deerhunter/Halcyon Digest/06 Desire Lines.mp3\r\n    #EXTINF:230,Saved By Old Times - Deerhunter\r\n    Deerhunter/Microcastle/10 Saved By Old Times.mp3\r\n    #EXTINF:202,Agoraphobia - Deerhunter\r\n    Deerhunter/Microcastle/02 Agoraphobia.mp3\r\n    #EXTINF:133,Revival - Deerhunter\r\n    Deerhunter/Halcyon Digest/03 Revival.mp3\r\n    #EXTINF:264,Twilight at Carbon Lake - Deerhunter\r\n    Deerhunter/Microcastle/12 Twilight at Carbon Lake.mp3\r\n\r\nThe generator translates this to:\r\n\r\n    Deerhunter - Desire Lines\r\n    Deerhunter - Saved By Old Times\r\n    Deerhunter - Agoraphobia\r\n    Deerhunter - Revival\r\n    Deerhunter - Twilight at Carbon Lake\r\n\r\n[More on M3U playlists](Tips.md#m3u-playlists).\r\n\r\n### Comma-separated values\r\n\r\nThe generator can read and write the CSV format used by [Exportify](https://github.com/watsonbox/exportify):\r\n\r\n    spotify:track:3jZ0GKAZiDMya0dZPrw8zq,Desire Lines,Deerhunter,Halcyon Digest,1,6,404413,,\r\n    spotify:track:20DDHYR4vZqDwHyNFLwkXI,Saved By Old Times,Deerhunter,Microcastle,1,10,230226,,\r\n    spotify:track:2SpHd4lGMrJMIQDf92V6VP,Agoraphobia,Deerhunter,Microcastle,1,2,202640,,\r\n    spotify:track:30wvVTkqA4Fp5ZCG0xGof7,Revival,Deerhunter,Halcyon Digest,1,3,133666,,\r\n    spotify:track:6vtwbm7YGkTwTINdrcXV5I,Twilight At Carbon Lake,Deerhunter,Microcastle,1,12,263986,,\r\n\r\nTo output to this format, add the line `#csv`:\r\n\r\n    #csv\r\n    Deerhunter - Desire Lines\r\n    Deerhunter - Saved By Old Times\r\n    Deerhunter - Agoraphobia\r\n    Deerhunter - Revival\r\n    Deerhunter - Twilight at Carbon Lake\r\n\r\nCSV files have the advantage of being editable with a spreadsheet editor such as Microsoft Excel or LibreOffice Calc. They are also future-proof, as they contain additional info to the Spotify URIs. (The URIs might, conceivably, change or become outdated. On the other hand, the title, artist and album of a track can be used to find that track on any music streaming service.)\r\n\r\nWeb demo\r\n--------\r\n\r\nThe generator is available as a single-page application running in the browser. It is hosted at <https://epsil.github.io/spotgen/>.\r\n\r\nThe generator code runs entirely on the client side. However, because of restrictions in Spotify's authentication service, the user first has to log in with their Spotify account. Despite the warning, the application does not access any private data. (Alternatively, the [command-line version](#command-line-version) can be used without logging in.)\r\n\r\nThe web demo does not support [web scraping](#web-scraping), due to browser limits on [cross-site requests](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing). For this, one has to use the command-line version.\r\n\r\nIt is also possible to run the web demo locally:\r\n\r\n    npm run http\r\n\r\nThis will start up a `http-server` instance at <http://localhost:9000/>.\r\n\r\nNote that Spotify's authentication service requires the web demo to be hosted at a whitelisted address. This is the reason for running `http-server` at port 9000 (merely opening `index.html` in a browser will not work).\r\n\r\nFor more information about authentication, see the official [Spotify Web API documentation](http://developer.spotify.com/web-api/authorization-guide/#implicit-grant-flow).\r\n\r\nThe web demo is built with [Browserify](http://browserify.org/), which goes to show that the library is browserifiable.\r\n\r\nLibrary\r\n-------\r\n\r\nThe generator is also available as a library that can be included in another project. To install it in the project's `node_modules/` folder:\r\n\r\n    npm install --save spotgen\r\n\r\nThe following example demonstrates how to use the library:\r\n\r\n```js\r\nvar Generator = require('spotgen')\r\nvar spotgen = new Generator('#top Beach House\\n#top Deer Hunter')\r\nspotgen.generate().then(function (result) {\r\n  // do something with the Spotify URIs,\r\n  // e.g., output them to the console\r\n  console.log(result)\r\n})\r\n```\r\n\r\nThe `generate()` method returns a [promise](https://www.promisejs.org/) that contains the Spotify URIs, represented as a newline-separated string. To access this value, use the `then()` callback as shown.\r\n\r\nNote that if one is writing one's own application for Spotify, then one should [register the application](https://developer.spotify.com/web-api/authorization-guide/#introduction) and obtain a client ID and client secret key. These are passed to the `Generator` class like so:\r\n\r\n```js\r\nvar spotgen = new Generator('#top Beach House', clientId, clientKey)\r\n```\r\n\r\nThe generator will then use these values to acquire an access token for web API requests. If one already has a token, then one can pass that to `Generator` as well:\r\n\r\n```js\r\nvar spotgen = new Generator('#top Beach House', clientId, clientKey, token)\r\n```\r\n\r\nDeveloper version\r\n-----------------\r\n\r\nInstead of installing the package with `npm`, one can fetch the source code from [GitHub](https://github.com/epsil/spotgen). Then one is ensured to have the latest version:\r\n\r\n    git clone https://github.com/epsil/spotgen.git\r\n\r\nWhen the above command finishes, fetch all package depencies with `npm install`:\r\n\r\n    cd spotgen\r\n    npm install\r\n\r\nThen create a global package link with `npm link`:\r\n\r\n    npm link\r\n\r\nOne can always fetch the latest version with `git pull`. If the package's dependencies change, it might also be necessary to re-run `npm install`.\r\n\r\n### Unit tests\r\n\r\nThe package includes a test suite. To run it, enter:\r\n\r\n    npm test\r\n\r\nFeedback\r\n--------\r\n\r\nPlease post suggestions and bug reports at the project's [bug tracker](https://github.com/epsil/spotgen/issues). When reporting a bug, it is helpful to include the minimum number of steps necessary to reproduce the problem, as well as the version number (`spotgen --version`).\r\n\r\nThanks\r\n------\r\n\r\nThis tool is freeware. You can [donate Bitcoin](https://epsil.github.io/donate/) to: [`13cF1WPEfX2AobEJH5eTkde9MKfRhFGuDU`](bitcoin:13cF1WPEfX2AobEJH5eTkde9MKfRhFGuDU)\r\n\r\nLicense\r\n-------\r\n\r\n[MIT License](LICENSE).\r\n\r\nLinks\r\n-----\r\n\r\n-   [Web demo](https://epsil.github.io/spotgen/)\r\n-   [npm package](https://www.npmjs.com/package/spotgen)\r\n-   [GitHub repository](https://github.com/epsil/spotgen)\r\n-   [Developer documentation](https://epsil.github.io/spotgen/doc/)\r\n-   [Spotify Web API documentation](http://developer.spotify.com/web-api/authorization-guide/#implicit-grant-flow)\r\n-   [Additional tips](Tips.md)\r\n\r\n### See also\r\n\r\n-   [Exportify](https://github.com/watsonbox/exportify), for exporting Spotify playlists to CSV format\r\n-   [Spotlistr](http://spotlistr.herokuapp.com/) ([source](https://github.com/BobNisco/Spotlistr)), conversion app\r\n-   [Playlist Converter](http://www.playlist-converter.net/), conversion app\r\n-   [MagicPlaylist](http://magicplaylist.co/) ([source](https://github.com/loverajoel/magicplaylist)), recommendations\r\n-   [20v](http://20v.co/) ([source](https://github.com/fusenlabs/20v)), recommendations\r\n-   [Spotibot](http://www.spotibot.com/), recommendations\r\n","maintainers":[{"name":"epsil","email":"vegard_oye@hotmail.com"}],"time":{"modified":"2022-06-26T23:03:33.008Z","created":"2017-07-29T11:42:18.532Z","1.0.0":"2017-07-29T11:42:18.532Z","1.0.1":"2017-07-29T13:57:43.755Z","1.0.3":"2017-07-29T14:22:29.929Z","1.0.4":"2017-07-29T15:03:29.854Z","1.0.5":"2017-07-29T16:33:49.038Z","1.0.6":"2017-07-29T22:35:12.882Z","1.0.7":"2017-07-30T11:07:24.908Z","1.0.8":"2017-07-30T17:09:35.705Z","1.0.9":"2017-07-31T12:00:40.893Z","1.0.10":"2017-08-01T08:11:11.270Z","1.0.11":"2017-08-03T13:43:43.070Z","1.0.12":"2017-08-03T14:21:29.260Z","1.0.13":"2017-08-05T07:29:55.333Z","1.0.14":"2017-08-05T07:55:39.542Z","1.0.15":"2017-08-05T12:44:45.895Z","1.0.16":"2017-08-05T15:16:36.369Z","1.0.18":"2017-08-05T15:25:57.135Z","1.0.19":"2017-08-05T15:31:57.855Z","1.0.20":"2017-08-07T08:18:49.326Z","1.0.21":"2017-08-08T09:01:10.793Z","1.0.22":"2017-08-09T19:03:56.360Z","1.0.23":"2017-08-14T12:44:03.808Z","1.0.24":"2017-08-23T11:25:11.816Z","1.0.25":"2017-09-05T10:55:28.863Z","1.0.26":"2017-11-08T08:57:44.519Z","1.0.27":"2017-11-08T17:38:02.015Z","1.0.28":"2018-08-09T12:32:47.386Z"},"homepage":"https://github.com/epsil/spotgen","repository":{"type":"git","url":"git+https://github.com/epsil/spotgen.git"},"author":{"name":"Vegard Øye","email":"vegard_oye@hotmail.com"},"bugs":{"url":"https://github.com/epsil/spotgen/issues"},"license":"MIT","readmeFilename":"README.md","keywords":["spotify","playlist","generator"]}