Commit Graph

350 Commits

Author SHA1 Message Date
Miroslav Bajtoš 8aa7156d3b Merge pull request #86 from strongloop/feature/load-component
Configure components via `component-config.json`
2015-01-07 08:28:29 +01:00
Simon Ho 1f7d8e56e8 Add "booting" flag and emit "booted" event 2015-01-06 21:27:32 -08:00
Miroslav Bajtoš f8247be23c Configure components via `component-config.json`
Load configuration of components from `component-config`
and configure all components as specified.

Sample JSON:

    {
      "loopback-component-foobar": {
        "option1": "value1",
        "option2": "value2"
      }
    }

The component is expected to export the following function:

    module.exports = function(app, options) { /* ... */ };
2015-01-06 14:00:26 +01:00
Ryan Graham 1ef2616979 Fix bad CLA URL in CONTRIBUTING.md 2014-12-29 08:27:45 -08:00
Miroslav Bajtoš c4473951a0 Merge tag 'v2.5.2'
2.5.2

 * Dedupe boot scripts (Eric Satterwhite)
2014-12-19 15:21:44 +01:00
Miroslav Bajtoš 6a442f8307 Merge branch 'release/2.5.2' into production 2014-12-19 15:21:42 +01:00
Miroslav Bajtoš 4031f6b985 v2.5.2 2014-12-19 15:21:40 +01:00
Miroslav Bajtoš 8a3e529ea3 Merge pull request #72 from esatterwhite/lb-64-multiple-invocation-same-boot-script
Ensure to dedupe boot scripts array before running.

Closes #72
Fixes #64
2014-12-19 15:18:58 +01:00
Eric Satterwhite 301031b78f Dedupe boot scripts
Remove duplicated entries in the array of boot scripts to run.
Because the bootDirs defaults to process.cwd(), if the user manually
includes scripts in the same directory, without specifying a bootDir,
those scripts will be included multiple times.
2014-12-19 15:18:37 +01:00
Miroslav Bajtoš beb4f8c34c Merge tag 'v2.5.1'
2.5.1

 * Replace underscore with lodash (Ryan Graham)
2014-12-08 08:09:36 +01:00
Miroslav Bajtoš 4f65067348 Merge branch 'release/2.5.1' into production 2014-12-08 08:09:35 +01:00
Miroslav Bajtoš a90964ab30 v2.5.1 2014-12-08 08:09:33 +01:00
Miroslav Bajtoš 4b9e13bfc6 Merge pull request #76 from strongloop/feature/remove-underscore
Replace underscore with lodash
2014-12-03 19:15:00 +01:00
Ryan Graham e1f7c592a1 Replace underscore with lodash
Replace 2 uses of underscore and 1 use of a lodash submodule with full
lodash module.
2014-12-02 22:10:52 -08:00
Miroslav Bajtoš 8da44e69dd Merge tag 'v2.5.0'
2.5.0

 * compiler: resolve paths in middleware params (Miroslav Bajtoš)
2014-12-02 18:14:04 +01:00
Miroslav Bajtoš 77ded6edfe Merge branch 'release/2.5.0' into production 2014-12-02 18:14:00 +01:00
Miroslav Bajtoš e81ff119a3 v2.5.0 2014-12-02 18:13:58 +01:00
Miroslav Bajtoš 3dfa3bcb13 Merge pull request #74 from strongloop/feature/relative-paths-in-middleware-params
compiler: resolve paths in middleware params
2014-12-01 20:18:21 +01:00
Miroslav Bajtoš 8cc2518cb0 compiler: resolve paths in middleware params
Introduce a convention for specifying relative paths in middleware
params: values prefixed with `$!` and starting with `./` or `../`
are resolved relatively to `middleware.json`.

Example:

    {
      "files": {
        "loopback#static": {
          "params": "$!../client"
        },
        "loopback#static": {
          "params": "$!./public"
        }
      }
    }
2014-11-28 12:17:27 +01:00
Miroslav Bajtoš 81303b3093 Merge tag 'v2.4.0'
2.4.0

 * Implement shorthand notation for middleware paths (Raymond Feng)

 * Load middleware and phases from `middleware.json` (Miroslav Bajtoš)

 * Add jscs style check, fix violations found (Miroslav Bajtoš)

 * Clean up .jshintrc (Miroslav Bajtoš)

 * Use `chai` instead of `must` (Miroslav Bajtoš)
2014-11-27 19:23:49 +01:00
Miroslav Bajtoš d3145f5745 Merge branch 'release/2.4.0' into production 2014-11-27 19:23:47 +01:00
Miroslav Bajtoš 097fced310 v2.4.0 2014-11-27 19:23:45 +01:00
Miroslav Bajtoš 6de571f442 Merge pull request #70 from strongloop/feature/short-middleware-paths
#68 - Implement shorthand notation for middleware paths
2014-11-25 11:51:00 +01:00
Raymond Feng 2f72006c88 Implement shorthand notation for middleware paths
When the middleware name (path) is in the format {module}#{filename},
loopback-boot resolves the path by trying multiple locations and
using the first one that exists:

 - {module} and check the {filename} property of the exports
     -> e.g. loopback.rest
- {module}/server/middleware/{filename}
    -> e.g. loopback/server/middleware/rest
 - {module}/middleware/{filename}
    -> e.g. loopback/middleware/rest

