Comparing version 0.14.15 to 0.14.16
{ | ||
"name": "amber", | ||
"version": "0.14.15", | ||
"version": "0.14.16", | ||
"main": "support/amber.js", | ||
@@ -5,0 +5,0 @@ "ignore": [ |
@@ -15,7 +15,9 @@ TL;DR: Setup your Amber clone | ||
1. Clone the fork and go to its directory. | ||
1. Install the tools: ```npm install -g amber-cli grunt-cli bower```. | ||
1. Install the tools: ```npm install -g amber-cli```. | ||
1. Run ```npm install``` to install dependencies listed in package.json. Used by development tools. See [here](https://www.npmjs.org/doc/cli/npm-install.html) for more info. | ||
1. Run ```bower install``` to install dependencies listed in bower.json. Used by Amber in browser. See [here](http://bower.io/) for more info. | ||
1. Run ```cd external/amber-dev && npm install && cd ../..``` to install dependencies of `amber-dev` component. | ||
1. Get your copy of Helios IDE into directory `my/helios`, choosing among using your own fork / using the stock version: | ||
```git clone git@github.com:<your username>/helios.git my/helios``` / ```git clone git@github.com:amber-smalltalk/helios.git my/helios```. | ||
- ```git clone git@github.com:<your username>/helios.git my/helios``` to use your own fork, or | ||
- ```git clone git@github.com:amber-smalltalk/helios.git my/helios``` to use stock version. | ||
1. Install Helios' dependencies: ```cd my/helios && bower install && cd ../..```. | ||
@@ -22,0 +24,0 @@ 1. Get your copy of legacy IDE into directory `my/amber-contrib-legacy`: |
208
Gruntfile.js
var path = require('path'); | ||
module.exports = function(grunt) { | ||
module.exports = function (grunt) { | ||
var helpers = require('./external/amber-dev/lib/helpers'); | ||
grunt.loadTasks('./internal/grunt-tasks'); | ||
grunt.loadNpmTasks('amber-dev'); | ||
grunt.loadTasks('./internal/grunt-tasks'); | ||
grunt.loadTasks('./external/amber-dev/tasks'); | ||
grunt.loadNpmTasks('grunt-contrib-jshint'); | ||
grunt.loadNpmTasks('grunt-contrib-clean'); | ||
grunt.loadNpmTasks('grunt-execute'); | ||
grunt.loadNpmTasks('grunt-contrib-jshint'); | ||
grunt.loadNpmTasks('grunt-contrib-clean'); | ||
grunt.loadNpmTasks('grunt-contrib-requirejs'); | ||
grunt.loadNpmTasks('grunt-execute'); | ||
grunt.registerTask('default', ['peg', 'amberc:all']); | ||
grunt.registerTask('amberc:all', ['amberc:amber', 'amberc:cli']); | ||
grunt.registerTask('test', ['amberc:test_runner', 'execute:test_runner', 'clean:test_runner']); | ||
grunt.registerTask('devel', ['amdconfig:amber']); | ||
grunt.registerTask('default', ['peg', 'build:all']); | ||
grunt.registerTask('build:all', ['amberc:amber', 'build:cli', 'amberc:dev']); | ||
grunt.registerTask('build:cli', ['amberc:cli', 'requirejs:cli']); | ||
grunt.registerTask('test', ['amdconfig:amber', 'requirejs:test_runner', 'execute:test_runner', 'clean:test_runner']); | ||
grunt.registerTask('devel', ['amdconfig:amber']); | ||
grunt.initConfig({ | ||
pkg: grunt.file.readJSON('package.json'), | ||
grunt.initConfig({ | ||
pkg: grunt.file.readJSON('package.json'), | ||
meta: { | ||
banner: '/*!\n <%= pkg.title || pkg.name %> - v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %> \n License: <%= pkg.license.type %> \n*/\n' | ||
}, | ||
meta: { | ||
banner: '/*!\n <%= pkg.title || pkg.name %> - v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %> \n License: <%= pkg.license.type %> \n*/\n' | ||
}, | ||
peg: { | ||
parser: { | ||
options: { | ||
cache: true, | ||
export_var: '$globals.SmalltalkParser' | ||
peg: { | ||
parser: { | ||
options: { | ||
cache: true, | ||
export_var: '$globals.SmalltalkParser' | ||
}, | ||
src: 'support/parser.pegjs', | ||
dest: 'support/parser.js' | ||
} | ||
}, | ||
src: 'support/parser.pegjs', | ||
dest: 'support/parser.js' | ||
} | ||
}, | ||
amdconfig: {amber: {dest: 'config.js'}}, | ||
amdconfig: {amber: {dest: 'config.js'}}, | ||
amberc: { | ||
options: { | ||
amber_dir: process.cwd(), | ||
closure_jar: '' | ||
}, | ||
amber: { | ||
output_dir : 'src', | ||
src: ['src/Kernel-Objects.st', 'src/Kernel-Classes.st', 'src/Kernel-Methods.st', 'src/Kernel-Collections.st', | ||
'src/Kernel-Infrastructure.st', 'src/Kernel-Exceptions.st', 'src/Kernel-Announcements.st', | ||
'src/Platform-Services.st', 'src/Platform-ImportExport.st', 'src/Platform-Browser.st', | ||
'src/Compiler-Exceptions.st', 'src/Compiler-Core.st', 'src/Compiler-AST.st', | ||
'src/Compiler-IR.st', 'src/Compiler-Inlining.st', 'src/Compiler-Semantic.st', 'src/Compiler-Interpreter.st', | ||
'src/SUnit.st', | ||
'src/Kernel-Tests.st', 'src/Compiler-Tests.st', 'src/SUnit-Tests.st' | ||
], | ||
jsGlobals: ['navigator'] | ||
}, | ||
cli: { | ||
output_dir: 'external/amber-cli/src', | ||
src: ['external/amber-cli/src/AmberCli.st'], | ||
libraries: [ | ||
'Compiler-Exceptions', 'Compiler-Core', 'Compiler-AST', | ||
'Compiler-IR', 'Compiler-Inlining', 'Compiler-Semantic', 'Compiler-Interpreter', 'parser', | ||
'SUnit', 'Platform-ImportExport', | ||
'Kernel-Tests', 'Compiler-Tests', 'SUnit-Tests' | ||
], | ||
main_class: 'AmberCli', | ||
output_name: '../support/amber-cli', | ||
amd_namespace: 'amber_cli' | ||
}, | ||
dev: { | ||
output_dir: 'external/amber-dev/lib', | ||
src: ['external/amber-dev/lib/Test.st'] | ||
}, | ||
test_runner: { | ||
src: ['node_modules/amber-dev/lib/Test.st'], | ||
libraries: [ | ||
'Compiler-Exceptions', 'Compiler-Core', 'Compiler-AST', | ||
'Compiler-IR', 'Compiler-Inlining', 'Compiler-Semantic', 'Compiler-Interpreter', 'parser', | ||
'SUnit', 'Platform-ImportExport', | ||
'Kernel-Tests', 'Compiler-Tests', 'SUnit-Tests'], | ||
main_class: 'NodeTestRunner', | ||
output_name: 'test_runner' | ||
} | ||
}, | ||
amberc: { | ||
options: { | ||
amber_dir: process.cwd(), | ||
closure_jar: '' | ||
}, | ||
amber: { | ||
output_dir: 'src', | ||
src: ['src/Kernel-Objects.st', 'src/Kernel-Classes.st', 'src/Kernel-Methods.st', 'src/Kernel-Collections.st', | ||
'src/Kernel-Infrastructure.st', 'src/Kernel-Exceptions.st', 'src/Kernel-Announcements.st', | ||
'src/Platform-Services.st', 'src/Platform-ImportExport.st', 'src/Platform-Browser.st', | ||
'src/Compiler-Exceptions.st', 'src/Compiler-Core.st', 'src/Compiler-AST.st', | ||
'src/Compiler-IR.st', 'src/Compiler-Inlining.st', 'src/Compiler-Semantic.st', 'src/Compiler-Interpreter.st', | ||
'src/SUnit.st', | ||
'src/Kernel-Tests.st', 'src/Compiler-Tests.st', 'src/SUnit-Tests.st' | ||
], | ||
jsGlobals: ['navigator'] | ||
}, | ||
cli: { | ||
output_dir: 'external/amber-cli/src', | ||
src: ['external/amber-cli/src/AmberCli.st'], | ||
libraries: [ | ||
'Compiler-Exceptions', 'Compiler-Core', 'Compiler-AST', | ||
'Compiler-IR', 'Compiler-Inlining', 'Compiler-Semantic', 'Compiler-Interpreter', 'parser', | ||
'SUnit', 'Platform-ImportExport', | ||
'Kernel-Tests', 'Compiler-Tests', 'SUnit-Tests' | ||
], | ||
amd_namespace: 'amber_cli' | ||
}, | ||
dev: { | ||
output_dir: 'external/amber-dev/lib', | ||
src: ['external/amber-dev/lib/NodeTestRunner.st'], | ||
amd_namespace: 'amber_devkit' | ||
} | ||
}, | ||
execute: { | ||
test_runner: { | ||
src: ['test_runner.js'] | ||
} | ||
}, | ||
requirejs: { | ||
cli: { | ||
options: { | ||
mainConfigFile: "config.js", | ||
rawText: { | ||
"app": "(" + function () { | ||
define(["amber/devel", "amber_cli/AmberCli"], function (amber) { | ||
amber.initialize(); | ||
amber.globals.AmberCli._main(); | ||
}); | ||
} + "());" | ||
}, | ||
pragmas: { | ||
// none, for repl to have all info | ||
}, | ||
include: ['config-node', 'app'], | ||
insertRequire: ['app'], | ||
optimize: "none", | ||
wrap: helpers.nodeWrapperWithShebang, | ||
out: "external/amber-cli/support/amber-cli.js" | ||
} | ||
}, | ||
test_runner: { | ||
options: { | ||
mainConfigFile: "config.js", | ||
rawText: { | ||
"app": "(" + function () { | ||
define(["amber/devel", "amber_devkit/NodeTestRunner"], function (amber) { | ||
amber.initialize(); | ||
amber.globals.NodeTestRunner._main(); | ||
}); | ||
} + "());" | ||
}, | ||
paths: {"amber_devkit": helpers.libPath}, | ||
pragmas: { | ||
// none, amber tests test contexts as well as eg. class copying which needs sources | ||
}, | ||
include: ['config-node', 'app'], | ||
insertRequire: ['app'], | ||
optimize: "none", | ||
wrap: helpers.nodeWrapperWithShebang, | ||
out: "test_runner.js" | ||
} | ||
} | ||
}, | ||
clean: { | ||
test_runner: ['test_runner.js'] | ||
}, | ||
execute: { | ||
test_runner: { | ||
src: ['test_runner.js'] | ||
} | ||
}, | ||
jshint: { | ||
amber: ['src/*.js', 'support/[^p]*.js'], | ||
cli: ['external/amber-cli/src/*.js', 'external/amber-cli/support/*.js'], | ||
dev: ['external/amber-dev/lib/*.js'], | ||
grunt: ['Gruntfile.js', 'internal/grunt-tasks/*.js', 'external/amber-dev/tasks/*.js'] | ||
} | ||
}); | ||
clean: { | ||
test_runner: ['test_runner.js'] | ||
}, | ||
jshint: { | ||
amber: ['src/*.js', 'support/[^p]*.js'], | ||
cli: ['external/amber-cli/src/*.js', 'external/amber-cli/support/*.js'], | ||
dev: ['external/amber-dev/lib/*.js'], | ||
grunt: ['Gruntfile.js', 'internal/grunt-tasks/*.js', 'external/amber-dev/tasks/*.js'] | ||
} | ||
}); | ||
}; |
{ | ||
"name": "amber", | ||
"version": "0.14.15", | ||
"version": "0.14.16", | ||
"description": "An implementation of the Smalltalk language that runs on top of the JS runtime.", | ||
@@ -23,3 +23,3 @@ "homepage": "http://amber-lang.net", | ||
"type": "git", | ||
"url": "git://github.com/amber-smalltalk/amber.git#0.14.15" | ||
"url": "git://github.com/amber-smalltalk/amber.git#0.14.16" | ||
}, | ||
@@ -33,6 +33,6 @@ "engines": { | ||
"devDependencies": { | ||
"amber-dev": "^0.5.0", | ||
"grunt": "^0.4.0", | ||
"grunt-contrib-clean": "^0.6.0", | ||
"grunt-contrib-jshint": "^0.11.0", | ||
"grunt-contrib-requirejs": "^0.4.4", | ||
"grunt-execute": "^0.2.1", | ||
@@ -39,0 +39,0 @@ "pegjs": "^0.8.0", |
@@ -60,3 +60,3 @@ Amber [![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/amber-smalltalk/amber?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Travis CI Status](https://secure.travis-ci.org/amber-smalltalk/amber.png)](https://travis-ci.org/#!/amber-smalltalk/amber) [![devDependency status](https://david-dm.org/amber-smalltalk/amber/dev-status.svg?style=flat)](https://david-dm.org/amber-smalltalk/amber#info=devDependencies) [![Bountysource](https://www.bountysource.com/badge/team?team_id=19271&style=raised)](https://www.bountysource.com/teams/amber-smalltalk?utm_source=amber-smalltalk&utm_medium=shield&utm_campaign=raised) | ||
# Install the CLI tool `amber-cli` and supporting tools | ||
npm install -g amber-cli bower grunt-cli | ||
npm install -g amber-cli | ||
@@ -63,0 +63,0 @@ |
@@ -38,2 +38,3 @@ define("amber_core/Platform-Browser", ["amber/boot", "amber_core/Kernel-Objects"], function($boot){"use strict"; | ||
function $XMLHttpRequest(){return $globals.XMLHttpRequest||(typeof XMLHttpRequest=="undefined"?nil:XMLHttpRequest)} | ||
function $NativeFunction(){return $globals.NativeFunction||(typeof NativeFunction=="undefined"?nil:NativeFunction)} | ||
//>>excludeStart("ctx", pragmas.excludeDebugContexts); | ||
@@ -46,3 +47,3 @@ return $core.withContext(function($ctx1) { | ||
} else { | ||
$1=$recv($XMLHttpRequest())._new(); | ||
$1=$recv($NativeFunction())._constructorOf_($XMLHttpRequest()); | ||
return $1; | ||
@@ -57,6 +58,6 @@ }; | ||
args: [], | ||
source: "newXhr\x0a\x09XMLHttpRequest\x0a\x09\x09ifNotNil: [ ^ XMLHttpRequest new ]\x0a\x09\x09ifNil: [ self error: 'XMLHttpRequest not available.' ]", | ||
referencedClasses: ["XMLHttpRequest"], | ||
source: "newXhr\x0a\x09XMLHttpRequest\x0a\x09\x09ifNotNil: [ ^ NativeFunction constructorOf: XMLHttpRequest ]\x0a\x09\x09ifNil: [ self error: 'XMLHttpRequest not available.' ]", | ||
referencedClasses: ["XMLHttpRequest", "NativeFunction"], | ||
//>>excludeEnd("ide"); | ||
messageSends: ["ifNotNil:ifNil:", "new", "error:"] | ||
messageSends: ["ifNotNil:ifNil:", "constructorOf:", "error:"] | ||
}), | ||
@@ -63,0 +64,0 @@ $globals.BrowserPlatform); |
@@ -248,9 +248,11 @@ /* ==================================================================== | ||
localMethods = klass.methods, | ||
protectedJsSelectors = {}; | ||
localMethodsByJsSelector = {}; | ||
Object.keys(localMethods).forEach(function (each) { | ||
protectedJsSelectors[localMethods[each].jsSelector] = true; | ||
var localMethod = localMethods[each]; | ||
localMethodsByJsSelector[localMethod.jsSelector] = localMethod; | ||
}); | ||
var superproto = superclass.fn.prototype; | ||
var myproto = klass.fn.prototype, | ||
superproto = superclass.fn.prototype; | ||
dnu.jsSelectors.forEach(function (selector) { | ||
if (!protectedJsSelectors[selector]) { | ||
if (!localMethodsByJsSelector[selector]) { | ||
manip.installMethod({ | ||
@@ -260,2 +262,4 @@ jsSelector: selector, | ||
}, klass); | ||
} else if (!myproto[selector]) { | ||
manip.installMethod(localMethodsByJsSelector[selector], klass); | ||
} | ||
@@ -262,0 +266,0 @@ }); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3249753
65
80203