Commit Graph

186 Commits

Author SHA1 Message Date
Ben Newman
24e02b7411 Avoid bundling jquery twice (#10498)
Although the Meteor jquery package is no long a core package (and thus is
not tied to the Meteor release), it seems like a good idea to nudge folks
towards installing jquery from npm, instead of relying on the very old
version (1.12.1) residing in meteor/packages/non-core/jquery/jquery.js.

Closes #10289.
2019-12-18 13:45:36 -05:00
Ben Newman
ebdaa230d5 Update meteor-babel to version 7.7.5. 2019-12-18 12:39:57 -05:00
Ben Newman
d0781233e8 Install typescript in devDependencies of skel-typescript.
This is important so that tools like VSCode will pick up the correct
version of the TypeScript SDK, rather than whatever default version was
installed with VSCode.
2019-09-19 13:22:22 -04:00
Ben Newman
2468d17fec Allow creating Meteor apps with --typescript skeleton.
Just as developers can run

  meteor create --react my-react-app
  meteor create --minimal my-minimal-app
  meteor create --bare my-bare-app
  meteor create --full my-full-app

they can now run

  meteor create --typescript my-typescript-app

to produce a new TypeScript application, based on the --react application,
configured using a recommended tsconfig.json file.

This app represents the current best/simplest-known way to set up a
Meteor-compatible TypeScript application, but it is still very much a work
in progress. Please feel free to submit pull requests to improve it, or
create issues to discuss how it should work.

For example, the community-maintained @types/meteor package covers all the
core packages used by this starter application, but it has not been
updated in a while, so there will no doubt be meteor/* packages with
missing types. In future versions, Meteor should ideally generate the
appropriate .d.ts files from TypeScript package source code, so that no
separate @types/meteor/* declarations need to be maintained.
2019-09-19 09:27:23 -04:00
Ben Newman
7bf1b3cbc5 Update 'meteor create --react' react[-dom] versions to 16.9.0. 2019-09-06 18:45:04 -04:00
Ben Newman
cf5db3626e Update meteor-babel to version 7.6.0. 2019-09-06 18:40:50 -04:00
Ben Newman
e497085474 Update meteor-babel and @babel/{runtime,parser} to latest versions.
Among other benefits, this should address #10622.
2019-07-30 14:03:58 -04:00
Ben Newman
01fb509fff Implement an official typescript compiler plugin. 2019-07-07 19:29:34 -04:00
Ben Newman
769337551e Convert tools/tool-env/profile.js to TypeScript.
Unfortunately, this conversion triggered an error due to one of the
shortcomings of the Babel implementation of TypeScript:

SyntaxError: /tools/tool-env/profile.ts: Namespace not marked type-only declare. Non-declarative namespaces are only supported experimentally in Babel. To enable and review caveats see: https://babeljs.io/docs/en/babel-plugin-transform-typescript
  278 | }
  279 |
> 280 | export namespace Profile {
      |                  ^
  281 |   export let enabled = !! process.env.METEOR_PROFILE;
  282 |
  283 |   export function time<TResult>(bucket: string, f: () => TResult) {
    at File.buildCodeFrameError (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/core/lib/transformation/file/file.js:261:12)
    at transpileNamespace (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/plugin-transform-typescript/lib/namespace.js:25:25)
    at PluginPass.TSModuleDeclaration (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/plugin-transform-typescript/lib/index.js:271:32)
    at newFn (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/visitors.js:193:21)
    at NodePath._call (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/path/context.js:53:20)
    at NodePath.call (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/path/context.js:40:17)
    at NodePath.visit (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/path/context.js:88:12)
    at TraversalContext.visitQueue (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/context.js:118:16)
    at TraversalContext.visitMultiple (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/context.js:85:17)
    at TraversalContext.visit (/Users/ben/meteor/dev_bundle/lib/node_modules/@babel/traverse/lib/context.js:144:19)
2019-07-06 09:18:35 -04:00
Ben Newman
101eea015f Update meteor-node-stubs npm dependency to v1.0.0. 2019-07-04 16:36:27 -04:00
Ben Newman
c632542a04 Update meteor-babel to version 7.5.0. 2019-07-04 15:57:25 -04:00
Ben Newman
8a409d196c Convert mini-files.js to TypeScript. 2019-07-04 14:43:51 -04:00
Ben Newman
9b01729c79 Use reify/lib/parsers/babel rather than acorn.
Acorn seems to have trouble parsing code that @babel/parser parses
successfully, such as the dist/esm.js file in markdown-to-jsx@6.10.2.
2019-07-03 10:03:28 -04:00
Ben Newman
f7f36bb758 Use default parser for Reify Module.prototype._compile hook.
This saves us from having to install @babel/parser in the server bundle.

There is currently a bug in Reify that prevents it from loading this
parser by default, but we can work around that on the Meteor side for now.
2019-07-02 15:31:16 -04:00
Ben Newman
0c5cb13136 Ensure all code evaluated by Node is compiled with Reify. 2019-07-02 13:15:46 -04:00
Ben Newman
28d74dcc9f Use Reify to compile dynamic import(...). 2019-05-15 19:12:09 -04:00
Ben Newman
114a348bb3 Convert programs/server/debug.js to TypeScript.
Another tiny module (like tools/isobuild/css-modules.ts) that proves we
can use TypeScript in programs/server/* code.
2019-04-26 18:55:08 -04:00
Ben Newman
c9ba0f3a22 Install latest Reify runtime in programs/server/main.js.
Also updated meteor-babel in the dev bundle to depend on reify@0.18.1, to
be consistent with the version used by server code.
2019-04-26 18:55:08 -04:00
Ben Newman
59c66baa9b Convert tools/static-assets/server/mini-files.js to module. 2019-04-23 19:21:57 -04:00
Ben Newman
83ec5e9ff8 Update meteor-babel to version 7.3.4. 2019-02-26 19:09:43 -05:00
Ben Newman
a96241911a Address review feedback from @glasser. 2019-02-04 14:22:29 -05:00
Ben Newman
312d06a90a Add gitRevision property to star.json and __meteor_runtime_config__.
This information is useful when you need a unique identifier for the
current version of the application (and you're using Git).

If the current Git HEAD revision can't be found for any reason, the
gitRevision property simply will not appear in star.json or
__meteor_runtime_config__.
2019-02-04 11:51:38 -05:00
Ben Newman
4294414506 Update meteor-babel to version 7.1.5. 2018-11-12 19:35:47 -05:00
Ben Newman
9a0ab62850 Update package.json dependencies of --react skeleton app. 2018-09-13 11:53:23 -04:00
Ben Newman
465f6ad02d Style and application layout tweaks for React starter app. 2018-09-13 11:53:22 -04:00
David Mihal
56553f0c3b Create React-based apps with meteor create --react (#10149) 2018-09-13 11:46:41 -04:00
Ben Newman
dc8f4ffb13 Update meteor-babel to version 7.0.0. 🎉 2018-09-05 12:08:17 -04:00
Ben Newman
b983f9718d Update meteor-babel to version 7.0.0-rc.2. 2018-08-21 20:22:02 -04:00
Ben Newman
b29ed0d133 Update meteor-babel to version 7.0.0-rc.1. 2018-08-09 16:35:10 -04:00
Ben Newman
97bd20449f Update meteor-babel to version 7.0.0-beta.56.
Fixes https://github.com/meteor/babel/issues/22.
2018-08-04 12:59:04 -04:00
Ben Newman
3a0778fc85 Update meteor-babel and reify npm packages to latest versions.
Probably the most notable change in this update is that the Reify compiler
now generates

  module.link("./child", { ...setters... });

instead of

  module.watch(require("./child"), { ...setters... });

for import and export-from declarations.
2018-07-31 17:02:58 -04:00
Ben Newman
50b44f6465 Update meteor-babel to version 7.0.0-beta.54. 2018-07-17 20:35:37 -04:00
Ben Newman
05e7aebef7 Merge branch 'devel' into release-1.7.1 2018-07-11 15:52:05 -04:00
Ben Newman
2765238a29 Update meteor-babel to version 7.0.0-beta.53. 2018-07-11 15:29:45 -04:00
Ben Newman
8310870c44 Tolerate clientJson.clientArchs in dynamic-import boot.js setup. 2018-07-04 10:15:26 -04:00
Ben Newman
9b28ece2ba Bump @babel/runtime version in starter application skeletons. 2018-06-13 14:21:20 -04:00
Rob Fallows
a9af151df9 Update default and --minimal app skeletons. Fixes #9961 (#9977) 2018-06-13 13:22:39 -04:00
Ben Newman
5ac27341f7 Update @babel/runtime for new app skeletons to 7.0.0-beta.48. 2018-05-24 23:04:42 -04:00
Ben Newman
af9a0e183f Include "Learn Meteor!" links in minimial starter app HTML. 2018-05-16 17:31:59 -04:00
Ben Newman
10e69ee84d Include actual CSS in default starter app. 2018-05-16 17:31:37 -04:00
Ben Newman
c88b888275 Demonstrate basic server-side rendering in minimal starter app.
Now that the meteor/server-render package is lazy on the client, it adds
no weight to the client JavaScript bundle unless imported.
2018-05-16 17:22:12 -04:00
Ben Newman
c29b191a42 Make the minimal starter application follow best practices. 2018-05-16 15:20:38 -04:00
Ben Newman
124e334a95 Update meteor-babel and @babel/runtime to version 7.0.0-beta.47. 2018-05-16 12:16:28 -04:00
Ben Newman
81248867aa Update meteor-node-stubs to version 0.4.1.
This only affects newly created applications for now, but developers can
update to the latest meteor-node-stubs by running

  meteor npm install meteor-node-stubs@latest

https://github.com/meteor/node-stubs/issues/15
2018-05-08 12:56:03 -04:00
Ben Newman
0d6fbba203 Make sure minimal apps depend directly on meteor package.
All Meteor packages implicitly depend on the meteor package, and the
meteor-base package implies the meteor package for most Meteor apps, but
the new minimal skeleton does not use meteor-base, so minimal Meteor apps
were not directly depending on the meteor package.

The only reason this mattered was that the meteor package registers a
default compiler plugin for CSS files, and compiler plugins only apply if
an app or package directly depends on them (or depends on a package that
implies them, such as meteor-base).

In other words, this change reenables support for raw CSS files for
minimal apps.
2018-05-01 15:15:00 -04:00
Ben Newman
dcd01aceba Merge branch 'devel' into release-1.7 2018-04-25 18:22:00 -04:00
Ben Newman
986b47d1c4 Update meteor-babel to version 7.0.0-beta.46. (#9840) 2018-04-25 18:15:29 -04:00
Ben Newman
339f128bd4 Merge branch 'devel' into release-1.6.2 2018-03-21 15:23:01 -04:00
Ben Newman
41b0b309c6 Bump @babel/runtime to latest version in various package[-lock].json files. 2018-03-20 21:13:52 -04:00
Ben Newman
cc77e963c5 Merge branch 'devel' into release-1.6.2 2018-03-07 12:31:43 -05:00