GithubHelp home page GithubHelp logo

siddharthkp / atom-import-cost Goto Github PK

View Code? Open in Web Editor NEW
119.0 7.0 15.0 154 KB

Check the size of the package you import

Home Page: https://atom.io/packages/atom-import-cost

License: MIT License

JavaScript 96.41% CSS 3.59%
atom import cost

atom-import-cost's Introduction

atom-import-cost

Check the size of the package you import, right in the editor.

 

sponsor

Sponsor

 

Check the size of the package you import

 

Idea credits to the wix team and thanks to @charlesbdudley for integrating it!

 

Install

Search from atom-import-cost in Atom packages or run apm install atom-import-cost on your terminal.

 

Show your support

⭐ this repo

 

atom-import-cost's People

Contributors

charlesbdudley avatar siddharthkp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

atom-import-cost's Issues

Uncaught TypeError: setTimeout(...).unref is not a function

[Enter steps to reproduce:]

  1. Open Editor

Atom: 1.27.2 x64
Electron: 1.7.15
OS: Mac OS X 10.11.6
Thrown From: atom-import-cost package 1.2.0

Stack Trace

Uncaught TypeError: setTimeout(...).unref is not a function

At /Users/ray/.atom/packages/atom-import-cost/node_modules/worker-farm/lib/farm.js:135

TypeError: setTimeout(...).unref is not a function
    at Farm.stopChild (/packages/atom-import-cost/node_modules/worker-farm/lib/farm.js:135:37)
    at /packages/atom-import-cost/node_modules/worker-farm/lib/farm.js:96:10)

Non-Core Packages

accents-ui 1.3.0 
atom-dark-fusion-syntax 2.2.1 
atom-import-cost 1.2.0 
atom-material-syntax-dark 1.0.0 
atom-material-ui 2.1.3 
base-16-ocean-dark-ui-theme 1.7.2 
busy-signal 1.4.3 
chameleon-ui 2.0.0 
chester-atom-syntax 0.3.2 
danikai-light-syntax 0.6.1 
dark-flat-ui 1.2.4 
daylight-ui 0.2.2 
docblockr 0.13.7 
duotone-light-syntax 2.1.0 
earthsung-by-jackson-syntax 0.3.0 
editorconfig 2.2.2 
file-icons 2.1.21 
firewatch-green-syntax 1.1.0 
import-cost-atom 1.0.8 
intentions 1.1.5 
jsonlint 1.1.4 
kimbie-light 2.0.2 
language-elixir 0.22.0 
language-jade 0.7.3 
language-javascript-jsx 0.3.7 
language-vue 0.23.1 
linter 2.2.0 
linter-eslint 8.4.1 
linter-sass-lint 1.8.3 
linter-ui-default 1.7.1 
min-ui 0.0.4 
no-caffeine-syntax 0.21.0 
octocat-syntax 2.2.2 
pinned-tabs 2.0.6 
react 0.18.0 
sepia-light-ui 0.5.0 
sepia-syntax 1.1.0 
slime 2.4.0 
sync-settings 0.8.6 
tabs-to-spaces 1.0.5 
teletype 0.13.3 
termination 0.6.2 
unicorn-light-syntax 3.1.0 
wordcount 3.0.0 

File types and directories

It would be nice to have some options for what file types you want this to run on as well as what directories it can parse through.

Currently this does not run in .vue files which would be super helpful as well as specifying which directories to calculate sizes for imports from

On-demand checking option

Hello!
First of, thanks a lot for a very helpful package!
And there is a question:
Can you add an option to turn off automatic size counting and a command to process current file?
It would be nice to have an option to stop drain resources when I'm opening a file with many imports.
If it will be valuable but time-consuming, I can send a PR for that feature.

Unexpected reserved word 'package'

Prerequisites

Not able to perform the following as Atom is dead and Pulsar took over. The links go to the defunct Atom site which no longer has any information. Let me know what alternative methods to use.

Description

Plugin not working, spits out below error right after install.

Steps to Reproduce

  1. install plugin
  2. Error message pops up

Expected behavior:

Plugin to work as designed.

