Browse Source

Merge pull request #21 from Ultimaker/NP-637

NP-637
pull/22/head
Jelle Spijker 1 year ago committed by GitHub
parent
commit
c1691915c8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 43
      extensions/generators/npm.py
  2. 2
      profiles/cura_wasm.jinja

43
extensions/generators/npm.py

@ -1,8 +1,8 @@
import os
import json import json
from conan import ConanFile from conan import ConanFile
from conan.errors import ConanException from conan.tools.files import copy, mkdir, save
from conan.tools.files import copy, save
from pathlib import Path from pathlib import Path
@ -13,18 +13,27 @@ class npm:
def generate(self): def generate(self):
if self._conanfile.settings.os != "Emscripten": if self._conanfile.settings.os != "Emscripten":
self._conanfile.output.error("Can only deploy to NPM when build for Emscripten") self._conanfile.output.error("Can only deploy to NPM when build for Emscripten")
raise ConanException("Can only deploy to NPM when build for Emscripten") return
root_package = [dep for dep in self._conanfile.dependencies.direct_host.values()][0] if self._conanfile.display_name == "cli": # We're installing a CLI package from the conan local cache
root_package = [dep for dep in self._conanfile.dependencies.direct_host.values()][0]
# Copy the *.js and *.d.ts src_folder = root_package.package_folder
copy(self._conanfile, "*.js", src=root_package.package_folder, dst=self._conanfile.generators_folder) conf_info = root_package.conf_info
copy(self._conanfile, "*.d.ts", src=root_package.package_folder, dst=self._conanfile.generators_folder) name = root_package.ref.name
# Create the package.json # Copy the *.js and *.d.ts
save(self._conanfile, str(Path(self._conanfile.generators_folder, "package.json")), copy(self._conanfile, "*.js", src=src_folder, dst=self._conanfile.generators_folder)
json.dumps(root_package.conf_info.get(f"user.{root_package.ref.name.lower()}:package_json"))) copy(self._conanfile, "*.d.ts", src=src_folder, dst=self._conanfile.generators_folder)
# Create the .npmrc file # Create the package.json
save(self._conanfile, str(Path(self._conanfile.generators_folder, ".npmrc")), save(self._conanfile, str(Path(self._conanfile.generators_folder, "package.json")),
"//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}\n@ultimaker:registry=https://npm.pkg.github.com\nalways-auth=true") json.dumps(conf_info.get(f"user.{name.lower()}:package_json")))
# Create the .npmrc file
save(self._conanfile, str(Path(self._conanfile.generators_folder, ".npmrc")),
"//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}\n@ultimaker:registry=https://npm.pkg.github.com\nalways-auth=true")
else: # We're generating a package for a development environment
package_json = self._conanfile.python_requires["npmpackage"].module.generate_package_json(self._conanfile,
os.path.join(self._conanfile.cpp.build.bindirs[0], self._conanfile.cpp.build.bin[0]))
save(self._conanfile, str(Path(self._conanfile.build_folder, "package.json")),
json.dumps(package_json))

2
profiles/cura_wasm.jinja

@ -11,7 +11,7 @@ arch=wasm
[conf] [conf]
tools.build:skip_test=True tools.build:skip_test=True
tools.cmake.cmake_layout:build_folder_vars=['settings.os'] tools.cmake.cmake_layout:build_folder_vars=['settings.os']
user.curator:printers=['ultimaker_sketch','ultimaker_sketch_large','ultimaker_sketch_sprint','ultimaker_method'] user.curator:printers=['ultimaker_sketch','ultimaker_sketch_large','ultimaker_sketch_sprint','ultimaker_method','ultimaker_methodx','ultimaker_methodxl', 'ultimaker_s3']
[options] [options]
curaengine/*:enable_plugins=False curaengine/*:enable_plugins=False

Loading…
Cancel
Save