Skip to content
This repository has been archived by the owner on Apr 9, 2024. It is now read-only.

Usage instructions outdated? #11

Open
lougreenwood opened this issue May 14, 2018 · 3 comments
Open

Usage instructions outdated? #11

lougreenwood opened this issue May 14, 2018 · 3 comments

Comments

@lougreenwood
Copy link

lougreenwood commented May 14, 2018

Hi,

I'm trying to use this package, but I'm not making any progress.

It seems that the docs are outdated (npm install instead of ember install, EmberApp.init({});) - which is making figuring out how to use this add-on quite difficult (is this even an ember-cli pipeline add-on or simply an Ember add-on with cli in the name).

Essentially, I'm just trying to create a file in /dist directory after I run ember b prod. I'e added the following to my ember-cli-build.js, but after building ember, I don't see the file anywhere...

        fileCreator: [
            {
                filename: 'dist/config.json',
                content: 'hello',
            }
        ],

Thanks in advance :)

@jschilli
Copy link
Owner

Assuming that /dist is your default output path for the ember build you would specify /config.json as the filename - this plugin is appending content to the default output tree.

@lougreenwood
Copy link
Author

Hi, thanks for the speedy reply - however, still no luck.

ember v
ember-cli: 3.1.4
node: 10.0.0
os: darwin x64

Here's my ember-cli-build.js

'use strict';

const EmberApp        = require('ember-cli/lib/broccoli/ember-app');
const PostCssSass     = require('@csstools/postcss-sass');
const CssNext         = require('postcss-cssnext');
const DiscardComments = require('postcss-discard-comments');

module.exports = function(defaults) {
    let app = new EmberApp(defaults, {

        // Fixes issue where `{{component "fa-icon"}}` would not work.
        'ember-font-awesome': {
            includeComponent: true
        },
        postcssOptions: {
            compile: {
                extension: 'scss',
                enabled: true,
                parser: require('postcss-scss'),
                plugins: [
                    {
                        module: PostCssSass,
                        options: {
                            includePaths: [
                                'app/styles',
                                'node_modules/font-awesome/scss'
                            ]
                        }
                    }
                ]
            },
            filter: {
                enabled: true,
                plugins: [
                    {
                        module: CssNext,
                        options: {
                            features: {
                                customProperties: false
                            }
                        }
                    },{
                        module: DiscardComments
                    }
                ]
            }
        },
        fileCreator: [
          {
              filename: '/config.json',
              content: 'hello',
          }
        ],
    });

    return app.toTree();
};

@jschilli
Copy link
Owner

@lougreenwood - in retrospect I should have named this module-creator - there is no output file on the filesystem - it gets folded into the appropriate broccoli tree and is available within the app via a require/import.

I did notice that the tree that gets created has no handler for a .json extension - e.g. the app tree for ember-cli doesn't process .json file into the output app.js

with the following spec

  let app = new EmberApp(defaults, {
    fileCreator: [
        {
            filename: '/config.js',
            content: 'export default { version: "0.0.0", foobar: "foobaz" }',
        }
      ],

in the generated app.js file we see

define("foo/config", ["exports"], function (exports) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = { version: "0.0.0", foobar: "foobaz" //# sourceMappingURL=config.map

  };
});

It may be possible by specifying the tree to get a .json file created - I have not used the plugin in this way.

You can look @ https://github.com/rwjblue/broccoli-file-creator for a more explicit file creation which may better meet your needs

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants