Giter Site home page Giter Site logo

keinsell / building-typescript Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 184.79 MB

🔨 Workarounds and implementations of different TypeScript runtimes across multiple compilers.

License: MIT License

TypeScript 38.08% Dockerfile 44.12% JavaScript 17.81%
bun bundle caxa deno electron esbuild exca executable javascript ncc pkg swc tauri typescript webpack

building-typescript's Introduction

-----BEGIN PGP PUBLIC KEY BLOCK-----

xjMEYgokaRYJKwYBBAHaRw8BAQdAWjhCNiBbCIcOXErTneEdVDlfExR+Pz9R
kfWx+w3s2IDNMWtlaW5zZWxsQHByb3Rvbm1haWwuY29tIDxrZWluc2VsbEBw
cm90b25tYWlsLmNvbT7CjwQQFgoAIAUCYgokaQYLCQcIAwIEFQgKAgQWAgEA
AhkBAhsDAh4BACEJEEAtI2TafKU2FiEE+y7KjXkUNdxoPYDRQC0jZNp8pTbG
pgEA6b90m1KWMaDQUWCFlaAcLlMWmhaZvJnvq+Ib1Fgm3ncA/i5mTpBDmyW/
veULeGufAr5gkQ4guJ/GmjH9S41+KNYCzjgEYgokaRIKKwYBBAGXVQEFAQEH
QGK6WibCD9WiaLeb5S/JbKqvYrP+8VGEKoWNMf/pkjQCAwEIB8J4BBgWCAAJ
BQJiCiRpAhsMACEJEEAtI2TafKU2FiEE+y7KjXkUNdxoPYDRQC0jZNp8pTbx
jAD/XWkgaKDmUqu9xLdy49IXwO4GYAfyapu9TDGHx5a1Nv0A/1VRAY5Iwvra
hyjUQ7Zrs6uxKvOz47A7u+71Gu4+AZAE
=aRAo
-----END PGP PUBLIC KEY BLOCK-----

Stack Overflow logo

building-typescript's People

Contributors

keinsell avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

building-typescript's Issues

binary packages works only at host machines that created them

I pushed repository to the point where we can say resolved #1 but there is another problem that is still frustrating, because for the fuck sake... I want the binary release to share it or distribute, that's like a core functionality of idea - and now binary packages work only in host machines (where they were created). I'm not sure why this happens but it happens in this way.

Reproduction

  • Download artifacts from CircleCI/GithubCI
  • Check if they are running well (no error output)
  • Clone actual repository
  • Install repository using yarn
  • Build binary packages using yarn build:pkg
  • Check the package for your OS and its output (dist/pkg)

This issue will be continued on vercel/pkg#1473 since it's not really fault of code or something, it's just issue with pkg.

Package issue: sqlite3

When bcrypt uses the universal name of a directory which is napi-v3, sqlite3 uses something like napi-v3-{os} and it's hard to include it to build by using require(). To resolve this issue we probably need to set up pkg.assets in package.json.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • chore(deps): update dependency @types/bcrypt to v5.0.1
  • chore(deps): update dependency archiver to v5.3.2 (archiver, @types/archiver)
  • chore(deps): update dependency husky to v8.0.3
  • chore(deps): update dependency jshint to v2.13.6
  • chore(deps): update dependency @changesets/cli to v2.26.2
  • chore(deps): update dependency esbuild to v0.19.5
  • chore(deps): update dependency eslint to v8.52.0
  • chore(deps): update dependency lint-staged to v13.3.0
  • chore(deps): update dependency node-gyp to v9.4.1
  • chore(deps): update dependency ora to v6.3.1
  • chore(deps): update dependency prettier to v2.8.8 (prettier, @types/prettier)
  • chore(deps): update dependency tsx to v3.14.0
  • chore(deps): update node.js to v18.18.2
  • chore(deps): update typescript-eslint monorepo to v5.62.0 (@typescript-eslint/eslint-plugin, @typescript-eslint/parser)
  • chore(deps): update yarn to v3.6.4
  • fix(deps): update dependency @tinyhttp/app to v2.2.1
  • fix(deps): update dependency prettier to v2.8.8
  • fix(deps): update dependency prettier-plugin-packagejson to v2.4.6
  • fix(deps): update dependency prettier-plugin-prisma to v4.17.0
  • fix(deps): update dependency prettier-plugin-properties to v0.3.0
  • fix(deps): update dependency prettier-plugin-sh to v0.13.1
  • chore(deps): update actions/checkout action to v4
  • chore(deps): update actions/setup-node action to v4
  • chore(deps): update commitlint monorepo to v18 (major) (@commitlint/cli, @commitlint/config-conventional)
  • chore(deps): update dependency @ava/typescript to v4
  • chore(deps): update dependency archiver to v6 (archiver, @types/archiver)
  • chore(deps): update dependency ava to v5
  • chore(deps): update dependency caxa to v3
  • chore(deps): update dependency electron to v27
  • chore(deps): update dependency electron-builder to v24
  • chore(deps): update dependency execa to v8
  • chore(deps): update dependency lint-staged to v15
  • chore(deps): update dependency node-gyp to v10
  • chore(deps): update dependency ora to v7
  • chore(deps): update dependency rimraf to v5
  • chore(deps): update dependency tsup to v7
  • chore(deps): update mcr.microsoft.com/vscode/devcontainers/javascript-node docker tag to v1
  • chore(deps): update node.js to v20
  • chore(deps): update node.js to v21
  • chore(deps): update typescript-eslint monorepo to v6 (major) (@typescript-eslint/eslint-plugin, @typescript-eslint/parser)
  • chore(deps): update yarn to v4
  • fix(deps): update dependency consola to v3
  • fix(deps): update dependency fastify to v4
  • fix(deps): update dependency mongoose to v7
  • fix(deps): update dependency prettier to v3
  • fix(deps): update dependency prettier-plugin-prisma to v5
  • fix(deps): update dependency realm to v12
  • fix(deps): update dependency sqlite to v5
  • fix(deps): update dependency typescript to v5
  • 🔐 Create all rate-limited PRs at once 🔐

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

