Skip to content

Commit

Permalink
First commit
Browse files Browse the repository at this point in the history
  • Loading branch information
dmitrysergienkocodefirst committed May 30, 2022
0 parents commit f3c11a2
Show file tree
Hide file tree
Showing 46 changed files with 3,399 additions and 0 deletions.
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
YOUTUBE_KEY=YOUR_KEY
31 changes: 31 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"env": {
"browser": true,
"es2021": true
},
"extends": [
"eslint:recommended",
"plugin:react/recommended"
],
"rules": {
"no-useless-escape": "off",
"react/jsx-uses-react": "off",
"react/react-in-jsx-scope": "off",
"no-var": "error"
},
"parserOptions": {
"ecmaVersion": 12,
"sourceType": "module"
},
"globals": {
"$": "readonly",
"chrome": "readonly",
"ga": "readonly",
"process": "readonly"
},
"settings": {
"react": {
"version": "detect"
}
}
}
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
node_modules
searcher
searcher.zip
.env
.vs
package-lock.json
src/js/*.js
src/js/*.txt
10 changes: 10 additions & 0 deletions babel.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"presets": [
[
"@babel/preset-react",
{
"runtime": "automatic"
}
]
]
}
31 changes: 31 additions & 0 deletions build/build.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const clean = require('./clean');
const copy = require('./copy');
const bundleCSS = require('./bundle-css');
const updateVariables = require('./update-variables');
const zip = require('./zip');

var args = process.argv.slice(2);
var buildType = getParameter(args, 'buildType');
if (buildType == '') buildType = 'test';

function getParameter(args, key) {
var value = '';
args.forEach(function (v, i, a) {
var keyValue = v.split('=');
if (keyValue == undefined || keyValue.length < 2)
return;
if (key == keyValue[0])
value = keyValue[1];
});
return value;
}

async function build() {
await clean(buildType);
await copy();
await bundleCSS();
await updateVariables();
zip(buildType);
}

build();
20 changes: 20 additions & 0 deletions build/bundle-css.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
const fs = require('fs-extra');
const less = require('less');

var cssDir = 'searcher/css';
var files = [`${cssDir}/sfd`, `${cssDir}/settings`];

async function bundleCSS() {
var allFiles = await fs.readdir(cssDir);
for (var i = 0; i < files.length; i++) {
var v = files[i];
var input = await fs.readFile(`${v}.less`, { encoding: 'utf8' });
var output = await less.render(input, { filename: `${v}.less` });
await fs.outputFile(`${v}.css`, output.css, { encoding: 'utf8' });
}
for (var i = 0; i < allFiles.length; i++) {
await fs.remove(`${cssDir}/${allFiles[i]}`);
}
}

module.exports = bundleCSS
9 changes: 9 additions & 0 deletions build/clean.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
const fs = require('fs-extra');

async function clean(buildType) {
await fs.remove('searcher');
if (buildType == 'prod')
await fs.remove('searcher.zip');
}

module.exports = clean;
7 changes: 7 additions & 0 deletions build/copy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
const fs = require('fs-extra');

async function copy() {
await fs.copy('src', 'searcher');
}

module.exports = copy;
9 changes: 9 additions & 0 deletions build/update-variables.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
const fs = require('fs-extra');

async function updateVariables() {
var manifest = await fs.readFile('searcher/manifest.json', 'utf8');
var manifest = manifest.replace(/VERSION/g, process.env.npm_package_version);
await fs.writeFile('searcher/manifest.json', manifest, 'utf8');
}

module.exports = updateVariables;
11 changes: 11 additions & 0 deletions build/zip.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
const zipFolder = require('zip-folder');

function zip(buildType) {
if (buildType == 'prod')
zipFolder('searcher', 'searcher.zip', function (err) {
if (err)
console.log(err);
});
}

module.exports = zip
31 changes: 31 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"name": "searcher-for-discogs",
"version": "8.1.0",
"description": "Allows to listen to tracks on Discogs by clicking on it.",
"scripts": {
"build": "node build/build.js buildType=test",
"build-webpack": "webpack --mode=development && npm run build",
"release-webpack": "webpack --mode=production && npm run release",
"release": "node build/build.js buildType=prod"
},
"author": "Dmitry Sergienko",
"license": "ISC",
"devDependencies": {
"@babel/cli": "^7.17.10",
"@babel/core": "^7.18.0",
"@babel/preset-react": "^7.17.12",
"babel-loader": "^8.2.5",
"dotenv": "^16.0.1",
"dotenv-webpack": "^7.1.0",
"eslint": "^8.16.0",
"eslint-plugin-react": "^7.30.0",
"eslint-webpack-plugin": "^3.1.1",
"fs-extra": "^10.0.1",
"less": "^4.1.2",
"react": "^18.1.0",
"react-dom": "^18.1.0",
"webpack": "^5.72.1",
"webpack-cli": "^4.9.2",
"zip-folder": "^1.0.0"
}
}
40 changes: 40 additions & 0 deletions src/background.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
chrome.runtime.onMessage.addListener(
function (request, sender, sendResponse) {
if (request.method == "getQueryResult") {
var headers = {};
if (request.contentType != undefined)
Object.assign(headers, { "Content-type": request.contentType });
if (request.auth != undefined)
Object.assign(headers, { "Authorization": request.auth });

fetch(request.url, {
method: request.type,
headers: headers,
body: request.data,
referrer: request.referrer
})
.then(function (response) {
if (response.status == 204)
return;
else
return response.text();
}).then(function (response) {
if (response == undefined)
return;

if (response.error) {
sendResponse({
success: false,
error: {
status: response.error.code,
message: response.error.message
}
});
} else {
sendResponse({ success: true, result: response });
}
});

return true;
}
});
Loading

0 comments on commit f3c11a2

Please sign in to comment.