Values in any other format will bypass this resolution algorithm and
they will be used in the original form:

 - a full path in a module: loopback/server/middleware/rest
 - a relative path: ./middleware/custom, ./custom, ../logger
 - an absolute path: /usr/local/lib/node_modules/compression
2014-11-25 11:43:00 +01:00
Miroslav Bajtoš d25c64523d Merge pull request #66 from strongloop/feature/middleware-mounting
Load middleware and phases from `middleware.json`
2014-11-19 09:58:38 +01:00
Miroslav Bajtoš 1114bc9227 Load middleware and phases from `middleware.json`
Sample JSON:

        {
          "routes:before": {
            "morgan": {
              "params": ["dev"]
            }
          },
          "routes": {
            "loopback/server/middleware/rest": {
            }
          },
          "subapps": {
            "./adminer": {
            },
          }
        }

The JSON file can be customized using the usual conventions:
  - middleware.local.{js|json}
  - middleware.{env}.{js|json}

It is also possible to mount the same middleware in the same phase
multiple times with different configuration.

Example config:

    {
      "auth": {
        "oauth2": [
          {
            "params": "first"
          },
          {
            "params": "second"
          }
        ]
      },
    });
2014-11-19 09:45:04 +01:00
Miroslav Bajtoš 08fcc5faa7 Merge pull request #67 from strongloop/feature/infrastructure-cleanup
Infrastructure cleanup
2014-11-13 16:09:10 +01:00
Miroslav Bajtoš 5b5071864b Add jscs style check, fix violations found 2014-11-13 15:54:59 +01:00
Miroslav Bajtoš 83723379a2 Clean up .jshintrc
jshint does not support `trailing` as of v1.5.0.

Remove `maxlen` too, jscs provides better implementation.

Fix definition of global mocha variables - mark them as immutable.
2014-11-13 15:33:23 +01:00
Miroslav Bajtoš e2aff71bf9 Use `chai` instead of `must`
As of 1.10, chai supports nonary assertions, there are no more reasons
for using a different variant.
2014-11-13 15:31:35 +01:00
Raymond Feng 6040f66adc Merge tag 'v2.3.1'
2.3.1
2014-11-10 08:58:42 -08:00
Raymond Feng 9cd5d3d125 Merge branch 'release/2.3.1' into production 2014-11-10 08:58:32 -08:00
Raymond Feng f4c7b1ba38 Bump version 2014-11-10 08:57:46 -08:00
Raymond Feng 27bd48e0f6 Merge pull request #63 from strongloop/feature/fix-lb-issue-756
Fix the test for built-in models on Windows
2014-11-10 08:56:21 -08:00
Raymond Feng db917bf03b Fix the test for built-in models on Windows
See https://github.com/strongloop/loopback/issues/756
2014-11-10 08:22:57 -08:00
Raymond Feng ed59cb2483 Fix jsdoc 2014-10-30 13:34:59 -07:00
Miroslav Bajtoš 176f96e242 Merge tag 'v2.3.0'
2.3.0
2014-10-27 11:14:50 +01:00
Miroslav Bajtoš f5ac5273a7 Merge branch 'release/2.3.0' into production 2014-10-27 11:14:40 +01:00
Miroslav Bajtoš 84f8a51138 2.3.0 2014-10-27 11:14:19 +01:00
Miroslav Bajtoš d7bdbd31b1 compiler: fix coding style violations 2014-10-27 11:13:02 +01:00
Miroslav Bajtoš b480efde8a Merge pull request #59 from TorchlightSoftware/coffee-fix2
support coffee-script models and client code
2014-10-24 20:04:21 +02:00
bitmage e936deffe2 support coffee-script models and client code
Load models for any filetypes registered in require.extensions.

 - Server side coffee-script requires a `require('coffee-script/register');`

 - Client side coffee-script requires Coffeeify.
2014-10-24 10:42:30 -07:00
Miroslav Bajtoš 3961f1c615 Merge tag 'v2.2.0'
2.2.0
2014-10-22 08:58:40 +02:00
Miroslav Bajtoš 56c74174f1 Merge branch 'release/2.2.0' into production 2014-10-22 08:58:05 +02:00
Miroslav Bajtoš 5cea78c6aa 2.2.0 2014-10-22 08:57:44 +02:00
Miroslav Bajtoš b5c585291b Merge pull request #60 from strongloop/feature/skip-builtin-loopback-models
Skip definitions of built-in loopback models
2014-10-21 18:17:49 +02:00
Miroslav Bajtoš aa4cbdd80f compiler: support module-relative model sources
Interpret model sources in the same way how `require.resolve`
interprets the path:

 - values starting with `./` and `../` are relative to the file
   where they are specified

 - other values are relative to node modules folders

This way it's possible to specify a source `loopback/common/models`
and have it resolved to whatever place the loopback is installed.
2014-10-21 18:10:22 +02:00
Miroslav Bajtoš 26abb43ad4 Skip definitions of built-in loopback models
LoopBack built-in models are special: they follow the loopback-boot
structure and provide `common/models/{name}.json` files, but they are
also automatically loaded (created) by loopback.

This change modifies `executor` to recognize built-in models and do not
redefine them.
2014-10-21 18:10:22 +02:00
Miroslav Bajtoš 011296d825 Merge pull request #58 from strongloop/feature/use-loopback-2x-for-tests
Use loopback 2x for tests, update dependency versions
2014-10-21 09:45:50 +02:00
Miroslav Bajtoš c04946073f package: update dependency versions 2014-10-21 09:40:52 +02:00