All Projects → getsentry → sourcemaps.io

getsentry / sourcemaps.io

Licence: Apache-2.0 License
Web-based Source Map validator

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Makefile
30231 projects
shell
77523 projects
CSS
56736 projects

Projects that are alternatives of or similar to sourcemaps.io

node-metamask
🦊 Connect to MetaMask from node.js
Stars: ✭ 79 (+58%)
Mutual labels:  node-js
karkas
A tiny template engine based on TypeScript
Stars: ✭ 14 (-72%)
Mutual labels:  node-js
Theatherflix
Theatherflix OpenSource Project - A visual tool for wiring digital movies, to sort and list the top latest movie trailers. We are constantly developing and making changes. Do you want to be part? Contact us!
Stars: ✭ 51 (+2%)
Mutual labels:  node-js
Backend-NodeJS-Golang-Interview QA
A collection of Node JS and Golang Backend interview questions please feel free to fork and contribute to this repository
Stars: ✭ 122 (+144%)
Mutual labels:  node-js
ballpark-tracker
A simple application used for tracking which MLB and AAA stadiums a "Ballpark Chaser" has been to.
Stars: ✭ 15 (-70%)
Mutual labels:  node-js
cuba-rest-js
Moved to https://github.com/cuba-platform/frontend/tree/master/packages/cuba-rest-js
Stars: ✭ 15 (-70%)
Mutual labels:  node-js
A41SLBOT
All For One Bot is an open-source discord server bot built for All For One SL™ discord server.
Stars: ✭ 83 (+66%)
Mutual labels:  node-js
node-js-jwt-auth
Node.js Demo for Token Based Authentication (JWT) with MySQL database
Stars: ✭ 161 (+222%)
Mutual labels:  node-js
VAG.Node
GB28181 PS流转发网关服务<Node 版>,以GB28181对接的方式将摄像机/硬盘录像机 的PS流(H264/H265)打包推送到RTMP服务器。
Stars: ✭ 48 (-4%)
Mutual labels:  node-js
livecoding-frontend-projects
Repositório com projetos Front-End
Stars: ✭ 70 (+40%)
Mutual labels:  node-js
cypherpoker.js
An open source peer-to-peer poker platform with cryptocurrency integration written in JavaScript.
Stars: ✭ 72 (+44%)
Mutual labels:  node-js
hypixel-api-reborn
Feature-rich Hypixel API wrapper for Node.js
Stars: ✭ 80 (+60%)
Mutual labels:  node-js
formatbot1
Make instant view easily and fast, from any article on the internet in the best messenger ever Telegram
Stars: ✭ 127 (+154%)
Mutual labels:  node-js
reddit-clone
A reddit clone written using node.js / express.js / mongodb / passport.js. https://seiya-beddit.herokuapp.com/
Stars: ✭ 84 (+68%)
Mutual labels:  node-js
telegram-channel-scraper
Scrape messages from Telegram in a NodeJS cli program
Stars: ✭ 132 (+164%)
Mutual labels:  node-js
inspireNuggetsSlackBot
A simple Slackbot that displays random inspiring techie quotes and jokes for developers/designers.
Stars: ✭ 15 (-70%)
Mutual labels:  node-js
warframe-worldstate-parser
📗 An Open parser for Warframe's Worldstate in Javascript
Stars: ✭ 50 (+0%)
Mutual labels:  node-js
timeoff-server
TimeOff is an application that allows companies' employees to set vacations before they begin taking their time off. Implemented in modern tech stack i.e. Node, Express, MongoDB.
Stars: ✭ 33 (-34%)
Mutual labels:  node-js
make-deno-edition
Automatically makes package.json projects (such as npm packages and node.js modules) compatible with Deno.
Stars: ✭ 39 (-22%)
Mutual labels:  node-js
delet
[DEPRECATED - see README.md] a Discord bot made using Discord.js
Stars: ✭ 46 (-8%)
Mutual labels:  node-js

sourcemaps.io Build Status

A re-write of sourcemap-validator using React, Node, and Google Cloud Functions.

image

sourcemaps.io is a web application that takes a URL for a target transpiled/minified JavaScript file (e.g. https://example.com/js/app.min.js), and verifies:

  • sourceMappingURL or [X-]SourceMap header is present
  • Both the transpiled/minified file and source map file are reachable via HTTP
  • The resolved source map is valid JSON, and parses using Mozilla's source-map library
  • Lines and columns line up as expected
  • ... and more, see tests

Development

Run tests

make test

Run a local server for client (React) development

make client-server

Run a local server for backend development

A local development server will serve the validation function for development.

make backend-server

NOTE: Right now the local server still writes JSON reports to a production Google Cloud Storage bucket. You must have the following shell variables exported (see Deploy to Google Cloud Platform below).

export GCLOUD_PROJECT=myproject-server
export GCLOUD_DATA_BUCKET=myproject-reports
make backend-server

Deploy to Google Cloud Platform

This repository is already configured to automatically deploy to https://sourcemaps.io. But for posterity, this documents how to configure your own Google Cloud deployment environment and how to use the deploy scripts.

Configure your Project

  1. Create a new project in Google Cloud Platform, e.g. myproject
  2. Enable Cloud Functions
  3. Create 3 buckets in Cloud Storage, for:
    1. staging the cloud function (e.g. myproject-server)
    2. storing report data (e.g. myproject-reports)
    3. storing static web content (e.g. myproject-web)

NOTE: Your deployed cloud function must be configured to use Cloud Functions Node 10 runtime (or newer).

Install the gcloud CLI

Follow Google Cloud's instructions for installing the gcloud CLI.

Deploying

First authenticate with Google Cloud Platform:

gcloud auth login

Then initiate the deploy:

export GCLOUD_PROJECT=myproject
export GCLOUD_APP_BUCKET=myproject-server
export GCLOUD_DATA_BUCKET=myproject-reports
export GCLOUD_WWW_BUCKET=myproject-web
make deploy

NOTE: The deploy script will set READ permissions on GCLOUD_DATA_BUCKET and GCLOUD_WWW_BUCKET.

Invoking the Serverless Function

The deployed serverless function is publicly accessible over HTTP. To trigger the function manually, do:

$ curl -X GET "https://${region}-${GCLOUD_PROJECT}.cloudfunctions.net/validateSourceFile?url=http://example.org/static/app.js"
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].