docker-compose
.devcontainer/docker-compose.yml
dockerfile
.devcontainer/Dockerfile
  • mcr.microsoft.com/vscode/devcontainers/javascript-node 0-16-bullseye
experiments/binary-packages/Dockerfile
  • node 18.11.0
github-actions
.github/workflows/action-install.yml
  • actions/checkout v3
  • actions/setup-node v3.4.1
.github/workflows/workflow-build-project.yml
  • actions/checkout v3
  • actions/setup-node v3.4.1
npm
experiments/binary-packages/package.json
  • bcrypt ^5.0.1
  • consola ^2.15.3
  • fastify ^3.25.3
  • input ^1.0.1
  • mongoose ^6.1.5
  • realm ^10.11.0
  • sqlite ^4.0.23
  • sqlite3 ^5.0.2
  • @ava/typescript 3.0.1
  • @types/archiver 5.3.1
  • @types/bcrypt 5.0.0
  • @types/prettier 2.6.4
  • @vercel/ncc 0.33.4
  • archiver 5.3.1
  • ava 4.3.3
  • caxa 2.1.0
  • electron 16.2.8
  • electron-builder 23.6.0
  • esbuild 0.14.51
  • execa 6.1.0
  • node-gyp 9.2.0
  • ora 6.1.2
  • pkg 5.5.1
  • prebuild-install 7.1.1
  • prebuildify 5.0.0
  • prettier 2.7.1
  • ts-node-dev 1.1.8
  • yarn 3.1.1
package.json
  • @changesets/changelog-git 0.1.12
  • @changesets/changelog-github 0.4.6
  • @changesets/cli 2.24.1
  • @commitlint/cli 17.0.3
  • @commitlint/config-conventional 17.0.3
  • @typescript-eslint/eslint-plugin 5.31.0
  • @typescript-eslint/parser 5.31.0
  • ava 4.3.3
  • eslint 8.23.1
  • esm 3.2.25
  • husky 8.0.1
  • is-ci 3.0.1
  • jshint 2.13.5
  • lint-staged 13.0.3
  • tsx 3.8.0
  • typescript 4.8.0-dev.20220729
  • node >=14.0.0
  • node 18.3.0
  • yarn 1.22.19
packages/prettier-config/package.json
  • prettier ^2.7.1
  • prettier-plugin-packagejson 2.2.18
  • prettier-plugin-prisma 4.1.0
  • prettier-plugin-properties 0.1.0
  • prettier-plugin-sh 0.12.8
packages/tsconfig/package.json
  • typescript 4.8.0-dev.20220729
runtimes/node/application/package.json
  • @tinyhttp/app ^2.0.22
runtimes/node/compile-with-tsup/package.json
  • eslint 8.23.1
  • rimraf 3.0.2
  • tsup 6.2.1
  • tsx 3.8.0

  • Check this box to trigger a request for Renovate to run again on this repository

Progression of repository

@vercel/pkg

One of the most popular tools for building binary releases of node application, sadly there I'm stuck issue (#3) which holds whole progress of repository, by this case I've decided to look at alternatives.

node-packer

Doesn’t work with the latest versions of node additionally documentation is messy, the last release on GitHub is from about 2017 so I would not bet on this package.

Package Issue: [email protected] at ncc build

Quite a lot of projects are actually using realm as local database, that would be useful to check integrity with current build tools.

Error: Cannot find module './submit-analytics'
Require stack:
- /Users/jay/Desktop/01_Source/typecraft/dist/ncc/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
    at Function.Module._load (internal/modules/cjs/loader.js:667:27)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Realm (/Users/jay/Desktop/01_Source/typecraft/dist/webpack:/build-the-typescript/node_modules/realm/lib/index.js:22:1)
    at Object.call (/Users/jay/Desktop/01_Source/typecraft/dist/webpack:/build-the-typescript/node_modules/realm/lib/index.js:34:1)
    at __webpack_require__ (/Users/jay/Desktop/01_Source/typecraft/dist/webpack:/build-the-typescript/webpack/bootstrap:21:1)
    at Object.call (/Users/jay/Desktop/01_Source/typecraft/dist/webpack:/build-the-typescript/src/index.ts:9:1)
    at __webpack_require__ (/Users/jay/Desktop/01_Source/typecraft/dist/webpack:/build-the-typescript/webpack/bootstrap:21:1)
    at /Users/jay/Desktop/01_Source/typecraft/dist/webpack:/build-the-typescript/webpack/startup:4:1

Similar problem was touched on realm-js repository:

pkg doesn’t bundle native .node modules

My idea to build TypeScript was to use pkg on files emitted by tsc. Sadly, pkg have trouble with including node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node into bundle for MacOS (Windows either). If I will not find solution for this problem or alternative way to do similar thing we’ll be supposed to wait another 1.5 years and check progress on Node.js ecosystem.

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.