7 Commits ea0aa43b7a ... 8aec68f092

Author SHA1 Message Date
  Herby Vojčík 8aec68f092 sdk: Bump version to 0.11.0. 5 years ago
  Herby Vojčík 3ba5601a84 sdk: Remove some deprecations. 5 years ago
  Herby Vojčík 696f7869dc sdk: Don't use es6-promise. 5 years ago
  Herby Vojčík 484e84e12f Fix NonBooleanReceiver. 5 years ago
  Herby Vojčík d787d00cc9 args is always array anyway 5 years ago
  Herby Vojčík e161b6a119 Add imports: where initialize uses foreign classes. 5 years ago
  Herby Vojčík 8d6353966d Fix node.js detection. 5 years ago

+ 1 - 1
lang/base/kernel-runtime.js

@@ -377,7 +377,7 @@ define(function () {
         st.accessJavaScript = function (self, propertyName, args) {
             var propertyValue = self[propertyName];
             if (typeof propertyValue === "function" && !/^[A-Z]/.test(propertyName)) {
-                return propertyValue.apply(self, args || []);
+                return propertyValue.apply(self, args);
             } else if (args.length === 0) {
                 return propertyValue;
             } else {

+ 10 - 1
lang/src/Platform-Browser.js

@@ -1,8 +1,17 @@
-define(["amber/boot", "amber_core/Kernel-Objects"], function($boot){"use strict";
+define(["amber/boot"
+//>>excludeStart("imports", pragmas.excludeImports);
+, "amber_core/Platform-Services"
+//>>excludeEnd("imports");
+, "amber_core/Kernel-Objects"], function($boot
+//>>excludeStart("imports", pragmas.excludeImports);
+
+//>>excludeEnd("imports");
+){"use strict";
 if(!("nilAsValue" in $boot))$boot.nilAsValue=$boot.nilAsReceiver;
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Platform-Browser");
 $pkg.innerEval = function (expr) { return eval(expr); };
+$pkg.imports = ["amber_core/Platform-Services"];
 $pkg.transport = {"type":"amd","amdNamespace":"amber_core"};
 
 $core.addClass("BrowserPlatform", $globals.Object, [], "Platform-Browser");

+ 1 - 0
lang/src/Platform-Browser.st

@@ -1,4 +1,5 @@
 Smalltalk createPackage: 'Platform-Browser'!
+(Smalltalk packageAt: 'Platform-Browser' ifAbsent: [ self error: 'Package not created: Platform-Browser' ]) imports: {'amber_core/Platform-Services'}!
 Object subclass: #BrowserPlatform
 	instanceVariableNames: ''
 	package: 'Platform-Browser'!

+ 12 - 3
lang/src/Platform-Node.js

@@ -1,8 +1,17 @@
-define(["amber/boot", "amber_core/Kernel-Objects"], function($boot){"use strict";
+define(["amber/boot"
+//>>excludeStart("imports", pragmas.excludeImports);
+, "amber_core/Platform-Services"
+//>>excludeEnd("imports");
+, "amber_core/Kernel-Objects"], function($boot
+//>>excludeStart("imports", pragmas.excludeImports);
+
+//>>excludeEnd("imports");
+){"use strict";
 if(!("nilAsValue" in $boot))$boot.nilAsValue=$boot.nilAsReceiver;
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Platform-Node");
 $pkg.innerEval = function (expr) { return eval(expr); };
+$pkg.imports = ["amber_core/Platform-Services"];
 $pkg.transport = {"type":"amd","amdNamespace":"amber_core"};
 
 $core.addClass("NodePlatform", $globals.Object, [], "Platform-Node");
@@ -94,7 +103,7 @@ var self=this,$self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-return typeof global !== "undefined";
+return typeof process !== "undefined" && process && process.versions && process.versions.node != null;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 }, function($ctx1) {$ctx1.fill(self,"isFeasible",{},$globals.NodePlatform.a$cls)});
@@ -102,7 +111,7 @@ return self;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: [],
-source: "isFeasible\x0a<inlineJS: 'return typeof global !== \x22undefined\x22'>",
+source: "isFeasible\x0a<inlineJS: 'return typeof process !== \x22undefined\x22 && process && process.versions && process.versions.node != null'>",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []

+ 2 - 1
lang/src/Platform-Node.st

@@ -1,4 +1,5 @@
 Smalltalk createPackage: 'Platform-Node'!
+(Smalltalk packageAt: 'Platform-Node' ifAbsent: [ self error: 'Package not created: Platform-Node' ]) imports: {'amber_core/Platform-Services'}!
 Object subclass: #NodePlatform
 	instanceVariableNames: ''
 	package: 'Platform-Node'!
@@ -24,6 +25,6 @@ initialize
 !
 
 isFeasible
-<inlineJS: 'return typeof global !!== "undefined"'>
+<inlineJS: 'return typeof process !!== "undefined" && process && process.versions && process.versions.node !!= null'>
 ! !
 

+ 4 - 9
sdk/lib/amberc.js

@@ -10,7 +10,6 @@
 
 var path = require('path'),
     fs = require('fs'),
-    Promise = require('es6-promise').Promise,
     requirejs = require('requirejs');
 
 /**
@@ -88,11 +87,7 @@ AmberCompiler.prototype.main = function (configuration, finished_callback) {
     }
 
     if (!rjsConfig.paths.amber) {
-        // TODO remove backward compatibility, prefer 'base'
-        rjsConfig.paths.amber = path.join(this.amber_dir, 'support');
-        if (!fs.existsSync(rjsConfig.paths.amber)) {
-            rjsConfig.paths.amber = path.join(this.amber_dir, 'base');
-        }
+        rjsConfig.paths.amber = path.join(this.amber_dir, 'base');
     }
     if (!rjsConfig.paths.amber_core) rjsConfig.paths.amber_core = path.join(this.amber_dir, 'src');
     rjsConfig.paths['text'] = require.resolve('requirejs-text').replace(/\.js$/, "");
@@ -217,9 +212,9 @@ function create_compiler(configuration) {
             return new Promise(configuration.requirejs.bind(null, pluginPrefixedLibraries));
         })
         .then(function () {
-            // TODO remove deprecated method name
-            (configuration.globals.Smalltalk._adoptPackageDictionary || configuration.globals.Smalltalk._adoptPackageDescriptors).call(configuration.globals.Smalltalk);
-
+            return configuration.globals.Smalltalk._adoptPackageDescriptors();
+        })
+        .then(function () {
             console.log('Compiler loaded');
 
             configuration.jsGlobals.forEach(function (each) {

+ 2 - 3
sdk/package.json

@@ -1,6 +1,6 @@
 {
   "name": "@ambers/sdk",
-  "version": "0.10.7",
+  "version": "0.11.0",
   "description": "Development goodies for Amber Smalltalk",
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
@@ -11,7 +11,7 @@
     "url": "https://lolg.it/amber/amber.git"
   },
   "engines": {
-    "amber": ">=0.19.1",
+    "amber": ">=0.22.4",
     "node": ">=4.0.0"
   },
   "author": "",
@@ -22,7 +22,6 @@
   "dependencies": {
     "amd-config-builder": "^0.3.0",
     "amdefine": ">=0.1.1",
-    "es6-promise": ">=2.0.0",
     "requirejs": "^2.1.19",
     "requirejs-text": "^2.0.12"
   }