diff --git a/packages/non-core/coffeescript-compiler/.npm/package/npm-shrinkwrap.json b/packages/non-core/coffeescript-compiler/.npm/package/npm-shrinkwrap.json index 7abd4bb747..87857d7090 100644 --- a/packages/non-core/coffeescript-compiler/.npm/package/npm-shrinkwrap.json +++ b/packages/non-core/coffeescript-compiler/.npm/package/npm-shrinkwrap.json @@ -2,9 +2,9 @@ "lockfileVersion": 1, "dependencies": { "coffeescript": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.2.1.tgz", - "integrity": "sha512-UFSs0WDed7ZiQGtWZ401PZnlgnP5jtlr4Gk+aPMTIkFkKY6Kz2gRp+WIu0QzllR30nV2XheicAhKwDJQcor6lg==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.3.1.tgz", + "integrity": "sha512-DNJmSPMyiz+OjWYyuDXNBcFutDjP2TS2owsZ8YvT65hA8c5IdHWIBqdA3Yf/XHoK23d/f1HqLjQbEJJZJoeV1w==" }, "source-map": { "version": "0.5.7", diff --git a/packages/non-core/coffeescript-compiler/package.js b/packages/non-core/coffeescript-compiler/package.js index bd8d58f340..6ae96feac2 100644 --- a/packages/non-core/coffeescript-compiler/package.js +++ b/packages/non-core/coffeescript-compiler/package.js @@ -13,17 +13,17 @@ Package.describe({ summary: 'Compiler for CoffeeScript code, supporting the coffeescript package', // This version of NPM `coffeescript` module, with _1, _2 etc. // If you change this, make sure to also update ../coffeescript/package.js to match. - version: '2.2.1_1' + version: '2.3.1_1' }); Npm.depends({ - 'coffeescript': '2.2.1', + 'coffeescript': '2.3.1', 'source-map': '0.5.7' }); Package.onUse(function (api) { - api.use('babel-compiler@6.19.4||7.0.3'); - api.use('ecmascript@0.10.3'); + api.use('babel-compiler@6.24.7||7.1.1'); + api.use('ecmascript@0.11.1'); api.mainModule('coffeescript-compiler.js', 'server'); diff --git a/packages/non-core/coffeescript/package.js b/packages/non-core/coffeescript/package.js index 2861d8bdf6..b0cfd905c5 100644 --- a/packages/non-core/coffeescript/package.js +++ b/packages/non-core/coffeescript/package.js @@ -1,17 +1,17 @@ Package.describe({ name: 'coffeescript', - summary: 'Javascript dialect with fewer braces and semicolons', + summary: 'JavaScript dialect with fewer braces and semicolons', // This package version should track the version of the `coffeescript-compiler` // package, because people will likely only have this one added to their apps; // so bumping the version of this package will be how they get newer versions // of `coffeescript-compiler`. If you change this, make sure to also update // ../coffeescript-compiler/package.js to match. - version: '2.2.1_1' + version: '2.3.1_1' }); Package.registerBuildPlugin({ name: 'compile-coffeescript', - use: ['caching-compiler@1.1.9', 'ecmascript@0.8.3', 'coffeescript-compiler@2.2.1_1'], + use: ['caching-compiler@1.1.12', 'ecmascript@0.11.1', 'coffeescript-compiler@2.3.1_1'], sources: ['compile-coffeescript.js'] }); @@ -24,14 +24,14 @@ Package.onUse(function (api) { // same runtime environment that the 'ecmascript' package provides. // The following api.imply calls should match those in ../../ecmascript/package.js, // except that coffeescript does not api.imply('modules'). - api.imply('ecmascript-runtime@0.5.0'); - api.imply('babel-runtime@1.2.2'); - api.imply('promise@0.10.1'); - api.imply('dynamic-import@0.3.0'); + api.imply('ecmascript-runtime@0.7.0'); + api.imply('babel-runtime@1.2.4'); + api.imply('promise@0.11.1'); + api.imply('dynamic-import@0.4.1'); }); Package.onTest(function (api) { - api.use(['coffeescript', 'tinytest']); + api.use(['coffeescript', 'tinytest', 'modern-browsers']); api.use(['coffeescript-test-helper', 'ecmascript'], ['client', 'server']); // Need ecmascript to compile tests/es2015_module.js api.addFiles('tests/bare_test_setup.coffee', ['client'], {bare: true}); api.addFiles('tests/bare_tests.js', ['client']); @@ -45,4 +45,5 @@ Package.onTest(function (api) { 'tests/litcoffeescript_tests.coffee.md', 'tests/coffeescript_tests.js' ], ['client', 'server']); + api.addFiles('tests/modern_browsers.coffee', ['server']); }); diff --git a/packages/non-core/coffeescript/tests/bare_tests.js b/packages/non-core/coffeescript/tests/bare_tests.js index 9a5e21f4fa..1a48fa0e47 100644 --- a/packages/non-core/coffeescript/tests/bare_tests.js +++ b/packages/non-core/coffeescript/tests/bare_tests.js @@ -1,3 +1,5 @@ +import { Tinytest } from "meteor/tinytest"; + Tinytest.add("coffeescript - bare", function (test) { test.equal(VariableSetByCoffeeBareTestSetup, 5678); }); diff --git a/packages/non-core/coffeescript/tests/coffeescript_strict_tests.coffee b/packages/non-core/coffeescript/tests/coffeescript_strict_tests.coffee index 6f4b8e3b4e..2e195d61bb 100644 --- a/packages/non-core/coffeescript/tests/coffeescript_strict_tests.coffee +++ b/packages/non-core/coffeescript/tests/coffeescript_strict_tests.coffee @@ -9,4 +9,4 @@ x in y Tinytest.add "coffeescript - shared", (test) -> test.equal share.coffeeShared, 789 - test.equal sharedFromJavascript, 135 + test.equal sharedFromJavaScript, 135 diff --git a/packages/non-core/coffeescript/tests/coffeescript_test_setup.js b/packages/non-core/coffeescript/tests/coffeescript_test_setup.js index c8578f857e..e30f4ee3e2 100644 --- a/packages/non-core/coffeescript/tests/coffeescript_test_setup.js +++ b/packages/non-core/coffeescript/tests/coffeescript_test_setup.js @@ -1 +1 @@ -sharedFromJavascript = 135; +sharedFromJavaScript = 135; diff --git a/packages/non-core/coffeescript/tests/coffeescript_tests.coffee b/packages/non-core/coffeescript/tests/coffeescript_tests.coffee index ff35349e06..f9c0ab2e25 100644 --- a/packages/non-core/coffeescript/tests/coffeescript_tests.coffee +++ b/packages/non-core/coffeescript/tests/coffeescript_tests.coffee @@ -1,3 +1,7 @@ +import { Meteor } from "meteor/meteor" +import { Tinytest } from "meteor/tinytest" + + Meteor.__COFFEESCRIPT_PRESENT = true # This is read in coffeescript_strict_tests.coffee. @@ -20,12 +24,12 @@ import { Meteor as testingForNativeImportedSymbol } from "meteor/meteor" Tinytest.add "coffeescript - import external package via native import statement", (test) -> test.isTrue testingForNativeImportedSymbol? -import { testingForImportedModule123456789 } from "./es2015_module.js"; +import { testingForImportedModule123456789 } from "./es2015_module.js" Tinytest.add "coffeescript - import local module via native import statement", (test) -> test.isTrue testingForImportedModule123456789? -import { testingForNativeImportedModule123456789 } from "./coffeescript_module.coffee"; +import { testingForNativeImportedModule123456789 } from "./coffeescript_module.coffee" Tinytest.add "coffeescript - import local module exported by a CoffeeScript native export statement, via native import statement", (test) -> test.isTrue testingForNativeImportedModule123456789? @@ -35,10 +39,16 @@ Tinytest.add "coffeescript - ES2015 conformity", (test) -> f = (a = 1) -> a test.isTrue f(null) is null # `f(null)` would be 1 in CoffeeScript 1.x -# JSX + Tinytest.add "coffeescript - JSX", (test) -> # Mock React React = createElement: (tag, attributes, body) -> "<#{tag}>#{body}" test.isTrue
Hello from JSX!
is '
Hello from JSX!
' + + +if Meteor.isModern + Tinytest.add "coffeescript - modern browsers", (test) -> + klass = class Klass + test.isTrue klass.toString().startsWith 'class' diff --git a/packages/non-core/coffeescript/tests/coffeescript_tests.js b/packages/non-core/coffeescript/tests/coffeescript_tests.js index df127d2cc3..01dfaf0f06 100644 --- a/packages/non-core/coffeescript/tests/coffeescript_tests.js +++ b/packages/non-core/coffeescript/tests/coffeescript_tests.js @@ -1,3 +1,6 @@ +import { Meteor } from "meteor/meteor"; +import { Tinytest } from "meteor/tinytest"; + Tinytest.add("coffeescript - presence", function(test) { test.isTrue(Meteor.__COFFEESCRIPT_PRESENT); }); diff --git a/packages/non-core/coffeescript/tests/litcoffeescript_tests.coffee.md b/packages/non-core/coffeescript/tests/litcoffeescript_tests.coffee.md index e68b845a96..f5f1123c74 100644 --- a/packages/non-core/coffeescript/tests/litcoffeescript_tests.coffee.md +++ b/packages/non-core/coffeescript/tests/litcoffeescript_tests.coffee.md @@ -1,6 +1,9 @@ -This file is just the same as `coffeescript_tests.coffee`, first we set a +This file is just the same as `coffeescript_tests.coffee`, first we set a property, which we check for in `coffeescript_tests.js`, and then a trivial testcase. + import { Meteor } from "meteor/meteor" + import { Tinytest } from "meteor/tinytest" + Meteor.__COFFEEMDSCRIPT_PRESENT = true Tinytest.add "markdown coffeescript - compile", (test) -> test.isTrue true diff --git a/packages/non-core/coffeescript/tests/litcoffeescript_tests.litcoffee b/packages/non-core/coffeescript/tests/litcoffeescript_tests.litcoffee index 48b0bd9ee3..39199d8e0b 100644 --- a/packages/non-core/coffeescript/tests/litcoffeescript_tests.litcoffee +++ b/packages/non-core/coffeescript/tests/litcoffeescript_tests.litcoffee @@ -1,6 +1,9 @@ -This file is just the same as `coffeescript_tests.coffee`, first we set a +This file is just the same as `coffeescript_tests.coffee`, first we set a property, which we check for in `coffeescript_tests.js`, and then a trivial testcase. + import { Meteor } from "meteor/meteor" + import { Tinytest } from "meteor/tinytest" + Meteor.__LITCOFFEESCRIPT_PRESENT = true Tinytest.add "literate coffeescript - compile", (test) -> test.isTrue true diff --git a/packages/non-core/coffeescript/tests/modern_browsers.coffee b/packages/non-core/coffeescript/tests/modern_browsers.coffee new file mode 100644 index 0000000000..b9a52132e7 --- /dev/null +++ b/packages/non-core/coffeescript/tests/modern_browsers.coffee @@ -0,0 +1,12 @@ +import { setMinimumBrowserVersions } from "meteor/modern-browsers" + +setMinimumBrowserVersions + chrome: 49 + firefox: 45 + edge: 12 + ie: Infinity + mobileSafari: [9, 2] + opera: 36 + safari: 9 + electron: 1 +, 'classes'