Skip to content

refactor(module): module exporting#1134

Closed
pranshuchittora wants to merge 1 commit intowebpack:nextfrom
pranshuchittora:export-fix
Closed

refactor(module): module exporting#1134
pranshuchittora wants to merge 1 commit intowebpack:nextfrom
pranshuchittora:export-fix

Conversation

@pranshuchittora
Copy link
Copy Markdown
Contributor

Summary
module.exports.a = a can be written as module.exports = {a:a} or module.exports = {a}
If we have multiple exports from a single file then writing module.exports.a = a could be tedious task.

What kind of change does this PR introduce?
Refactoring
Did you add tests for your changes?
No
If relevant, did you update the documentation?
No

Does this PR introduce a breaking change?
No

Other information
NaN

@webpack-bot
Copy link
Copy Markdown

@pranshuchittora Please review the following output log for errors:

Worker information [...]
Build system information [...]
travis_fold:start:docker_mtu
travis_fold:end:docker_mtu
travis_fold:start:resolvconf
travis_fold:end:resolvconf


Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions

Setting environment variables from repository settings
$ export nproc=4

Setting environment variables from .travis.yml
$ export JOB_PART=integration


Setting up build cache [...]
 [...]
$ node --version
v8.16.2
$ npm --version
6.4.1
$ nvm --version
0.35.1

$ npm run travis:lint

> webpack-cli@4.0.0-beta.1 travis:lint /home/travis/build/webpack/webpack-cli
> npm run build && npm run lint


> webpack-cli@4.0.0-beta.1 build /home/travis/build/webpack/webpack-cli
> tsc


> webpack-cli@4.0.0-beta.1 lint /home/travis/build/webpack/webpack-cli
> eslint . --ext .js,.ts


/home/travis/build/webpack/webpack-cli/lib/commands/external.js
  16:40  warning  'code' is defined but never used  @typescript-eslint/no-unused-vars

✖ 1 problem (0 errors, 1 warning)

The command "npm run travis:lint" exited with 0.
$ npm run test:ci

