Comments (10)
@bakkot @ljharb we don't usually package every node module in debian, only those required by an end user application or development tool. In this case, HedgeDoc is the end user application. Also these tests are run during the package build and when someone runs apt install hedgedoc they don't run the tests. We need to take the source code of every module, build and test them in debian before we ship it to our end users. You can think os us like part of your release team and not a consumer.
from ecmarkdown.
@pravi Thanks for the background.
For context, ecmarkdown is a tool which is used almost exclusively to build the JavaScript language specification (of which @ljharb and I are editors), and proposals for changes to it. reflect-metadata is a nascent (and inactive) such proposal, which happens to also ship a polyfill for the proposed behavior to npm. ecmarkdown is part of its dev-dependencies because it's used to render the specification text in that repository, but it doesn't participate in the production of the runtime code which reflect-metadata publishes, which is presumably what HedgeDoc relies upon (although I don't actually see it in HedgeDoc's dev-dependencies).
That is, ecmarkdown is not in any sense required by the end-user application in question: rather, it is used to build documentation for an experimental project which was at some point used to build HedgeDoc. You can build, test, and run HedgeDoc just fine without running ecmarkdown at all.
All this is to say that I don't think it really makes sense to try to package all of the transitive dev-dependencies of everything you ship. This package has nothing to do with the build or runtime behavior of HedgeDoc, and it's not really a user we intend to support.
from ecmarkdown.
Why would dev dependencies matter to any downstream consumer? Consumers should never be installing this package’s dev deps (or those of any other package).
from ecmarkdown.
When we package a npm module to debian, the tests need to be included i.e. the tests need to be executed... In this case the js-beautify is a dependency of your test file...that is why I changed the version of js-beautify on package.json..
from ecmarkdown.
There are only 3 ways to solve this issue:-
-
Just change the version in Package.json [ Simple and easy fix] [ Which is done ]
-
Package old version of js-beautify to debian [ Not recommended by debian ]
-
Avoid the usage of js-beautify in this npm module ( in test part) [ Needs hardwork ]
from ecmarkdown.
It is not clear to me why debian is attempting to include this package at all, but in any case I've fixed up the PR and merged it.
from ecmarkdown.
We are packing HedgeDoc [1], a useful platform which can be hosted and can be used for writing and sharing markdown notes to Debian...
In this packaging work, we need to pack all dependants that required for this package[2]... Reflect-metadata is a dependency for HedgeDoc... ecmarkdown is a devdependency used in gulp test of this package... This is why we are packing ecmarkdown to Debian...
[1] https://github.com/hedgedoc/hedgedoc
[2] https://wiki.debian.org/Javascript/Nodejs/Tasks/HedgeDoc
Anyway Thank You for merging the pull request... Have a nice day... 😊
from ecmarkdown.
Also please tag this as new version in this repo...
from ecmarkdown.
We are mostly interested in running tests during build time, this is to help us find issues when we update dependencies. For general purpose tools we are also interested to build documentation. But if ecmarkdown is strictly used only for documentation, we can skip that part. @vivekkj123 skip building the documentation step.
from ecmarkdown.
@pravi Ok 😀
from ecmarkdown.
Related Issues (20)
- Make sure docs are consistent and complete HOT 1
- Link syntax HOT 3
- where does a segment end? HOT 19
- Tags not included in AST
- Fix parse error for dedenting lists
- ordered list (alg. fragment) begins with non-decimal item number HOT 4
- Blank line leads to blank section HOT 2
- Need guidance on what constructs to use when HOT 8
- __proto__ converts to <var></var>proto__ HOT 1
- Double-decoding issue leading to difficulty to output `<!` in emu-grammar HOT 3
- Documents hang forever if there is no newline at the end HOT 3
- Need an interactive demo page
- Add support for adding labels (ids) to steps HOT 4
- Consider dropping support for full documents HOT 2
- Handle CRLF HOT 3
- parabreak processing breaks spec rendering HOT 4
- Tag new Version HOT 2
- Re-tag new version HOT 7
- Fields and slots should be eligible for ecmarkup interactive highlighting
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ecmarkdown.