Use single quotes :P
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
const validateNpmPackageName = require("validate-npm-package-name");
|
||||
const validateNpmPackageName = require('validate-npm-package-name');
|
||||
|
||||
const BlacklistAPI = require("../BlacklistAPI");
|
||||
const BlacklistAPI = require('../BlacklistAPI');
|
||||
|
||||
function addToBlacklist(req, res) {
|
||||
const packageName = req.body.packageName;
|
||||
@ -15,7 +15,7 @@ function addToBlacklist(req, res) {
|
||||
|
||||
// Disallow invalid package names.
|
||||
if (nameErrors) {
|
||||
const reason = nameErrors.join(", ");
|
||||
const reason = nameErrors.join(', ');
|
||||
return res.status(403).send({
|
||||
error: `Invalid package name "${packageName}" (${reason})`
|
||||
});
|
||||
@ -33,7 +33,7 @@ function addToBlacklist(req, res) {
|
||||
res.send({
|
||||
ok: true,
|
||||
message: `Package "${packageName}" was ${
|
||||
added ? "added to" : "already in"
|
||||
added ? 'added to' : 'already in'
|
||||
} the blacklist`
|
||||
});
|
||||
},
|
||||
|
@ -1,4 +1,4 @@
|
||||
const AuthAPI = require("../AuthAPI");
|
||||
const AuthAPI = require('../AuthAPI');
|
||||
|
||||
const defaultScopes = {
|
||||
blacklist: {
|
||||
@ -15,7 +15,7 @@ function createAuth(req, res) {
|
||||
console.error(error);
|
||||
|
||||
res.status(500).send({
|
||||
error: "Unable to generate auth token"
|
||||
error: 'Unable to generate auth token'
|
||||
});
|
||||
}
|
||||
);
|
||||
|
@ -1,6 +1,6 @@
|
||||
const validateNpmPackageName = require("validate-npm-package-name");
|
||||
const validateNpmPackageName = require('validate-npm-package-name');
|
||||
|
||||
const BlacklistAPI = require("../BlacklistAPI");
|
||||
const BlacklistAPI = require('../BlacklistAPI');
|
||||
|
||||
function removeFromBlacklist(req, res) {
|
||||
// TODO: Remove req.packageName when DELETE
|
||||
@ -17,7 +17,7 @@ function removeFromBlacklist(req, res) {
|
||||
|
||||
// Disallow invalid package names.
|
||||
if (nameErrors) {
|
||||
const reason = nameErrors.join(", ");
|
||||
const reason = nameErrors.join(', ');
|
||||
return res.status(403).send({
|
||||
error: `Invalid package name "${packageName}" (${reason})`
|
||||
});
|
||||
@ -35,7 +35,7 @@ function removeFromBlacklist(req, res) {
|
||||
res.send({
|
||||
ok: true,
|
||||
message: `Package "${packageName}" was ${
|
||||
removed ? "removed from" : "not in"
|
||||
removed ? 'removed from' : 'not in'
|
||||
} the blacklist`
|
||||
});
|
||||
},
|
||||
|
@ -1,21 +1,21 @@
|
||||
const React = require("react");
|
||||
const ReactDOMServer = require("react-dom/server");
|
||||
const semver = require("semver");
|
||||
const React = require('react');
|
||||
const ReactDOMServer = require('react-dom/server');
|
||||
const semver = require('semver');
|
||||
|
||||
const MainPage = require("../client/MainPage");
|
||||
const AutoIndexApp = require("../client/autoIndex/App");
|
||||
const createHTML = require("../client/utils/createHTML");
|
||||
const renderPage = require("../utils/renderPage");
|
||||
const MainPage = require('../client/MainPage');
|
||||
const AutoIndexApp = require('../client/autoIndex/App');
|
||||
const createHTML = require('../client/utils/createHTML');
|
||||
const renderPage = require('../utils/renderPage');
|
||||
|
||||
const globalScripts =
|
||||
process.env.NODE_ENV === "production"
|
||||
process.env.NODE_ENV === 'production'
|
||||
? [
|
||||
"/react@16.4.1/umd/react.production.min.js",
|
||||
"/react-dom@16.4.1/umd/react-dom.production.min.js"
|
||||
'/react@16.4.1/umd/react.production.min.js',
|
||||
'/react-dom@16.4.1/umd/react-dom.production.min.js'
|
||||
]
|
||||
: [
|
||||
"/react@16.4.1/umd/react.development.js",
|
||||
"/react-dom@16.4.1/umd/react-dom.development.js"
|
||||
'/react@16.4.1/umd/react.development.js',
|
||||
'/react-dom@16.4.1/umd/react-dom.development.js'
|
||||
];
|
||||
|
||||
function byVersion(a, b) {
|
||||
@ -23,8 +23,8 @@ function byVersion(a, b) {
|
||||
}
|
||||
|
||||
function serveAutoIndexPage(req, res) {
|
||||
const scripts = globalScripts.concat(req.assets.getScripts("autoIndex"));
|
||||
const styles = req.assets.getStyles("autoIndex");
|
||||
const scripts = globalScripts.concat(req.assets.getScripts('autoIndex'));
|
||||
const styles = req.assets.getStyles('autoIndex');
|
||||
|
||||
const props = {
|
||||
packageName: req.packageName,
|
||||
@ -49,8 +49,8 @@ function serveAutoIndexPage(req, res) {
|
||||
|
||||
res
|
||||
.set({
|
||||
"Cache-Control": "public,max-age=60", // 1 minute
|
||||
"Cache-Tag": "auto-index"
|
||||
'Cache-Control': 'public,max-age=60', // 1 minute
|
||||
'Cache-Tag': 'auto-index'
|
||||
})
|
||||
.send(html);
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
const serveAutoIndexPage = require("./serveAutoIndexPage");
|
||||
const serveHTMLModule = require("./serveHTMLModule");
|
||||
const serveJavaScriptModule = require("./serveJavaScriptModule");
|
||||
const serveStaticFile = require("./serveStaticFile");
|
||||
const serveMetadata = require("./serveMetadata");
|
||||
const serveAutoIndexPage = require('./serveAutoIndexPage');
|
||||
const serveHTMLModule = require('./serveHTMLModule');
|
||||
const serveJavaScriptModule = require('./serveJavaScriptModule');
|
||||
const serveStaticFile = require('./serveStaticFile');
|
||||
const serveMetadata = require('./serveMetadata');
|
||||
|
||||
/**
|
||||
* Send the file, JSON metadata, or HTML directory listing.
|
||||
@ -12,23 +12,23 @@ function serveFile(req, res) {
|
||||
return serveMetadata(req, res);
|
||||
}
|
||||
|
||||
if (req.entry.type === "directory") {
|
||||
if (req.entry.type === 'directory') {
|
||||
return serveAutoIndexPage(req, res);
|
||||
}
|
||||
|
||||
if (req.query.module != null) {
|
||||
if (req.entry.contentType === "application/javascript") {
|
||||
if (req.entry.contentType === 'application/javascript') {
|
||||
return serveJavaScriptModule(req, res);
|
||||
}
|
||||
|
||||
if (req.entry.contentType === "text/html") {
|
||||
if (req.entry.contentType === 'text/html') {
|
||||
return serveHTMLModule(req, res);
|
||||
}
|
||||
|
||||
return res
|
||||
.status(403)
|
||||
.type("text")
|
||||
.send("?module mode is available only for JavaScript and HTML files");
|
||||
.type('text')
|
||||
.send('?module mode is available only for JavaScript and HTML files');
|
||||
}
|
||||
|
||||
serveStaticFile(req, res);
|
||||
|
@ -1,14 +1,14 @@
|
||||
const etag = require("etag");
|
||||
const cheerio = require("cheerio");
|
||||
const etag = require('etag');
|
||||
const cheerio = require('cheerio');
|
||||
|
||||
const getContentTypeHeader = require("../utils/getContentTypeHeader");
|
||||
const rewriteBareModuleIdentifiers = require("../utils/rewriteBareModuleIdentifiers");
|
||||
const getContentTypeHeader = require('../utils/getContentTypeHeader');
|
||||
const rewriteBareModuleIdentifiers = require('../utils/rewriteBareModuleIdentifiers');
|
||||
|
||||
function serveHTMLModule(req, res) {
|
||||
try {
|
||||
const $ = cheerio.load(req.entry.content.toString("utf8"));
|
||||
const $ = cheerio.load(req.entry.content.toString('utf8'));
|
||||
|
||||
$("script[type=module]").each((index, element) => {
|
||||
$('script[type=module]').each((index, element) => {
|
||||
$(element).html(
|
||||
rewriteBareModuleIdentifiers($(element).html(), req.packageConfig)
|
||||
);
|
||||
@ -18,11 +18,11 @@ function serveHTMLModule(req, res) {
|
||||
|
||||
res
|
||||
.set({
|
||||
"Content-Length": Buffer.byteLength(code),
|
||||
"Content-Type": getContentTypeHeader(req.entry.contentType),
|
||||
"Cache-Control": "public, max-age=31536000, immutable", // 1 year
|
||||
'Content-Length': Buffer.byteLength(code),
|
||||
'Content-Type': getContentTypeHeader(req.entry.contentType),
|
||||
'Cache-Control': 'public, max-age=31536000, immutable', // 1 year
|
||||
ETag: etag(code),
|
||||
"Cache-Tag": "file, html-file, html-module"
|
||||
'Cache-Tag': 'file, html-file, html-module'
|
||||
})
|
||||
.send(code);
|
||||
} catch (error) {
|
||||
@ -38,7 +38,7 @@ function serveHTMLModule(req, res) {
|
||||
|
||||
res
|
||||
.status(500)
|
||||
.type("text")
|
||||
.type('text')
|
||||
.send(
|
||||
`Cannot generate module for ${req.packageSpec}${
|
||||
req.filename
|
||||
|
@ -1,22 +1,22 @@
|
||||
const etag = require("etag");
|
||||
const etag = require('etag');
|
||||
|
||||
const getContentTypeHeader = require("../utils/getContentTypeHeader");
|
||||
const rewriteBareModuleIdentifiers = require("../utils/rewriteBareModuleIdentifiers");
|
||||
const getContentTypeHeader = require('../utils/getContentTypeHeader');
|
||||
const rewriteBareModuleIdentifiers = require('../utils/rewriteBareModuleIdentifiers');
|
||||
|
||||
function serveJavaScriptModule(req, res) {
|
||||
try {
|
||||
const code = rewriteBareModuleIdentifiers(
|
||||
req.entry.content.toString("utf8"),
|
||||
req.entry.content.toString('utf8'),
|
||||
req.packageConfig
|
||||
);
|
||||
|
||||
res
|
||||
.set({
|
||||
"Content-Length": Buffer.byteLength(code),
|
||||
"Content-Type": getContentTypeHeader(req.entry.contentType),
|
||||
"Cache-Control": "public, max-age=31536000, immutable", // 1 year
|
||||
'Content-Length': Buffer.byteLength(code),
|
||||
'Content-Type': getContentTypeHeader(req.entry.contentType),
|
||||
'Cache-Control': 'public, max-age=31536000, immutable', // 1 year
|
||||
ETag: etag(code),
|
||||
"Cache-Tag": "file,js-file,js-module"
|
||||
'Cache-Tag': 'file,js-file,js-module'
|
||||
})
|
||||
.send(code);
|
||||
} catch (error) {
|
||||
@ -32,7 +32,7 @@ function serveJavaScriptModule(req, res) {
|
||||
|
||||
res
|
||||
.status(500)
|
||||
.type("text")
|
||||
.type('text')
|
||||
.send(
|
||||
`Cannot generate module for ${req.packageSpec}${
|
||||
req.filename
|
||||
|
@ -1,9 +1,9 @@
|
||||
const path = require("path");
|
||||
const path = require('path');
|
||||
|
||||
const addLeadingSlash = require("../utils/addLeadingSlash");
|
||||
const addLeadingSlash = require('../utils/addLeadingSlash');
|
||||
|
||||
function getMatchingEntries(entry, entries) {
|
||||
const dirname = entry.name || ".";
|
||||
const dirname = entry.name || '.';
|
||||
|
||||
return Object.keys(entries)
|
||||
.filter(name => entry.name !== name && path.dirname(name) === dirname)
|
||||
@ -16,12 +16,12 @@ function getMetadata(entry, entries) {
|
||||
type: entry.type
|
||||
};
|
||||
|
||||
if (entry.type === "file") {
|
||||
if (entry.type === 'file') {
|
||||
metadata.contentType = entry.contentType;
|
||||
metadata.integrity = entry.integrity;
|
||||
metadata.lastModified = entry.lastModified;
|
||||
metadata.size = entry.size;
|
||||
} else if (entry.type === "directory") {
|
||||
} else if (entry.type === 'directory') {
|
||||
metadata.files = getMatchingEntries(entry, entries).map(e =>
|
||||
getMetadata(e, entries)
|
||||
);
|
||||
@ -35,8 +35,8 @@ function serveMetadata(req, res) {
|
||||
|
||||
res
|
||||
.set({
|
||||
"Cache-Control": "public, max-age=31536000, immutable", // 1 year
|
||||
"Cache-Tag": "meta"
|
||||
'Cache-Control': 'public, max-age=31536000, immutable', // 1 year
|
||||
'Cache-Tag': 'meta'
|
||||
})
|
||||
.send(metadata);
|
||||
}
|
||||
|
@ -1,22 +1,22 @@
|
||||
const MainPage = require("../client/MainPage");
|
||||
const renderPage = require("../utils/renderPage");
|
||||
const MainPage = require('../client/MainPage');
|
||||
const renderPage = require('../utils/renderPage');
|
||||
|
||||
const globalScripts =
|
||||
process.env.NODE_ENV === "production"
|
||||
process.env.NODE_ENV === 'production'
|
||||
? [
|
||||
"/react@16.4.1/umd/react.production.min.js",
|
||||
"/react-dom@16.4.1/umd/react-dom.production.min.js",
|
||||
"/react-router-dom@4.3.1/umd/react-router-dom.min.js"
|
||||
'/react@16.4.1/umd/react.production.min.js',
|
||||
'/react-dom@16.4.1/umd/react-dom.production.min.js',
|
||||
'/react-router-dom@4.3.1/umd/react-router-dom.min.js'
|
||||
]
|
||||
: [
|
||||
"/react@16.4.1/umd/react.development.js",
|
||||
"/react-dom@16.4.1/umd/react-dom.development.js",
|
||||
"/react-router-dom@4.3.1/umd/react-router-dom.js"
|
||||
'/react@16.4.1/umd/react.development.js',
|
||||
'/react-dom@16.4.1/umd/react-dom.development.js',
|
||||
'/react-router-dom@4.3.1/umd/react-router-dom.js'
|
||||
];
|
||||
|
||||
function serveRootPage(req, res) {
|
||||
const scripts = globalScripts.concat(req.assets.getScripts("main"));
|
||||
const styles = req.assets.getStyles("main");
|
||||
const scripts = globalScripts.concat(req.assets.getScripts('main'));
|
||||
const styles = req.assets.getStyles('main');
|
||||
|
||||
const html = renderPage(MainPage, {
|
||||
scripts: scripts,
|
||||
|
@ -1,10 +1,10 @@
|
||||
const path = require("path");
|
||||
const etag = require("etag");
|
||||
const path = require('path');
|
||||
const etag = require('etag');
|
||||
|
||||
const getContentTypeHeader = require("../utils/getContentTypeHeader");
|
||||
const getContentTypeHeader = require('../utils/getContentTypeHeader');
|
||||
|
||||
function serveStaticFile(req, res) {
|
||||
const tags = ["file"];
|
||||
const tags = ['file'];
|
||||
|
||||
const ext = path.extname(req.entry.name).substr(1);
|
||||
if (ext) {
|
||||
@ -13,12 +13,12 @@ function serveStaticFile(req, res) {
|
||||
|
||||
res
|
||||
.set({
|
||||
"Content-Length": req.entry.size,
|
||||
"Content-Type": getContentTypeHeader(req.entry.contentType),
|
||||
"Cache-Control": "public, max-age=31536000, immutable", // 1 year
|
||||
"Last-Modified": req.entry.lastModified,
|
||||
'Content-Length': req.entry.size,
|
||||
'Content-Type': getContentTypeHeader(req.entry.contentType),
|
||||
'Cache-Control': 'public, max-age=31536000, immutable', // 1 year
|
||||
'Last-Modified': req.entry.lastModified,
|
||||
ETag: etag(req.entry.content),
|
||||
"Cache-Tag": tags.join(",")
|
||||
'Cache-Tag': tags.join(',')
|
||||
})
|
||||
.send(req.entry.content);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
const BlacklistAPI = require("../BlacklistAPI");
|
||||
const BlacklistAPI = require('../BlacklistAPI');
|
||||
|
||||
function showBlacklist(req, res) {
|
||||
BlacklistAPI.getPackages().then(
|
||||
@ -8,7 +8,7 @@ function showBlacklist(req, res) {
|
||||
error => {
|
||||
console.error(error);
|
||||
res.status(500).send({
|
||||
error: "Unable to fetch blacklist"
|
||||
error: 'Unable to fetch blacklist'
|
||||
});
|
||||
}
|
||||
);
|
||||
|
@ -1,4 +1,4 @@
|
||||
const secretKey = require("../secretKey");
|
||||
const secretKey = require('../secretKey');
|
||||
|
||||
function showPublicKey(req, res) {
|
||||
res.send({ publicKey: secretKey.public });
|
||||
|
@ -1,21 +1,21 @@
|
||||
const subDays = require("date-fns/sub_days");
|
||||
const startOfDay = require("date-fns/start_of_day");
|
||||
const startOfSecond = require("date-fns/start_of_second");
|
||||
const subDays = require('date-fns/sub_days');
|
||||
const startOfDay = require('date-fns/start_of_day');
|
||||
const startOfSecond = require('date-fns/start_of_second');
|
||||
|
||||
const StatsAPI = require("../StatsAPI");
|
||||
const StatsAPI = require('../StatsAPI');
|
||||
|
||||
function showStats(req, res) {
|
||||
let since, until;
|
||||
switch (req.query.period) {
|
||||
case "last-day":
|
||||
case 'last-day':
|
||||
until = startOfDay(new Date());
|
||||
since = subDays(until, 1);
|
||||
break;
|
||||
case "last-week":
|
||||
case 'last-week':
|
||||
until = startOfDay(new Date());
|
||||
since = subDays(until, 7);
|
||||
break;
|
||||
case "last-month":
|
||||
case 'last-month':
|
||||
until = startOfDay(new Date());
|
||||
since = subDays(until, 30);
|
||||
break;
|
||||
@ -27,35 +27,35 @@ function showStats(req, res) {
|
||||
}
|
||||
|
||||
if (isNaN(since.getTime())) {
|
||||
return res.status(403).send({ error: "?since is not a valid date" });
|
||||
return res.status(403).send({ error: '?since is not a valid date' });
|
||||
}
|
||||
|
||||
if (isNaN(until.getTime())) {
|
||||
return res.status(403).send({ error: "?until is not a valid date" });
|
||||
return res.status(403).send({ error: '?until is not a valid date' });
|
||||
}
|
||||
|
||||
if (until <= since) {
|
||||
return res
|
||||
.status(403)
|
||||
.send({ error: "?until date must come after ?since date" });
|
||||
.send({ error: '?until date must come after ?since date' });
|
||||
}
|
||||
|
||||
if (until >= new Date()) {
|
||||
return res.status(403).send({ error: "?until must be a date in the past" });
|
||||
return res.status(403).send({ error: '?until must be a date in the past' });
|
||||
}
|
||||
|
||||
StatsAPI.getStats(since, until).then(
|
||||
stats => {
|
||||
res
|
||||
.set({
|
||||
"Cache-Control": "public, max-age=60",
|
||||
"Cache-Tag": "stats"
|
||||
'Cache-Control': 'public, max-age=60',
|
||||
'Cache-Tag': 'stats'
|
||||
})
|
||||
.send(stats);
|
||||
},
|
||||
error => {
|
||||
console.error(error);
|
||||
res.status(500).send({ error: "Unable to fetch stats" });
|
||||
res.status(500).send({ error: 'Unable to fetch stats' });
|
||||
}
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user