Actual behavior:

Plugin throws error right after install

Versions

Pulsar: 1.108.2023090103 x64
Electron: 12.2.3
OS: Pop!_OS 22.04
Thrown From: atom-import-cost package 1.2.0

Stack Trace

Failed to load the atom-import-cost package

At /home/framirez/.pulsar/packages/atom-import-cost/lib/main.js: Unexpected reserved word 'package'. (57:29)

  55 |
  56 |     emitter.on('start', packages => this.handleCalculatingStart(packages))
> 57 |     emitter.on('calculated', package => this.handleCalculatedPackage(package))
     |                              ^
  58 |     emitter.on('done', () => this.handleCalculationDone())
  59 |   },
  60 |

SyntaxError: /home/framirez/.pulsar/packages/atom-import-cost/lib/main.js: Unexpected reserved word 'package'. (57:29)

  55 |
  56 |     emitter.on('start', packages => this.handleCalculatingStart(packages))
> 57 |     emitter.on('calculated', package => this.handleCalculatedPackage(package))
     |                              ^
  58 |     emitter.on('done', () => this.handleCalculationDone())
  59 |   },
  60 |
    at instantiate (/app.asar/node_modules/@babel/parser/lib/index.js:67:32)
    at constructor (/app.asar/node_modules/@babel/parser/lib/index.js:364:12)
    at FlowParserMixin.raise (/app.asar/node_modules/@babel/parser/lib/index.js:3364:19)
    at FlowParserMixin.checkReservedWord (/app.asar/node_modules/@babel/parser/lib/index.js:12464:12)
    at FlowParserMixin.parseIdentifierName (/app.asar/node_modules/@babel/parser/lib/index.js:12412:12)
    at FlowParserMixin.parseIdentifier (/app.asar/node_modules/@babel/parser/lib/index.js:12387:23)
    at FlowParserMixin.parseExprAtom (/app.asar/node_modules/@babel/parser/lib/index.js:11542:27)
    at FlowParserMixin.parseExprAtom (/app.asar/node_modules/@babel/parser/lib/index.js:7238:20)
    at FlowParserMixin.parseExprSubscripts (/app.asar/node_modules/@babel/parser/lib/index.js:11171:23)
    at FlowParserMixin.parseUpdate (/app.asar/node_modules/@babel/parser/lib/index.js:11153:21)
    at FlowParserMixin.parseMaybeUnary (/app.asar/node_modules/@babel/parser/lib/index.js:11127:23)
    at FlowParserMixin.parseMaybeUnaryOrPrivate (/app.asar/node_modules/@babel/parser/lib/index.js:10956:61)
    at FlowParserMixin.parseExprOps (/app.asar/node_modules/@babel/parser/lib/index.js:10962:23)
    at FlowParserMixin.parseMaybeConditional (/app.asar/node_modules/@babel/parser/lib/index.js:10937:23)
    at FlowParserMixin.parseMaybeAssign (/app.asar/node_modules/@babel/parser/lib/index.js:10895:21)
    at FlowParserMixin.parseMaybeAssign (/app.asar/node_modules/@babel/parser/lib/index.js:6030:18)
    at /app.asar/node_modules/@babel/parser/lib/index.js:10863:39
    at FlowParserMixin.allowInAnd (/app.asar/node_modules/@babel/parser/lib/index.js:12640:12)
    at FlowParserMixin.parseMaybeAssignAllowIn (/app.asar/node_modules/@babel/parser/lib/index.js:10863:17)
    at FlowParserMixin.parseExprListItem (/app.asar/node_modules/@babel/parser/lib/index.js:12380:18)
    at FlowParserMixin.parseCallExpressionArguments (/app.asar/node_modules/@babel/parser/lib/index.js:11367:22)
    at FlowParserMixin.parseCoverCallAndAsyncArrowHead (/app.asar/node_modules/@babel/parser/lib/index.js:11279:29)
    at FlowParserMixin.parseSubscript (/app.asar/node_modules/@babel/parser/lib/index.js:11210:19)
    at FlowParserMixin.parseSubscript (/app.asar/node_modules/@babel/parser/lib/index.js:6139:18)
    at FlowParserMixin.parseSubscripts (/app.asar/node_modules/@babel/parser/lib/index.js:11184:19)
    at FlowParserMixin.parseSubscripts (/app.asar/node_modules/@babel/parser/lib/index.js:6105:18)
    at FlowParserMixin.parseExprSubscripts (/app.asar/node_modules/@babel/parser/lib/index.js:11175:17)
    at FlowParserMixin.parseUpdate (/app.asar/node_modules/@babel/parser/lib/index.js:11153:21)
    at FlowParserMixin.parseMaybeUnary (/app.asar/node_modules/@babel/parser/lib/index.js:11127:23)
    at FlowParserMixin.parseMaybeUnaryOrPrivate (/app.asar/node_modules/@babel/parser/lib/index.js:10956:61)
    at FlowParserMixin.parseExprOps (/app.asar/node_modules/@babel/parser/lib/index.js:10962:23)
    at FlowParserMixin.parseMaybeConditional (/app.asar/node_modules/@babel/parser/lib/index.js:10937:23)
    at FlowParserMixin.parseMaybeAssign (/app.asar/node_modules/@babel/parser/lib/index.js:10895:21)
    at FlowParserMixin.parseMaybeAssign (/app.asar/node_modules/@babel/parser/lib/index.js:6030:18)
    at FlowParserMixin.parseExpressionBase (/app.asar/node_modules/@babel/parser/lib/index.js:10845:23)
    at /app.asar/node_modules/@babel/parser/lib/index.js:10840:39
    at FlowParserMixin.allowInAnd (/app.asar/node_modules/@babel/parser/lib/index.js:12635:16)
    at FlowParserMixin.parseExpression (/app.asar/node_modules/@babel/parser/lib/index.js:10840:17)
    at FlowParserMixin.parseStatementContent (/app.asar/node_modules/@babel/parser/lib/index.js:13043:23)
    at FlowParserMixin.parseStatement (/app.asar/node_modules/@babel/parser/lib/index.js:12917:17)
    at FlowParserMixin.parseStatement (/app.asar/node_modules/@babel/parser/lib/index.js:5309:24)
    at FlowParserMixin.parseBlockOrModuleBlockBody (/app.asar/node_modules/@babel/parser/lib/index.js:13497:25)
    at FlowParserMixin.parseBlockBody (/app.asar/node_modules/@babel/parser/lib/index.js:13489:10)
    at FlowParserMixin.parseBlock (/app.asar/node_modules/@babel/parser/lib/index.js:13477:10)
    at FlowParserMixin.parseFunctionBody (/app.asar/node_modules/@babel/parser/lib/index.js:12287:24)
    at FlowParserMixin.parseFunctionBody (/app.asar/node_modules/@babel/parser/lib/index.js:5284:18)
    at FlowParserMixin.parseFunctionBodyAndFinish (/app.asar/node_modules/@babel/parser/lib/index.js:12271:10)
    at FlowParserMixin.parseFunctionBodyAndFinish (/app.asar/node_modules/@babel/parser/lib/index.js:5293:18)
    at FlowParserMixin.parseMethod (/app.asar/node_modules/@babel/parser/lib/index.js:12226:31)
    at FlowParserMixin.parseObjectMethod (/app.asar/node_modules/@babel/parser/lib/index.js:12120:19)
    at FlowParserMixin.parseObjPropValue (/app.asar/node_modules/@babel/parser/lib/index.js:12154:23)
    at FlowParserMixin.parseObjPropValue (/app.asar/node_modules/@babel/parser/lib/index.js:5774:26)
    at FlowParserMixin.parsePropertyDefinition (/app.asar/node_modules/@babel/parser/lib/index.js:12083:17)
    at FlowParserMixin.parseObjectLike (/app.asar/node_modules/@babel/parser/lib/index.js:11993:21)
    at FlowParserMixin.parseExprAtom (/app.asar/node_modules/@babel/parser/lib/index.js:11464:23)
    at FlowParserMixin.parseExprAtom (/app.asar/node_modules/@babel/parser/lib/index.js:7238:20)
    at FlowParserMixin.parseExprSubscripts (/app.asar/node_modules/@babel/parser/lib/index.js:11171:23)
    at FlowParserMixin.parseUpdate (/app.asar/node_modules/@babel/parser/lib/index.js:11153:21)
    at FlowParserMixin.parseMaybeUnary (/app.asar/node_modules/@babel/parser/lib/index.js:11127:23)
    at FlowParserMixin.parseMaybeUnaryOrPrivate (/app.asar/node_modules/@babel/parser/lib/index.js:10956:61)
    at FlowParserMixin.parseExprOps (/app.asar/node_modules/@babel/parser/lib/index.js:10962:23)
    at FlowParserMixin.parseMaybeConditional (/app.asar/node_modules/@babel/parser/lib/index.js:10937:23)
    at FlowParserMixin.parseMaybeAssign (/app.asar/node_modules/@babel/parser/lib/index.js:10895:21)
    at FlowParserMixin.parseMaybeAssign (/app.asar/node_modules/@babel/parser/lib/index.js:6030:18)
    at /app.asar/node_modules/@babel/parser/lib/index.js:10863:39
    at FlowParserMixin.allowInAnd (/app.asar/node_modules/@babel/parser/lib/index.js:12635:16)
    at FlowParserMixin.parseMaybeAssignAllowIn (/app.asar/node_modules/@babel/parser/lib/index.js:10863:17)
    at FlowParserMixin.parseExportDefaultExpression (/app.asar/node_modules/@babel/parser/lib/index.js:14171:22)
    at FlowParserMixin.parseExportDefaultExpression (/app.asar/node_modules/@babel/parser/lib/index.js:5359:18)
    at FlowParserMixin.parseExport (/app.asar/node_modules/@babel/parser/lib/index.js:14075:25)
    at FlowParserMixin.parseExport (/app.asar/node_modules/@babel/parser/lib/index.js:5493:24)
    at FlowParserMixin.parseStatementContent (/app.asar/node_modules/@babel/parser/lib/index.js:13020:27)
    at FlowParserMixin.parseStatement (/app.asar/node_modules/@babel/parser/lib/index.js:12917:17)
    at FlowParserMixin.parseStatement (/app.asar/node_modules/@babel/parser/lib/index.js:5309:24)
    at FlowParserMixin.parseBlockOrModuleBlockBody (/app.asar/node_modules/@babel/parser/lib/index.js:13497:25)
    at FlowParserMixin.parseBlockBody (/app.asar/node_modules/@babel/parser/lib/index.js:13489:10)
    at FlowParserMixin.parseProgram (/app.asar/node_modules/@babel/parser/lib/index.js:12832:10)
    at FlowParserMixin.parseTopLevel (/app.asar/node_modules/@babel/parser/lib/index.js:12822:25)
    at FlowParserMixin.parseTopLevel (/app.asar/node_modules/@babel/parser/lib/index.js:6174:28)
    at FlowParserMixin.parse (/app.asar/node_modules/@babel/parser/lib/index.js:14674:10)
    at parse (/app.asar/node_modules/@babel/parser/lib/index.js:14716:38)
    at parser (/app.asar/node_modules/@babel/core/lib/parser/index.js:52:34)
    at parser.next (<anonymous>)
    at normalizeFile (/app.asar/node_modules/@babel/core/lib/transformation/normalize-file.js:87:38)
    at normalizeFile.next (<anonymous>)
    at run (/app.asar/node_modules/@babel/core/lib/transformation/index.js:31:50)
    at run.next (<anonymous>)
    at Object.transform (/app.asar/node_modules/@babel/core/lib/transform.js:25:41)
    at transform.next (<anonymous>)
    at evaluateSync (/app.asar/node_modules/gensync/index.js:251:28)
    at Object.sync (/app.asar/node_modules/gensync/index.js:89:14)
    at Object.exports.compile (/app.asar/src/babel.js:60:16)
    at Object.compile (/app.asar/src/package-transpilation-registry.js:66:27)
    at compileFileAtPath (/app.asar/src/compile-cache.js:106:31)
    at /app.asar/src/compile-cache.js:251:22)
    at Module.load (internal/modules/cjs/loader.js:935:32)
    at Module._load (internal/modules/cjs/loader.js:776:14)
    at Function.f._load (electron/js2c/asar_bundle.js:5:12913)
    at Function.o._load (electron/js2c/renderer_init.js:33:379)
    at Module.require (internal/modules/cjs/loader.js:959:19)
    at require (/app.asar/src/native-compile-cache.js:67:27)
    at requireModule (/app.asar/src/module-utils.js:3:17)
    at Package.requireMainModule (/app.asar/src/package.js:912:27)
    at /app.asar/src/package.js:141:16
    at Package.measure (/app.asar/src/package.js:82:19)
    at Package.load (/app.asar/src/package.js:127:10)
    at PackageManager.loadAvailablePackage (/app.asar/src/package-manager.js:701:10)
    at PackageManager.loadPackage (/app.asar/src/package-manager.js:630:19)
    at PackageManager.activatePackage (/app.asar/src/package-manager.js:774:17)
    at exit (/app.asar/node_modules/settings-view/lib/package-manager.js:426:25)
    at exit (/app.asar/node_modules/settings-view/lib/package-manager.js:85:26)
    at triggerExitCallback (/app.asar/src/buffered-process.js:280:9)
    at /app.asar/src/buffered-process.js:301:9
    at /app.asar/src/buffered-process.js:169:7)
    at Socket.emit (events.js:327:22)
    at Pipe.<anonymous> (net.js:673:12)

