FLUID-4871: Enhance the progressive enhancer so that it can distinguish between browser and non-browser environments

Metadata

Source
FLUID-4871
Type
Improvement
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
y z
Reporter
Antranig Basman
Created
2012-12-18T06:05:51.521-0500
Updated
2024-07-22T09:35:48.996-0400
Versions
N/A
Fixed Versions
  1. 1.5
Component
  1. Progressive Enhancement

Description

Right now, ProgressiveEnhancement.js is only capable of discriminating between different browser environments, and will fail on being executed outside a browser, for example, in node.js. However, it contains some basic algorithms which are useful in all environments, and should be enhanced so that it a) doesn't fail outside a browser, b) helps clients to discriminate browser vs non-browser environments by use of appropriate type tags.

Comments

  • Antranig Basman commented 2013-01-18T15:45:56.959-0500

    This was required as part of the FLUID-4850 and FLUID-4886 work delivering the IoC-based testing framework in a node.js-based environment (http://issues.gpii.net/browse/GPII-77)

  • Colin Clark commented 2013-01-18T16:00:20.196-0500

    I noticed, installing Infusion as an npm module directly from Github, that the ProgressiveEnhancement.js file is being .npmignored.

  • Antranig Basman commented 2013-01-25T17:02:55.535-0500

    Now that FLUID-4886 has hit trunk, this patch can be safely committed - the previous version of ProgressiveEnhancement.js would bomb out in node.js. Thanks for this patch, Colin - committed at revision 86ec577

  • y z commented 2013-01-31T16:51:18.839-0500

    There's an issue with loading infusion in node environment since we are creating a window stub when loading the framework in node. This results in the original check always returning true and thus failing on the consequent reference to jQuery framework.

  • y z commented 2013-02-05T08:58:03.458-0500

    Merged into master at rev: 37074a2f1070bc3a948706869f22e5d58c57d36d