Merge pull request #40 from LLK/npm

Publish to NPM and Github Pages
This commit is contained in:
Ray Schamp 2016-09-27 10:28:17 -04:00 committed by GitHub
commit d261b57cd1
10 changed files with 78 additions and 19893 deletions

4
.gitignore vendored
View file

@ -4,4 +4,8 @@
# NPM # NPM
/node_modules /node_modules
npm-* npm-*
# Build
/render*.js
/dist.js /dist.js
/playground/render.js

0
.npmignore Normal file
View file

View file

@ -1,8 +1,32 @@
language: node_js language: node_js
node_js: node_js:
- "4.2" - "4.2"
- "stable" - "stable"
sudo: false sudo: false
cache: cache:
directories: directories:
- node_modules - node_modules
after_script:
- |
# RELEASE_BRANCHES and NPM_TOKEN defined in Travis settings panel
declare exitCode
$(npm bin)/travis-after-all
exitCode=$?
if [[
# Execute after all jobs finish successfully
$exitCode = 0 &&
# Only release on release branches
$RELEASE_BRANCHES =~ $TRAVIS_BRANCH &&
# Don't release on PR builds
$TRAVIS_PULL_REQUEST = "false"
]]; then
# Authenticate NPM
echo "//registry.npmjs.org/:_authToken=\${NPM_TOKEN}" > .npmrc
# Set version to timestamp
npm --no-git-tag-version version $($(npm bin)/json -f package.json version)-prerelease.$(date +%s)
npm publish
# Publish to gh-pages as most recent committer
git config --global user.email $(git log --pretty=format:"%ce" -n1)
git config --global user.name $(git log --pretty=format:"%cn" -n1)
./node_modules/.bin/gh-pages -x -r https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git -d playground -m "Build for $(git log --pretty=format:%H)"
fi

View file

@ -1,7 +1,6 @@
ESLINT=./node_modules/.bin/eslint ESLINT=./node_modules/.bin/eslint
WEBPACK=./node_modules/.bin/webpack --progress --colors WEBPACK=./node_modules/.bin/webpack --progress --colors
WEBPACK_DEV_SERVER=./node_modules/.bin/webpack-dev-server WEBPACK_DEV_SERVER=./node_modules/.bin/webpack-dev-server
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
build: build:
@ -11,12 +10,11 @@ watch:
$(WEBPACK) --watch --watch-poll $(WEBPACK) --watch --watch-poll
serve: serve:
$(WEBPACK_DEV_SERVER) --host 0.0.0.0 --content-base ./ $(WEBPACK_DEV_SERVER)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
lint: lint:
$(ESLINT) ./playground/*.js
$(ESLINT) ./src/*.js $(ESLINT) ./src/*.js
$(ESLINT) ./src/**/*.js $(ESLINT) ./src/**/*.js

View file

@ -1,7 +0,0 @@
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="refresh" content="0; URL='/playground'" />
<title>Redirect to playground</title>
</head>
</html>

View file

@ -4,32 +4,36 @@
"description": "WebGL Renderer for Scratch 3.0", "description": "WebGL Renderer for Scratch 3.0",
"author": "Massachusetts Institute of Technology", "author": "Massachusetts Institute of Technology",
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"homepage": "https://github.com/LLK/scratch-render-webgl#readme", "homepage": "https://github.com/LLK/scratch-render#readme",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+ssh://git@github.com/LLK/scratch-render-webgl.git" "url": "git+ssh://git@github.com/LLK/scratch-render.git"
}, },
"main": "./dist.js", "main": "./dist.js",
"scripts": { "scripts": {
"postinstall": "./node_modules/.bin/webpack", "prepublish": "make build",
"test": "make test" "start": "make serve",
"test": "make test",
"version": "./node_modules/.bin/json -f package.json -I -e \"this.repository.sha = '$(git log -n1 --pretty=format:%H)'\""
}, },
"dependencies": { "devDependencies": {
"babel-core": "6.9.1", "babel-core": "6.9.1",
"babel-eslint": "6.0.4", "babel-eslint": "6.0.4",
"babel-loader": "6.2.4", "babel-loader": "6.2.4",
"babel-polyfill": "6.9.1", "babel-polyfill": "6.9.1",
"babel-preset-es2015": "6.9.0", "babel-preset-es2015": "6.9.0",
"eslint": "2.7.0",
"gh-pages": "0.11.0",
"json": "9.0.4",
"json-loader": "0.5.4", "json-loader": "0.5.4",
"lodash.defaultsdeep": "4.6.0",
"raw-loader": "0.5.1", "raw-loader": "0.5.1",
"svg-to-image": "1.1.3", "svg-to-image": "1.1.3",
"twgl.js": "1.5.2",
"xhr": "2.2.0",
"webpack": "1.13.0"
},
"devDependencies": {
"eslint": "2.7.0",
"tap": "5.7.1", "tap": "5.7.1",
"webpack-dev-server": "1.14.1" "travis-after-all": "1.4.4",
"twgl.js": "1.5.2",
"webpack": "1.13.0",
"webpack-dev-server": "1.14.1",
"xhr": "2.2.0"
} }
} }

View file

@ -14,7 +14,7 @@
Min: <input id="fudgeMin" type="number" onchange="onFudgeMinChanged(this.value)"> Min: <input id="fudgeMin" type="number" onchange="onFudgeMinChanged(this.value)">
Max: <input id="fudgeMax" type="number" onchange="onFudgeMaxChanged(this.value)"> Max: <input id="fudgeMax" type="number" onchange="onFudgeMaxChanged(this.value)">
</p> </p>
<script src="../render.js"></script> <script src="render.js"></script>
<script> <script>
var canvas = document.getElementById('scratch-stage'); var canvas = document.getElementById('scratch-stage');
var fudge = 90; var fudge = 90;

19821
render.js

File diff suppressed because one or more lines are too long

26
render.min.js vendored

File diff suppressed because one or more lines are too long

View file

@ -2,6 +2,10 @@ var path = require('path');
var webpack = require('webpack'); var webpack = require('webpack');
var base = { var base = {
devServer: {
contentBase: path.resolve(__dirname, 'playground'),
host: '0.0.0.0'
},
module: { module: {
loaders: [ loaders: [
{ {
@ -35,24 +39,29 @@ var base = {
] ]
}; };
module.exports = [Object.assign({}, base, { module.exports = [
entry: { // Web-compatible
'render': './src/index-web.js', Object.assign({}, base, {
'render.min': './src/index-web.js' entry: {
}, 'render': './src/index-web.js',
output: { 'playground/render': './src/index-web.js',
path: __dirname, 'render.min': './src/index-web.js'
filename: '[name].js' },
}, output: {
}), path: __dirname,
Object.assign({}, base, { filename: '[name].js'
entry: { }
'render': './src/index.js' }),
}, // Webpack-compatible
output: { Object.assign({}, base, {
library: 'ScratchRender', entry: {
libraryTarget: 'commonjs2', 'render': './src/index.js'
path: __dirname, },
filename: 'dist.js' output: {
} library: 'ScratchRender',
})]; libraryTarget: 'commonjs2',
path: __dirname,
filename: 'dist.js'
}
})
];