> webpack-cli@4.0.0-beta.1 test:ci /home/travis/build/webpack/webpack-cli
> nyc jest --maxWorkers=$(nproc) --reporters=default --reporters=jest-junit --colors

 PASS  packages/webpack-scaffold/__tests__/index.test.ts (7.878s)
 PASS  packages/utils/__tests__/ast-utils.test.ts (8.688s)
 PASS  test/output/named-bundles/output-named-bundles.test.js (10.568s)
 PASS  packages/utils/__tests__/package-manager.test.ts
 PASS  test/utils/test-utils.test.js
 PASS  packages/utils/__tests__/resolve-packages.test.ts
 PASS  test/global/global.test.js (15.684s)
 PASS  packages/info/__tests__/index.test.ts
 PASS  test/version/version-multi-args.test.js (5.799s)
 PASS  test/entry/defaults-index/entry-multi-args.test.js
 PASS  test/help/help-single-arg.test.js
 PASS  packages/utils/__tests__/validate-identifier.test.ts
 PASS  packages/migrate/__tests__/migrate.test.ts
 FAIL  test/output/defaults/output-defaults.test.js
  ● output flag defaults › set default output directory on empty flag

    expect(received).toBe(expected) // Object.is equality

    Expected: null
    Received: [Error: ENOENT: no such file or directory, stat '/home/travis/build/webpack/webpack-cli/test/output/defaults/dist/bundle.js']

      27 |         expect(summary['Output Directory']).toContain(outputDir);
      28 |         stat(resolve(__dirname, './dist/bundle.js'), (err, stats) => {
    > 29 |             expect(err).toBe(null);
         |                         ^
      30 |             expect(stats.isFile()).toBe(true);
      31 |             done();
      32 |         });

      at stat (test/output/defaults/output-defaults.test.js:29:25)

 PASS  packages/utils/__tests__/recursive-parser.test.ts
 PASS  test/config-lookup/dotfolder-array/dotfolder-array.test.js
 PASS  test/config/type/array/array-config.test.js
 FAIL  test/source-map/object/source-map-object.test.js (5.807s)
  ● source-map object › should override config with source-map

    expect(received).toBe(expected) // Object.is equality

    Expected: null
    Received: [Error: ENOENT: no such file or directory, stat '/home/travis/build/webpack/webpack-cli/test/source-map/object/binary/dist-amd.js.map']

      27 |         run(__dirname, ['-c', './webpack.eval.config.js', '--sourcemap', 'source-map', '-o', './binary/dist-amd.js'], false);
      28 |         stat(resolve(__dirname, 'binary/dist-amd.js.map'), (err, stats) => {
    > 29 |             expect(err).toBe(null);
         |                         ^
      30 |             expect(stats.isFile()).toBe(true);
      31 |             done();
      32 |         });

      at stat (test/source-map/object/source-map-object.test.js:29:25)

 PASS  test/config/basic/basic-config.test.js
 FAIL  test/merge/defaults/merge-defaults.test.js
  ● merge flag defaults › merges a default webpack.base.config with default config lookup

    expect(received).toBe(expected) // Object.is equality

    Expected: null
    Received: [Error: ENOENT: no such file or directory, stat '/home/travis/build/webpack/webpack-cli/test/merge/defaults/dist/default.js']

      11 |         expect(stderr).toContain('option has not been set, webpack will fallback to');
      12 |         stat(resolve(__dirname, './dist/default.js'), (err, stats) => {
    > 13 |             expect(err).toBe(null);
         |                         ^
      14 |             expect(stats.isFile()).toBe(true);
      15 |             done();
      16 |         });

      at stat (test/merge/defaults/merge-defaults.test.js:13:25)

  ● merge flag defaults › merges a configuraiton file with default base config

    expect(received).toBe(expected) // Object.is equality

    Expected: null
    Received: [Error: ENOENT: no such file or directory, stat '/home/travis/build/webpack/webpack-cli/test/merge/defaults/dist/bundle.js']

      20 |         expect(stderr).toContain('option has not been set, webpack will fallback to');
      21 |         stat(resolve(__dirname, './dist/bundle.js'), (err, stats) => {
    > 22 |             expect(err).toBe(null);
         |                         ^
      23 |             expect(stats.isFile()).toBe(true);
      24 |             done();
      25 |         });

      at stat (test/merge/defaults/merge-defaults.test.js:22:25)

 PASS  test/config/type/function/function-config.test.js
 PASS  test/env/array/array-env.test.js (6.281s)
 PASS  test/help/help-multi-args.test.js
 PASS  test/json/json.test.js
 FAIL  test/source-map/array/source-map-array.test.js
  ● source-map object › should override entire array on flag

    expect(received).toBe(expected) // Object.is equality

    Expected: 4
    Received: 3

      19 |         readdir(resolve(__dirname, 'binary'), (err, files) => {
      20 |             expect(err).toBe(null);
    > 21 |             expect(files.length).toBe(4);
         |                                  ^
      22 |             done();
      23 |         });
      24 |     });

      at readdir (test/source-map/array/source-map-array.test.js:21:34)

 PASS  test/config/type/promise/promise-config.test.js (7.028s)
 PASS  packages/migrate/commonsChunkPlugin/__tests__/commonsChunkPlugin.test.ts
 FAIL  test/config-lookup/dotfolder-single/dotfolder-single.test.js
  ● dotfolder single config lookup › should find a webpack configuration in a dotfolder

    expect(received).toBe(expected) // Object.is equality

    Expected: null
    Received: [Error: ENOENT: no such file or directory, stat '/home/travis/build/webpack/webpack-cli/test/config-lookup/dotfolder-single/dist/bundle.js']

      18 |         expect(stderr).not.toContain('Module not found');
      19 |         stat(resolve(__dirname, './dist/bundle.js'), (err, stats) => {
    > 20 |             expect(err).toBe(null);
         |                         ^
      21 |             expect(stats.isFile()).toBe(true);
      22 |             done();
      23 |         });

      at stat (test/config-lookup/dotfolder-single/dotfolder-single.test.js:20:25)

 PASS  test/config/empty/empty-config.test.js
 PASS  test/env/object/object-env.test.js
 PASS  test/entry/defaults-empty/entry-single-arg.test.js
 PASS  packages/utils/__tests__/npm-packages-exists.test.ts
 PASS  packages/utils/__tests__/is-local-path.test.ts
 FAIL  test/merge/config/merge-config.test.js
  ● merge flag configuration › merges two configurations together

    expect(received).toBe(expected) // Object.is equality

    Expected: null
    Received: [Error: ENOENT: no such file or directory, stat '/home/travis/build/webpack/webpack-cli/test/merge/config/dist/merged.js']

      11 |         expect(stderr).toContain('option has not been set, webpack will fallback to');
      12 |         stat(resolve(__dirname, './dist/merged.js'), (err, stats) => {
    > 13 |             expect(err).toBe(null);
         |                         ^
      14 |             expect(stats.isFile()).toBe(true);
      15 |             done();
      16 |         });

      at stat (test/merge/config/merge-config.test.js:13:25)

 PASS  test/version/version-single-arg.test.js
 PASS  packages/migrate/loaders/__tests__/loaders.test.ts

