Code Monkey home page Code Monkey logo

Comments (11)

jonschlinkert avatar jonschlinkert commented on June 12, 2024 2

fwiw I will republish to get rid of this file as soon as I have a chance

from extglob.

jonschlinkert avatar jonschlinkert commented on June 12, 2024 2

Then I need to manually delete this file and run again.

Damn that's irritating. Sorry you have to do that. I've been swamped, I'll try to push up a patch to fix this.

from extglob.

jonschlinkert avatar jonschlinkert commented on June 12, 2024 1

Agreed, it's irritating that NPM picked up this file when I published the lib, despite always being ignored in .gitignore.

from extglob.

djzara avatar djzara commented on June 12, 2024 1

That all makes perfect sense! I'm not in the npm package dev world so it's still got some intricacies I don't understand quite yet. That right there is gonna save some headaches. I never thought about the way the path is defined as being an issue anywhere, honestly, but it makes sense given that pattern in gitignore being kind of critical.

Much appreciated!!

from extglob.

reviewher avatar reviewher commented on June 12, 2024 1

Here because of the brew apply2files issue in brew. It suffices to delete all of the .DS_Store files in /usr/local/lib/node_modules/:

find /usr/local/lib/node_modules/ -name .DS_Store | while read x; do echo "$x"; sudo rm "$x"; done

@jonschlinkert the simplest way to fix the module is to change the files entry to be a glob:

https://github.com/micromatch/extglob/blob/master/package.json#L23

  "files": [
    "index.js",
    "lib/*.js"
  ],

from extglob.

djzara avatar djzara commented on June 12, 2024

@vue/cli has this as a dependency in its dependency tree. Every time stuff changes there it happens. Not the worst error in the world, but one of those "really?" moments. This is still happening

from extglob.

djzara avatar djzara commented on June 12, 2024

I noticed that when I went to investigate. I'm like...ok nobody actually leaves that in. And yeah, it's in there. Maybe got committed by mistake at some point? Who knows. Bet money if you send something you'll get the same error message you always get when something happens with the npm util when something goes wrong
"This is probably not a problem with NPM itself" lol

from extglob.

jonschlinkert avatar jonschlinkert commented on June 12, 2024

Maybe got committed by mistake at some point?

Remember that NPM doesn't care what is committed to git. It only zips up what you explicitly define in package.json.

from extglob.

djzara avatar djzara commented on June 12, 2024

Remember that NPM doesn't care what is committed to git. It only zips up what you explicitly define in package.json.

I'm mainly thinking out loud, but wouldn't you still need it in there to keep NPM from picking it up when it pulls from the repository listed in package.json?

full disclosure: I'm learning here, never actually published to npm before

from extglob.

jonschlinkert avatar jonschlinkert commented on June 12, 2024

full disclosure: I'm learning here, never actually published to npm before

No worries! I don't mind the questions. Happy to help!

but wouldn't you still need it in there to keep NPM from picking it up when it pulls from the repository listed in package.json?

When you run npm publish, NPM doesn't check to see if a .git/ directory even exists (if the CLI does check, it's only to fill in some kind of details that might be useful for metadata, but it's not necessary). Also, if you specify files in package.json, then NPM will only include files specified on that property, while also ignoring any files ignored by .gitignore or .npmignore.

In any case, since the file is ignored, doesn't that address all of the scenarios you're asking about? What's more likely is that NPM's matcher (minimatch) didn't match the file. Perhaps this is a nuance caused by having a * before the . in *.DS_Store (fwiw that pattern was generated, and it should work just fine with a glob matcher).

My hunch is that NPM does not explicitly set minimatch's dot option to true, and instead they rely on testing the first character of a pattern to see if it's attempting to match a dot--which would be incorrect matching behavior for gitignore patterns.

from extglob.

hantuzun avatar hantuzun commented on June 12, 2024

Everytime I install something with brew this bug pops up like this:

Error: Permission denied @ apply2files - /usr/local/lib/node_modules/expo-cli/node_modules/extglob/lib/.DS_Store
Requirements installation failed with status: 1.

Then I need to manually delete this file and run again.

from extglob.

Related Issues (6)

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.