Commands

     -2:44.4.0 core:move-left (input.hidden-input)
     -2:44.1.0 core:move-right (input.hidden-input)
  2x -2:43.8.0 editor:newline (input.hidden-input)
  3x -2:13.8.0 core:move-down (input.hidden-input)
  2x -2:12.4.0 editor:newline (input.hidden-input)
  4x -1:48.4.0 core:backspace (input.hidden-input)
     -1:45.8.0 core:move-up (input.hidden-input)
  4x -1:45.7.0 core:move-left (input.hidden-input)
     -1:44.5.0 core:move-right (input.hidden-input)
     -1:43.9.0 core:backspace (input.hidden-input)
     -1:39.6.0 core:move-up (input.hidden-input)
  5x -1:38.9.0 core:move-right (input.hidden-input)
     -1:37.5.0 core:backspace (input.hidden-input)
  5x -1:33.5.0 core:move-down (input.hidden-input)
  2x -1:31.4.0 editor:newline (input.hidden-input)
  4x -0:29.3.0 core:backspace (input.hidden-input)

Non-Core Packages

atom-beautify 0.33.4 
atom-import-cost 1.2.0 
autoclose-html 0.23.0 
autoclose-html-plus 0.27.2 
file-icons 2.1.47 
highlight-selected 0.17.0 
nord-atom-syntax 0.10.0 
nord-atom-ui 0.12.0 
pigments 0.40.6 

Additional Information

Package slowing down Atom

This package seems to be slowing down my Atom quite a lot:
image

Is there anything that can be done about this? I really like this package, and it's a shame that it slows Atom down by this much.

The API

Hey @siddharthkp . I was tinkering with the API which this plugin in using, and noticed that it's possible that I'd have to make a breaking change in it. Since #3 is merged , it might not have any impact on this, just giving you a heads up.

Process eats cpu trying to calculate package size

When opening files with simple packages like react, etc it's working fine. However, when opening files with node imports and heavy packages the size calculation eats all cpu. Example of imports:

const path = require('path')
const webpack = require('webpack')
const SpriteLoaderPlugin = require('svg-sprite-loader/plugin')

This file doesn't require calculation as it's a dev script file.

It would be great to have an option to calculate size on demand like it was asked in #14 or have an option to specify the directory paths, where automatic size calculation is turned on.

keyboard shortcut mac conflict

keyboard shortcut on mac (ctrl + alt + x) conflicts.

Right now it is set to ctrl + alt + x but in macOS, it is for copying the relative path of the file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.