Please remove deprecated plugins manually. 
See https://webpack.js.org/guides/migrating/ for more information.
Please remove deprecated plugins manually. 
See https://webpack.js.org/guides/migrating/ for more information.
Please remove deprecated plugins manually. 
See https://webpack.js.org/guides/migrating/ for more information. PASS  packages/migrate/removeDeprecatedPlugins/__tests__/removeDeprecatedPlugins.test.ts
 PASS  packages/generators/__tests__/add-generator.test.ts
 PASS  packages/migrate/uglifyJsPlugin/__tests__/uglifyJsPlugin.test.ts
 PASS  packages/generators/__tests__/loader-generator.test.ts
 PASS  packages/migrate/loaderOptionsPlugin/__tests__/loaderOptionsPlugin.test.ts
 PASS  packages/utils/__tests__/npm-exists.test.ts
 PASS  packages/migrate/removeJsonLoader/__tests__/removeJsonLoader.test.ts
 PASS  packages/migrate/moduleConcatenationPlugin/__tests__/moduleConcatenationPlugin.test.ts
 PASS  packages/migrate/namedModulesPlugin/__tests__/namedModulesPlugin.test.ts
 PASS  packages/migrate/noEmitOnErrorsPlugin/__tests__/noEmitOnErrorsPlugin.test.ts
 PASS  packages/migrate/bannerPlugin/__tests__/bannerPlugin.test.ts
 PASS  packages/migrate/outputPath/__tests__/outputPath.test.ts
 PASS  packages/migrate/extractTextPlugin/__tests__/extractTextPlugin.test.ts
 PASS  packages/migrate/resolve/__tests__/resolve.test.ts
�[999D�[K
Summary of all failing tests
 FAIL  test/output/defaults/output-defaults.test.js
  ● output flag defaults › set default output directory on empty flag

    expect(received).toBe(expected) // Object.is equality

    Expected: null
    Received: [Error: ENOENT: no such file or directory, stat '/home/travis/build/webpack/webpack-cli/test/output/defaults/dist/bundle.js']

      27 |         expect(summary['Output Directory']).toContain(outputDir);
      28 |         stat(resolve(__dirname, './dist/bundle.js'), (err, stats) => {
    > 29 |             expect(err).toBe(null);
         |                         ^
      30 |             expect(stats.isFile()).toBe(true);
      31 |             done();
      32 |         });

      at stat (test/output/defaults/output-defaults.test.js:29:25)

 FAIL  test/source-map/object/source-map-object.test.js (5.807s)
  ● source-map object › should override config with source-map

    expect(received).toBe(expected) // Object.is equality

    Expected: null
    Received: [Error: ENOENT: no such file or directory, stat '/home/travis/build/webpack/webpack-cli/test/source-map/object/binary/dist-amd.js.map']

      27 |         run(__dirname, ['-c', './webpack.eval.config.js', '--sourcemap', 'source-map', '-o', './binary/dist-amd.js'], false);
      28 |         stat(resolve(__dirname, 'binary/dist-amd.js.map'), (err, stats) => {
    > 29 |             expect(err).toBe(null);
         |                         ^
      30 |             expect(stats.isFile()).toBe(true);
      31 |             done();
      32 |         });

      at stat (test/source-map/object/source-map-object.test.js:29:25)

 FAIL  test/merge/defaults/merge-defaults.test.js
  ● merge flag defaults › merges a default webpack.base.config with default config lookup

    expect(received).toBe(expected) // Object.is equality

    Expected: null
    Received: [Error: ENOENT: no such file or directory, stat '/home/travis/build/webpack/webpack-cli/test/merge/defaults/dist/default.js']

      11 |         expect(stderr).toContain('option has not been set, webpack will fallback to');
      12 |         stat(resolve(__dirname, './dist/default.js'), (err, stats) => {
    > 13 |             expect(err).toBe(null);
         |                         ^
      14 |             expect(stats.isFile()).toBe(true);
      15 |             done();
      16 |         });

      at stat (test/merge/defaults/merge-defaults.test.js:13:25)

  ● merge flag defaults › merges a configuraiton file with default base config

    expect(received).toBe(expected) // Object.is equality

    Expected: null
    Received: [Error: ENOENT: no such file or directory, stat '/home/travis/build/webpack/webpack-cli/test/merge/defaults/dist/bundle.js']

      20 |         expect(stderr).toContain('option has not been set, webpack will fallback to');
      21 |         stat(resolve(__dirname, './dist/bundle.js'), (err, stats) => {
    > 22 |             expect(err).toBe(null);
         |                         ^
      23 |             expect(stats.isFile()).toBe(true);
      24 |             done();
      25 |         });

      at stat (test/merge/defaults/merge-defaults.test.js:22:25)

 FAIL  test/source-map/array/source-map-array.test.js
  ● source-map object › should override entire array on flag

    expect(received).toBe(expected) // Object.is equality

    Expected: 4
    Received: 3

      19 |         readdir(resolve(__dirname, 'binary'), (err, files) => {
      20 |             expect(err).toBe(null);
    > 21 |             expect(files.length).toBe(4);
         |                                  ^
      22 |             done();
      23 |         });
      24 |     });

      at readdir (test/source-map/array/source-map-array.test.js:21:34)

 FAIL  test/config-lookup/dotfolder-single/dotfolder-single.test.js
  ● dotfolder single config lookup › should find a webpack configuration in a dotfolder

    expect(received).toBe(expected) // Object.is equality

    Expected: null
    Received: [Error: ENOENT: no such file or directory, stat '/home/travis/build/webpack/webpack-cli/test/config-lookup/dotfolder-single/dist/bundle.js']

      18 |         expect(stderr).not.toContain('Module not found');
      19 |         stat(resolve(__dirname, './dist/bundle.js'), (err, stats) => {
    > 20 |             expect(err).toBe(null);
         |                         ^
      21 |             expect(stats.isFile()).toBe(true);
      22 |             done();
      23 |         });

      at stat (test/config-lookup/dotfolder-single/dotfolder-single.test.js:20:25)

 FAIL  test/merge/config/merge-config.test.js
  ● merge flag configuration › merges two configurations together

    expect(received).toBe(expected) // Object.is equality

    Expected: null
    Received: [Error: ENOENT: no such file or directory, stat '/home/travis/build/webpack/webpack-cli/test/merge/config/dist/merged.js']

      11 |         expect(stderr).toContain('option has not been set, webpack will fallback to');
      12 |         stat(resolve(__dirname, './dist/merged.js'), (err, stats) => {
    > 13 |             expect(err).toBe(null);
         |                         ^
      14 |             expect(stats.isFile()).toBe(true);
      15 |             done();
      16 |         });

      at stat (test/merge/config/merge-config.test.js:13:25)


Test Suites: 6 failed, 1 skipped, 44 passed, 50 of 51 total
Tests:       7 failed, 3 skipped, 191 passed, 201 total
Snapshots:   96 passed, 96 total
Time:        71.584s
Ran all test suites.

The command "npm run test:ci" exited with 1.
store build cache [...]

Done. Your build exited with 1.

See complete report here.

Comment on lines +12 to +15
module.exports = {
names,
info: commands,
};
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#1122 takes account of this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants